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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

nevu_ui-0.8.5-cp315-cp315t-win_amd64.whl (3.5 MB view details)

Uploaded CPython 3.15tWindows x86-64

nevu_ui-0.8.5-cp315-cp315t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (9.6 MB view details)

Uploaded CPython 3.15tmanylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

nevu_ui-0.8.5-cp315-cp315-win_amd64.whl (3.4 MB view details)

Uploaded CPython 3.15Windows x86-64

nevu_ui-0.8.5-cp315-cp315-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (9.3 MB view details)

Uploaded CPython 3.15manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

nevu_ui-0.8.5-cp314-cp314t-win_amd64.whl (3.5 MB view details)

Uploaded CPython 3.14tWindows x86-64

nevu_ui-0.8.5-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (9.5 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

nevu_ui-0.8.5-cp314-cp314-win_amd64.whl (3.4 MB view details)

Uploaded CPython 3.14Windows x86-64

nevu_ui-0.8.5-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (9.3 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

nevu_ui-0.8.5-cp313-cp313-win_amd64.whl (3.4 MB view details)

Uploaded CPython 3.13Windows x86-64

nevu_ui-0.8.5-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (9.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

nevu_ui-0.8.5-cp312-cp312-win_amd64.whl (3.4 MB view details)

Uploaded CPython 3.12Windows x86-64

nevu_ui-0.8.5-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (9.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

File details

Details for the file nevu_ui-0.8.5-cp315-cp315t-win_amd64.whl.

File metadata

  • Download URL: nevu_ui-0.8.5-cp315-cp315t-win_amd64.whl
  • Upload date:
  • Size: 3.5 MB
  • Tags: CPython 3.15t, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for nevu_ui-0.8.5-cp315-cp315t-win_amd64.whl
Algorithm Hash digest
SHA256 f45ec88471d99c599252b012a87f2121142b33f19eeddddf6c04e87ad9c86530
MD5 19ce94b5b891201dd8af68bee6d64524
BLAKE2b-256 4a57a946d12f657ab0d997f7b424d32c4af61bc49e824526072fb32cc130037f

See more details on using hashes here.

Provenance

The following attestation bundles were made for nevu_ui-0.8.5-cp315-cp315t-win_amd64.whl:

Publisher: build_wheels.yml on GolemBebrov/nevu-ui

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nevu_ui-0.8.5-cp315-cp315t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for nevu_ui-0.8.5-cp315-cp315t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0dc4fbd1b7b3ba3b5b14e77d8e49db80e7bbde147747e4b5879e0a7cd257f280
MD5 77282a0160c17aba85938d9b099fee1d
BLAKE2b-256 7fd12e3639e5b869dce0a1925a40ef9276a3fb7416ed92ada81414f2746fddb1

See more details on using hashes here.

Provenance

The following attestation bundles were made for nevu_ui-0.8.5-cp315-cp315t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build_wheels.yml on GolemBebrov/nevu-ui

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nevu_ui-0.8.5-cp315-cp315-win_amd64.whl.

File metadata

  • Download URL: nevu_ui-0.8.5-cp315-cp315-win_amd64.whl
  • Upload date:
  • Size: 3.4 MB
  • Tags: CPython 3.15, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for nevu_ui-0.8.5-cp315-cp315-win_amd64.whl
Algorithm Hash digest
SHA256 ed2b5684bce3a1d3448926f2112057dbf7293f4857a53aa593e9867b939934dc
MD5 a59d90a90524f785c1008468376d409d
BLAKE2b-256 7cdf53c520dc28f0bea5564d6d3bfbd9dbc769b0bfbe0f6c74925fb62aa40d29

See more details on using hashes here.

Provenance

The following attestation bundles were made for nevu_ui-0.8.5-cp315-cp315-win_amd64.whl:

Publisher: build_wheels.yml on GolemBebrov/nevu-ui

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nevu_ui-0.8.5-cp315-cp315-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for nevu_ui-0.8.5-cp315-cp315-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6f71ffd02adc6c8c7919bfc9dfb0ec2dedf4286c4ca9c6d8faa330545cc839c2
MD5 28bf114eb79aa24d02bdec47323d37a2
BLAKE2b-256 7e5ecc610eada0e779f13acd857046d49b95e5cacca2752ac8f62c53e538ddbf

See more details on using hashes here.

Provenance

The following attestation bundles were made for nevu_ui-0.8.5-cp315-cp315-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build_wheels.yml on GolemBebrov/nevu-ui

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nevu_ui-0.8.5-cp314-cp314t-win_amd64.whl.

File metadata

  • Download URL: nevu_ui-0.8.5-cp314-cp314t-win_amd64.whl
  • Upload date:
  • Size: 3.5 MB
  • Tags: CPython 3.14t, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for nevu_ui-0.8.5-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 39fa7be614da51390f48df89dbd0616ef9af5bc5f069464824e7a28d1f74c53f
MD5 27d23ac86189fae6b68eeae858cc2193
BLAKE2b-256 0a0d4eefdf3c04170742f4c292cfe6b84b75b5711243f8e5f5bb8f0852897516

See more details on using hashes here.

Provenance

The following attestation bundles were made for nevu_ui-0.8.5-cp314-cp314t-win_amd64.whl:

Publisher: build_wheels.yml on GolemBebrov/nevu-ui

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nevu_ui-0.8.5-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for nevu_ui-0.8.5-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 dd21650afce599242a7efa82ae817be4e45efbbf9a1bf474af3d40d72271a3ff
MD5 50ad587797fbdd0e09dffe5463f2c3f4
BLAKE2b-256 e7fc67182c546c47fd5cf797450122d4039a4d183ff9242bf95a52080ebd1156

See more details on using hashes here.

Provenance

The following attestation bundles were made for nevu_ui-0.8.5-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build_wheels.yml on GolemBebrov/nevu-ui

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nevu_ui-0.8.5-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: nevu_ui-0.8.5-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 3.4 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for nevu_ui-0.8.5-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 fa86f5e73ec934e13ff225c65500cb2f2789bab5c46ea8900986987ca8ce84b6
MD5 b9029edbd4faa7962b6481e34dfcc2a0
BLAKE2b-256 44429aaae28b26775d50a0cdade86f08eff77a74e5cb0a55ee3191d188651c41

See more details on using hashes here.

Provenance

The following attestation bundles were made for nevu_ui-0.8.5-cp314-cp314-win_amd64.whl:

Publisher: build_wheels.yml on GolemBebrov/nevu-ui

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nevu_ui-0.8.5-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for nevu_ui-0.8.5-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3e84846ac19d244f0403c9ac20f33c0f3271fb0f4ce91924b71424e76dfc3263
MD5 ed33a67f1667fb812eed9c648aec040d
BLAKE2b-256 16850cf95c20c31939ed7fb51910fb90aeca288f0d0d1bccf566dbd4918a12fa

See more details on using hashes here.

Provenance

The following attestation bundles were made for nevu_ui-0.8.5-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build_wheels.yml on GolemBebrov/nevu-ui

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nevu_ui-0.8.5-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: nevu_ui-0.8.5-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 3.4 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for nevu_ui-0.8.5-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 12c29ba488913521436ed34b6ab92caab7d49c3b9127af6b0478cbfedbd90241
MD5 1571e81c00fecdcba0c55c057959b8c0
BLAKE2b-256 0d712cb4eb39beaff1e0c677b3c74f7388f3d4f0c5a18d5a68bf6814be02638d

See more details on using hashes here.

Provenance

The following attestation bundles were made for nevu_ui-0.8.5-cp313-cp313-win_amd64.whl:

Publisher: build_wheels.yml on GolemBebrov/nevu-ui

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nevu_ui-0.8.5-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for nevu_ui-0.8.5-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 11fc3bf700525167d23767f02a771c2b6c546546fd8f6fe00e267a5614dd24c7
MD5 5bce1167621aafad2b77c86d37e4c38c
BLAKE2b-256 f4faf1e3604ccd85a901cc37377914f0a1b53d6957a5abf48630c1b0f69cf29e

See more details on using hashes here.

Provenance

The following attestation bundles were made for nevu_ui-0.8.5-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build_wheels.yml on GolemBebrov/nevu-ui

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nevu_ui-0.8.5-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: nevu_ui-0.8.5-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 3.4 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for nevu_ui-0.8.5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 922db3f9589defea56dfc89da7553bc8188b15dfaaf4320126c015566876cd8b
MD5 931aa8a4f923f1e48fc0cf0fa42e8460
BLAKE2b-256 1f8c15ee34e14f63da3c4f2f219f490c83687850c039496b8c5313691702272b

See more details on using hashes here.

Provenance

The following attestation bundles were made for nevu_ui-0.8.5-cp312-cp312-win_amd64.whl:

Publisher: build_wheels.yml on GolemBebrov/nevu-ui

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nevu_ui-0.8.5-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for nevu_ui-0.8.5-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 47c3565a413edf335e803fef4663843990c67654b47e9a2361c42bbef3d64222
MD5 8376c380b93f5e83cea5bdcec6d80e73
BLAKE2b-256 ce5e81d232552d500be5d23712b5182cd24a1e200f1ee79439d1f3e708ac5683

See more details on using hashes here.

Provenance

The following attestation bundles were made for nevu_ui-0.8.5-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build_wheels.yml on GolemBebrov/nevu-ui

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.8.5.post3

12 files

0.8.5.post2

12 files

0.8.5.post1

12 files

This release

0.8.5 This release

12 files

0.8.4

18 files

0.8.3

12 files

0.8.2.post1

12 files

0.8.2

12 files

0.8.1

12 files

0.8.0.post2

12 files

0.8.0.post1

12 files

0.8.0

12 files

0.7.6

12 files

0.7.5.post1

12 files

0.7.5

12 files

0.7.4.post1

12 files

0.7.4

12 files

0.7.3.post1

12 files

0.7.3

12 files

0.7.2

12 files

0.7.1

12 files

0.7.0.post2

12 files

0.7.0.post1

12 files

0.7.0

12 files

0.6.7

12 files

0.6.6

12 files

0.6.5.post4

12 files

0.6.5.post3

12 files

0.6.5.post2

12 files

0.6.5.post1

12 files

0.6.4.post1

20 files

0.6.4

20 files

0.6.3

20 files

0.6.2

20 files

0.6.1

20 files

0.6.0

20 files

0.5.8

20 files

0.5.7

20 files

0.5.6

20 files

0.5.5

20 files

0.5.4

20 files

0.5.3

20 files

0.5.2

20 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