Nevu UI is a GUI library for easily creating interfaces in Python, which provides a set of ready-made, customizable components and convenient tools for creating interfaces in games and applications.
Key features:
- Layouts: Containers that automatically position elements inside themselves, for example
Grid,ScrollableColumn. - Widgets: Ready-made graphical elements, for example
Button,Label,Input. - Styling: Customization of the widgets' appearance via
Styleto suit your needs. - Animations: Support for animations via
AnimationManager. - Different UI creation modes Support for declarative and imperative creation, with the ability to combine them.
- Multiple backends: Support for
RaylibandPygame - Easy integration: Ability to embed
nevu-uiinto an existing game or application usingInitializedWindow.
Example: Button in a 3x3 Grid
Declarative approach
import pygame
# Import nevu-ui
import nevu_ui as ui
pygame.init()
window = ui.Window(size = (400, 300), title = "Nevu-UI application")
# Create a style with some visual parameters
style = ui.Style(border_radius = 20, colortheme = ui.ColorThemeLibrary.material3_dark)
# Create the main menu
menu = ui.Menu(window, size = ui.fill_all, style = style,
# Create a 3x3 grid
main_layout = ui.Grid(
{
(2, 2): ui.Button( # Create a button in cell 2, 2 (counting from 1)
text = "Click me!",
function = lambda: print("You clicked!"),
size = (50 % ui.fill, 20 % ui.fill),
style = style
)
},
size = ui.fill_all,
row = 3,
column = 3
)
)
if __name__ == "__main__":
app = ui.Manager(window, [menu])
app.run() # Run the main loop
Imperative approach
import pygame
# Import nevu-ui
import nevu_ui as ui
pygame.init()
# Create the main application window
window = ui.Window(size = (400, 300), title = "Nevu-UI application")
# Create a style with some visual parameters
style = ui.Style(
border_radius = 20,
colortheme = ui.ColorThemeLibrary.material3_dark
)
# Create the initial container
menu = ui.Menu(window, size = (100 % ui.vw, 100 % ui.vh), style = style)
# Create a 3x3 grid
grid = ui.Grid(size = ui.fill_all, row = 3, column = 3)
button = ui.Button(
text = "Click me!",
function = lambda: print("You clicked!"),
size = (50 % ui.fill, 20 % ui.fill),
style = style
)
# Add the widget to the cell at coordinates 2, 2 (counting from 1)
grid.add_item(button, x = 2, y = 2)
# Pass the grid to the menu
menu.main_layout = grid
if __name__ == "__main__":
while True:
events = pygame.event.get()
# Update the window
window.update(events)
# Update and draw the menu
menu.update()
menu.draw()
pygame.display.update()
Example Result:
Declarativeness
- Interface creation:
# The layout's content can be specified directly when creating it my_grid = Grid({(1, 1): Button(...)}, ...)
# The layout can be specified right when creating the menu menu_1 = Menu(..., main_layout = my_grid)
# You can set up the draw loop in 2 lines app = Manager(window, [menu_1]) app.run()
- Size system: Allows using relative values to specify an object's initial height/width instead of pixels.
Usage example:
from nevu_ui import vw, fill Widget(size = (30*vw, 50*fill))
you can also use%from nevu_ui import vw, fill Widget(size = (30%vw, 50%fill))
Types of sizes:vh/vw: Percentage of the window's height/width.fillx/filly/fill: Percentage of the parent layout's height/width/size.gc/gcw/gch: Percentage of the grid cell's size.- Prefix
c: can be placed at the start of any value exceptauto(for example,cvh); it means the current size of the window/layout will be used, while without the prefix the original size is used. auto: automatic sizing based on content.
Animations:
25+ different animations
- 2 animation modes:
- Start: runs once after the animation has loaded.
widget.animation_manager.add_start_animation(...) - Continuous: runs infinitely and in a loop.
widget.animation_manager.add_continuous_animation(...)
- Start: runs once after the animation has loaded.
- 4 kinds of animations:
Vector2Animation: a vector animation
Example: from (0, 0) to (10, 10)FloatAnimation: a numeric animation
Example: from 10 to 5.5ColorAnimation: a color animation
Example: from (255, 255, 200) to (0, 0, 0)QueueAnimation: a compound animation
Example: from animation1 to animation2, and from animation2 to animation3
Dependencies:
Python >= 3.12
- For Building:
setuptoolsCythonnumpy
- For Running:
numpy
- Additional libraries:
pygame-ceraylibpyyaml
Installation via pip
pip install nevu-ui[all]
List of available elements
Layouts
GridRowColumnScrollableRowScrollableColumnColorPickerStackColumnStackRowCheckBoxGroup
Widgets
WidgetButtonLabelInputEmptyWidgetTooltipProgressBarSliderBarElementSwitcherRectCheckBoxSwitch
Available Backends
Pygame-ceSdl(Pygame-ce._sdl2)RayLib
Backend Exclusives
Ripple effect on click— Raylib exclusive
Nevu UI is distributed under the MIT license
Nevu UI may contain bugs, as it is still in beta version.
If you find a bug, please report it in Issues
Gmail: bebrovgolem@gmail.com
Creator: GolemBebrov / ГолемБебров
Release files for nevu-ui 0.8.6.post1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| nevu_ui-0.8.6.post1-cp315-cp315t-win_amd64.whl | CPython 3.15 | CPython 3.15 free-threading | Windows x86-64 | Details |
| nevu_ui-0.8.6.post1-cp315-cp315t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl | CPython 3.15 | CPython 3.15 free-threading | Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 | Details |
| nevu_ui-0.8.6.post1-cp315-cp315-win_amd64.whl | CPython 3.15 | CPython 3.15 | Windows x86-64 | Details |
| nevu_ui-0.8.6.post1-cp315-cp315-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl | CPython 3.15 | CPython 3.15 | Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 | Details |
| nevu_ui-0.8.6.post1-cp314-cp314t-win_amd64.whl | CPython 3.14 | CPython 3.14 free-threading | Windows x86-64 | Details |
| nevu_ui-0.8.6.post1-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl | CPython 3.14 | CPython 3.14 free-threading | Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 | Details |
| nevu_ui-0.8.6.post1-cp314-cp314-win_amd64.whl | CPython 3.14 | CPython 3.14 | Windows x86-64 | Details |
| nevu_ui-0.8.6.post1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl | CPython 3.14 | CPython 3.14 | Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 | Details |
| nevu_ui-0.8.6.post1-cp313-cp313-win_amd64.whl | CPython 3.13 | CPython 3.13 | Windows x86-64 | Details |
| nevu_ui-0.8.6.post1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl | CPython 3.13 | CPython 3.13 | Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 | Details |
| nevu_ui-0.8.6.post1-cp312-cp312-win_amd64.whl | CPython 3.12 | CPython 3.12 | Windows x86-64 | Details |
| nevu_ui-0.8.6.post1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl | CPython 3.12 | CPython 3.12 | Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 | Details |
Total release size: 63.2 MB
Release files / nevu_ui-0.8.6.post1-cp315-cp315t-win_amd64.whl
| Download URL | nevu_ui-0.8.6.post1-cp315-cp315t-win_amd64.whl |
|---|---|
| Size | 2.3 MB |
| Tags | CPython 3.15 CPython 3.15 free-threading Windows x86-64 |
|
SHA-256 checksum How to use checksums |
07ad789fe640b5603344636911fbdcaac815ce2eddc1405038ac793948eb7c8b
|
|
BLAKE2b-256 checksum How to use checksums |
818007fdf97f6c6fde4832e9cff636b117af72a402c5d720d363ba04119ed06c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.
Transparency logRelease files / nevu_ui-0.8.6.post1-cp315-cp315t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | nevu_ui-0.8.6.post1-cp315-cp315t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 8.5 MB |
| Tags | CPython 3.15 CPython 3.15 free-threading Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
e10bf3ddde2e1b219cdf6805f61457ad34102281257d243f7aaa4013d27d6de0
|
|
BLAKE2b-256 checksum How to use checksums |
9823639ffcfd5902b59f92f4a4788331ea79c4f8533bfa97af01f2f48b577648
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.
Transparency logRelease files / nevu_ui-0.8.6.post1-cp315-cp315-win_amd64.whl
| Download URL | nevu_ui-0.8.6.post1-cp315-cp315-win_amd64.whl |
|---|---|
| Size | 2.2 MB |
| Tags | CPython 3.15 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
fbc5794b210f471193b6c0fd540141449b3b7bf31f6d62472b6aca3e46602fb5
|
|
BLAKE2b-256 checksum How to use checksums |
45f9eb0ca49bd902807886f8c281c04cb48bb159b42e7f8da8877cb737f23dec
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.
Transparency logRelease files / nevu_ui-0.8.6.post1-cp315-cp315-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | nevu_ui-0.8.6.post1-cp315-cp315-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 8.2 MB |
| Tags | CPython 3.15 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
e8c9ff5e5111d9550ddadd0952ea7973b4ea365d4176a2258d8e7e61b379fd9b
|
|
BLAKE2b-256 checksum How to use checksums |
3465d22101f885d1e4c2dfd620c248386f3462e6c6be003aa47a6a4a063d47d2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.
Transparency logRelease files / nevu_ui-0.8.6.post1-cp314-cp314t-win_amd64.whl
| Download URL | nevu_ui-0.8.6.post1-cp314-cp314t-win_amd64.whl |
|---|---|
| Size | 2.3 MB |
| Tags | CPython 3.14 CPython 3.14 free-threading Windows x86-64 |
|
SHA-256 checksum How to use checksums |
6f706c4e69336f2d1a01d5d86862c210f0d32c694772ddda8d87328601fd0ad3
|
|
BLAKE2b-256 checksum How to use checksums |
d5c1a4947cd6af51d17e7bd706da0e64fcf52693aa221a128f7fa82c9940b020
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.
Transparency logRelease files / nevu_ui-0.8.6.post1-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | nevu_ui-0.8.6.post1-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 8.5 MB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
506890bd41f53d220a35e7cf04638bf4c014d8a307c4d00ceae7e9ce5aa9af6d
|
|
BLAKE2b-256 checksum How to use checksums |
10fae502ba4c57f6dfff5ce5002ba40151bb49d4a31e8c5b5299b17dfb169d05
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.
Transparency logRelease files / nevu_ui-0.8.6.post1-cp314-cp314-win_amd64.whl
| Download URL | nevu_ui-0.8.6.post1-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 2.2 MB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
65936fa456118b93ab3b5ec533b4f2ebe4898eebc2a96a65ef8a39c12aa3fca1
|
|
BLAKE2b-256 checksum How to use checksums |
fc070ba00ed7196729e5df77325fd7f7fb84f09b172099a3201102aaa015661d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.
Transparency logRelease files / nevu_ui-0.8.6.post1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | nevu_ui-0.8.6.post1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 8.2 MB |
| Tags | CPython 3.14 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
6096045c3893bdbe6779a074ada7fbca8ae3cbe513113831118f331d58c81612
|
|
BLAKE2b-256 checksum How to use checksums |
cbee932cecad578cf101f9ba89009bc6972757d84d28e67a50a2eb092918ee90
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.
Transparency logRelease files / nevu_ui-0.8.6.post1-cp313-cp313-win_amd64.whl
| Download URL | nevu_ui-0.8.6.post1-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 2.1 MB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
b288ba3139a6b41da0de1524e74482758dfd5636192c1dc8f3c34d5ce3360772
|
|
BLAKE2b-256 checksum How to use checksums |
88b6c5e8d104509b6dbe1c3d5cc631f7f005456169f5fb78be693528298c30e1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.
Transparency logRelease files / nevu_ui-0.8.6.post1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | nevu_ui-0.8.6.post1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 8.3 MB |
| Tags | CPython 3.13 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
4010e92c800d36e78ef47939833e7bdb82a23c6760f127188508dc2f35c79d79
|
|
BLAKE2b-256 checksum How to use checksums |
48d200f4ad2cb52b88f793915c98159d3084a543611344430683e6aa92086cf4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.
Transparency logRelease files / nevu_ui-0.8.6.post1-cp312-cp312-win_amd64.whl
| Download URL | nevu_ui-0.8.6.post1-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 2.1 MB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
91bcbe598f3c4ce24c044a8167f0316d37f5432843601b941beea3095363cfa9
|
|
BLAKE2b-256 checksum How to use checksums |
2cff232296ea1718f4836c727f878529417f605f4e749ecd01be9093d67610f4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.
Transparency logRelease files / nevu_ui-0.8.6.post1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | nevu_ui-0.8.6.post1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 8.3 MB |
| Tags | CPython 3.12 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
8d086b74ec99f09c6cf4be494f5f19b0a200c3211840fa3a935a83253089cc00
|
|
BLAKE2b-256 checksum How to use checksums |
d3bd4915cdacd9abfa097fd64fcb96e6e849597c455221795e4d829498ebf044
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.
Transparency log