Skip to main content

Nevu UI Intro Banner

alt text

Nevu-UI Documentation

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 Style to 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 Raylib and Pygame
  • Easy integration: Ability to embed nevu-ui into an existing game or application using InitializedWindow.


Style banner


Example1


Example2


Example3


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:

Example1


Style banner


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 except auto (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(...)
  • 4 kinds of animations:
    1. Vector2Animation: a vector animation
      Example: from (0, 0) to (10, 10)
    2. FloatAnimation: a numeric animation
      Example: from 10 to 5.5
    3. ColorAnimation: a color animation
      Example: from (255, 255, 200) to (0, 0, 0)
    4. QueueAnimation: a compound animation
      Example: from animation1 to animation2, and from animation2 to animation3

Style banner


Dependencies:

Python >= 3.12

  • For Building:
    • setuptools
    • Cython
    • numpy
  • For Running:
    • numpy
  • Additional libraries:
    • pygame-ce
    • raylib
    • pyyaml

Installation via pip

pip install nevu-ui[all]

Style banner


List of available elements

Layouts

  • Grid
  • Row
  • Column
  • ScrollableRow
  • ScrollableColumn
  • ColorPicker
  • StackColumn
  • StackRow
  • CheckBoxGroup

Widgets

  • Widget
  • Button
  • Label
  • Input
  • EmptyWidget
  • Tooltip
  • ProgressBar
  • SliderBar
  • ElementSwitcher
  • RectCheckBox
  • Switch

Available Backends

  • Pygame-ce
  • Sdl(Pygame-ce._sdl2)
  • RayLib

Backend Exclusives

  • Ripple effect on clickRaylib exclusive

Style banner


Nevu UI is distributed under the MIT license


Style banner


Nevu UI may contain bugs, as it is still in beta version.

If you find a bug, please report it in Issues


Style banner


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)

Table of built distributions (wheels) for nevu-ui 0.8.6.post1
File
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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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

Release history Release notifications | RSS feed

This release

0.8.6.post1 This release

12 release files

0.8.6

12 release files

0.8.5

12 release files

0.8.4

18 release files

0.8.3

12 release files

0.7.6

12 release files

0.7.5

12 release files

0.7.4

12 release files

0.7.3

12 release files

0.7.2

12 release files

0.7.1

12 release files

0.7.0

12 release files

0.6.7

12 release files

0.6.6

12 release files

0.6.4

20 release files

0.6.3

20 release files

0.6.2

20 release files

0.5.8

20 release files

0.5.7

20 release files

0.5.6

20 release files

0.5.5

20 release files

0.5.4

20 release files

0.5.3

20 release files

0.5.2

20 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page