Skip to main content

Nevu UI Intro Banner

alt text

Wiki link (BETA!)

Nevu UI means: Nevu is Eleven times better Versus other UI's User Interface

Brief Description

Nevu UI is a library for simply creating GUIs in Python. Nevu UI aims to provide a set of ready-made, easily customizable components for creating interfaces in games and applications.

Key features:

  • Layouts: Various container options that automatically position elements inside themselves, for example Grid, ScrollableColumn, etc.
  • Widgets: Ready-to-use elements such as buttons, input fields, and labels.
  • Customization: Support for appearance customization via Style, lots of customization options inside Style.
  • Animations: Built-in support for animations via AnimationManager.
  • Declarativeness: Support for declarative interface creation.

Style banner


Style - storage of parameters for appearance customization

  • gradient
    • Gradient is supported in all backends, and there are 2 types of gradient: linear and radial.
  • color_theme
    • Analogous to MaterialDesign, responsible for the visual component of the widget and menu. You can choose from 10+ ready-made themes or create your own theme.
  • font_name/font_size
    • Controls the font size on widgets that contain it.
  • border_width/bw
    • Allows changing the border size.
  • border_radius/br
    • Allows changing the border corner radius.

and so on...


Style banner


Declarativeness and its examples in Nevu UI

  • Declarative approach: Describe your interface declaratively.
    # Specify content directly when creating the layout
    my_grid = Grid(..., content={(1,1): Button(...)})
    
  • Adaptive size system - SizeRules: Allows using relative values to specify the initial height/width of an object instead of pixels. Example of using SizeRule:
    Widget(size = (30*vw, 50*fill))
    
    or you can use %
    Widget(size = (30%vw, 50%fill))
    
    • 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 size.
    • Prefix c: can be placed in any SizeRule, it means that the current value will be taken; without the prefix, the original value will be taken.

Built-in animations:

  • 25+ built-in animations
  • Nevu UI has Two types of animations:
    • Start.
    • Continuous.
  • Usage example:
    • Start: widget.animation_manager.add_start_animation(...)
    • Continuous: widget.animation_manager.add_continuous_animation(...)

Parameter system - ParamEngine:

  • ParamEngine is a tool built into all layouts and widgets, it allows you to:
    • Add variables to the object's __init__.
    • Check parameter type during initialization and after.
    • Integrate a parameter into different stages of initialization.
    • Set custom setter and getter.
  • Examples:
    import nevu_ui as ui
    from typing import Unpack, NotRequired
    
    # Create a TypedDict with variables (optional, but looks nice)
    class MyWidgetKwargs(ui.WidgetKwargs):
        my_var: NotRequired[int | float]
    
    class MyWidget(ui.Widget):
        def __init__(self, size: NvVector2 | list, style: Style = default_style, **param_kwargs: Unpack[MyWidgetKwargs]):
            super().__init__(size, style, **param_kwargs)
    
        # Override the function to add parameters (mandatory)
        def _add_params(self):
            super()._add_params()
    
            # Add a parameter (mandatory)
            self._add_param('my_var', int | float)
    
            # You can also add a link to a parameter
            # self._add_param_link('my_var', 'my_var_new_name')
    
            # You can also block a parameter if necessary
            # self._block_param('my_var')
    

Style banner


Dependencies:

Python >= 3.12.*

  • For Building:
    • setuptools >= 61.0
    • Cython
    • numpy
  • For Running:
    • numpy
  • Additional libraries:
    • pygame-ce>=2.3.0
    • raylib
    • pyyaml

Installation via pip

pip install nevu-ui[all]

Style banner


Example1

Example2

Example3


Basic Grid

Declarative Approach

import nevu_ui as ui # Import Nevu UI
import pygame

pygame.init()

class MyGame(ui.Manager): # Create the base of our application
    def __init__(self):
        super().__init__(ui.Window((400, 300), title = "My Game")) # Initialize the manager
        style = ui.Style(borderradius=20, colortheme=ui.ColorThemeLibrary.material3_dark) # Create Style (optional)
        self.menu = ui.Menu(self.window, [100%ui.vw, 100%ui.vh], style = style, # Create a menu
                            layout= ui.Grid([100%ui.vw, 100%ui.vh], row=3, column=3, # Create a grid layout
                                            content = {
                                                (2, 2): ui.Button(lambda: print("You clicked!"), "BUTTON!", [50%ui.fill, 50%ui.gc], style=style) # Create a button
                                            }
                                            )
                            )
    def on_draw(self):
        self.menu.draw() # Draw the menu
    def on_update(self, events):
        self.menu.update() # Update the menu

game = MyGame()
game.run() # Run the finished application

Imperative Approach

import nevu_ui as ui # Import Nevu UI
import pygame

pygame.init()

window = ui.Window((400, 300), title = "My Game") # Create a window

style = ui.Style(borderradius=20, colortheme=ui.ColorThemeLibrary.material3_dark) # Create Style
menu = ui.Menu(window, [100%ui.vw, 100%ui.vh], style=style) # Create a menu
layout = ui.Grid([100%ui.vw, 100%ui.vh], row=3, column=3) # Create a grid layout
layout.add_item(ui.Button(lambda: print("You clicked!"), "BUTTON!", [50%ui.fill, 50%ui.gc], style=style), x = 2, y = 2) # Create a button

menu.layout = layout # Set the menu layout

while True: # Main loop
    events = pygame.event.get() # Get events
    window.update(events) # Update the window
    menu.update() # Update the menu
    menu.draw() # Draw the menu
    pygame.display.update() # Update the screen

Example Result

Example1


Style banner


Current status of Nevu UI.

Layouts (Inheritors of Layout_Type)

(✅ — done, ❌ — not done, 💾 — deprecated/not working)

  • Grid
  • Row
  • Column
  • ScrollableRow
  • ScrollableColumn
  • ColorPicker
  • 💾 Pages
  • 💾 Gallery_Pages
  • StackColumn
  • StackRow
  • CheckBoxGroup
  • Panel

Widgets (Inheritors of Widget)

  • Widget
  • Button
  • Label
  • Input
  • EmptyWidget
  • Tooltip
  • 💾 Gif
  • MusicPlayer (Will be reworked, hopefully)
  • ProgressBar
  • SliderBar
  • ElementSwitcher
  • 💾 FileDialog
  • RectCheckBox
  • Switch

Available Backends

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

Backend Exclusives

  • Ripple effectRaylib exclusive
  • Customizable center and angle of the gradientRaylib exclusive
  • TooltipPygame exclusive

Style banner


Nevu UI is protected by the MIT license


Style banner


Nevu UI is NOT a stable framework, you may encounter many bugs in it.

If you find a bug, please report it in the Issues section


Style banner


Gmail: bebrovgolem@gmail.com

Creator: Nikita A.

Release files for nevu-ui 0.8.6

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
File
nevu_ui-0.8.6-cp315-cp315t-win_amd64.whl CPython 3.15 CPython 3.15 free-threading Windows x86-64 Details
nevu_ui-0.8.6-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-cp315-cp315-win_amd64.whl CPython 3.15 CPython 3.15 Windows x86-64 Details
nevu_ui-0.8.6-cp315-cp315-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.15 CPython 3.15 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details
nevu_ui-0.8.6-cp314-cp314t-win_amd64.whl CPython 3.14 CPython 3.14 free-threading Windows x86-64 Details
nevu_ui-0.8.6-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-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
nevu_ui-0.8.6-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details
nevu_ui-0.8.6-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
nevu_ui-0.8.6-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details
nevu_ui-0.8.6-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
nevu_ui-0.8.6-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-cp315-cp315t-win_amd64.whl

Download URL nevu_ui-0.8.6-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
0b28676a5e84565d79c1d83f85959f9830acb25d1419f5d646bce2918ffa1ed4
BLAKE2b-256 checksum
How to use checksums
1a3333838e34cf4e89ffe3f7da0be83320e61650281e6e1d083dc5e3132aa245
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-cp315-cp315t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL nevu_ui-0.8.6-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
f6a19e6f229edaab42fd455436ad303df084861c9489b70a71d86edd75612c62
BLAKE2b-256 checksum
How to use checksums
a226bc56158842b5027bcc2e41010197b077449270569e04381edaf154759008
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-cp315-cp315-win_amd64.whl

Download URL nevu_ui-0.8.6-cp315-cp315-win_amd64.whl
Size 2.2 MB
Tags CPython 3.15 Windows x86-64
SHA-256 checksum
How to use checksums
b55b3dd9d8c1714df54ebeab6068ef68c871313df2490604329246b4be450cc4
BLAKE2b-256 checksum
How to use checksums
e337ea8b8746641e13f2a4f72e8bea1c93ff7e54b6c1933b689ed3904c7f6e03
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-cp315-cp315-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL nevu_ui-0.8.6-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
a343167841bb4153366a555a22aedeb50501b03d23fd9b2eac69d81f9e73e1a2
BLAKE2b-256 checksum
How to use checksums
73d258e0e7153a31aed94571cf4a07d1311c1cd5fc3a2633874b514d7e31db4e
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-cp314-cp314t-win_amd64.whl

Download URL nevu_ui-0.8.6-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
4f0073ad83e86f94a2b5c67d560ee8ae58e6ff62687afcee5119b4580b36246d
BLAKE2b-256 checksum
How to use checksums
8302e0b4bb61119169b2273da37ec0e81b95666c274260f399931063375d66b7
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-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL nevu_ui-0.8.6-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
7fa581452b8a12beb22d10efdf43943deb9083a2ed018cdb0af595bf2018668f
BLAKE2b-256 checksum
How to use checksums
adea1b908af10e99fd665e47dcb6bd19b11f5ab59ee279975711e9949c30ec6f
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-cp314-cp314-win_amd64.whl

Download URL nevu_ui-0.8.6-cp314-cp314-win_amd64.whl
Size 2.2 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
96571a536263e560085f9b38217974d16298481764d201513a5f275547cb9d23
BLAKE2b-256 checksum
How to use checksums
86a230a4dacecb43d5a8b5b5c29e48937ccad1f0d8a8e46b022718e975422fe2
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-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL nevu_ui-0.8.6-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
08bddadc7793b328698175b273c48d7388accc72e9cc6df40f8649e20b232df8
BLAKE2b-256 checksum
How to use checksums
923e77e5ae6c2d3636701988723b5f04c0c52df19e22022280da20b634d0eb93
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-cp313-cp313-win_amd64.whl

Download URL nevu_ui-0.8.6-cp313-cp313-win_amd64.whl
Size 2.1 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
2c25ac9d3a0ebedb67c491d6d856eb862ffae78bab7396809e52cf1466d496bc
BLAKE2b-256 checksum
How to use checksums
fbbc864bc672dcd9fd1985bd4d275162033f2b5b5ef305f01264601aa2174f3d
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-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL nevu_ui-0.8.6-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
33e06133bdb693d45c82149bbd4219ecfffeb0b608043cc7c7c0c8027e01ac74
BLAKE2b-256 checksum
How to use checksums
f1dd0374c1917c23b6763d81c16aafe78544b290740a6a8f626731dc114efe70
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-cp312-cp312-win_amd64.whl

Download URL nevu_ui-0.8.6-cp312-cp312-win_amd64.whl
Size 2.1 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
67c62d5e668c3165014b50b1ed2e86292e71abdfebf218766ee9201c6b0df76d
BLAKE2b-256 checksum
How to use checksums
4d0ac67725f84f6819d84f8cacbec4afc6bb49bafc6d9e85b220bfd211f98af9
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-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL nevu_ui-0.8.6-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
de91ade5009e603c16673d2e04d64041f75c58da8831f6155cd7630857658088
BLAKE2b-256 checksum
How to use checksums
dca4e174807c93c2b12ee35962d3bcf4cf08745117942d33a08d379e51223cf4
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 This release

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