Skip to main content

A powerful GUI framework for Pygame that allows you to create menus

Project description

Краткое описание

Nevu UI — это библиотека для декларативного создания пользовательских интерфейсов на Pygame. Проект нацелен на предоставление разработчикам набора готовых, стилизуемых и расширяемых компонентов для быстрого создания современных и отзывчивых интерфейсов в игровых и мультимедийных приложениях.

Главная цель Nevu UI: сделать создание интерфейсов на python еще легче и быстрее

Ключевые особенности включают:

  • Система макетов: Удобное расположение элементов с помощью сеток (Grid) и прокручиваемых контейнеров (Scrollable).
  • Набор виджетов: Готовые к использованию элементы, такие как кнопки, поля ввода и метки.
  • Гибкая стилизация: Возможность кастомизации внешнего вида через систему стилей, поддерживающую цвета, градиенты и рамки.
  • Анимации: Встроенная поддержка анимаций для создания динамичных и живых интерфейсов.
  • Декларативность: Поддержка декларативного создания интерфейса

Стиль

Style - универсальное хранилище параметров для кастомизации внешнего вида

Изменяемые параметры:

  • Gradient
  • ColorTheme - Аналог MaterialDesign
  • Font name/size
  • Border Width/Radius
  • Text Align X/Y
  • Transparency

Главные особенности

Nevu UI позволяет описивать инферфейс с видной структурой

Примеры декларативности:

  • Декларативный подход: Описывайте ваш интерфейс так же, как вы его видите.

    # Указывайте контент прямо при создании макета
    grid = ui.Grid(content={(1,1): ui.Button(...)})
    
  • Адаптивная система размеров (SizeRules): Забудьте о пикселях. Используйте относительные величины, которые подстраиваются под размер окна или родительского элемента.

    • vh / vw: Проценты от высоты/ширины окна.
    • fill: Проценты от размера родительского макета.
  • Мощная система стилей: Настраивайте каждый аспект внешнего вида с помощью универсального объекта Style.

    • Темы: Готовые цветовые темы (synthwave_dark_color_theme).
    • Градиенты: Линейные и радиальные.
    • И многое другое: Шрифты, рамки, скругления, прозрачность.
  • Встроенные анимации: Оживите ваш интерфейс с помощью готовых анимаций появления, движения и т.д.

    widget.animation_manager.add_start_animation(ui.AnimationEaseOut(...))
    

Установка

Зависимости:

Python >= 3.12.*

  • Для Сборки:
    • setuptools >= 61.0
    • Cython
    • numpy
  • Для Запуска:
    • pygame-ce>=2.3.0
    • numpy
    • Pillow

Установка через pip

pip install nevu-ui

Примеры

Пример1

Пример2


Продвинутая сетка(Outdated)

import nevu_ui as ui
import pygame
pygame.init()

class Mygame(ui.Manager):
    def __init__(self):
        super().__init__()
        self.fps = 75 #Задаем нуженый fps
        self.background = (0,0,100) #Цвет фона
        self.window = ui.window.Window((300,300), resize_type=ui.ResizeType.FillAllScreen) #Создаем окно
        main_style = ui.Style( #Гланый стиль
            borderradius=10, borderwidth=2, colortheme=ui.synthwave_dark_color_theme,
            fontname="vk_font.ttf", gradient=ui.style.Gradient(colors=[ui.Color.AQUA,(100,100,100)],type='radial',direction=ui.style.Gradient.TOP_CENTER))
        style_mini_font = main_style( #Подстиль
            fontsize=15, border_radius=15,  
            borderwidth=10, gradient=ui.style.Gradient(colors=[ui.Color.REBECCAPURPLE,ui.Color.mix(ui.Color.AQUA,ui.Color.REBECCAPURPLE)],type='linear',direction=ui.style.Gradient.TO_TOP))
    
        b = ui.Button(lambda: print("Button 1"), "Test Chamber", [100*ui.fill,33*ui.fill], style=style_mini_font(borderradius=15, borderwidth=10), words_indent=True, alt=True) #Создаем кнопку
        i = ui.Input([100*ui.fill,33*ui.fill],style_mini_font(borderradius=30,fontname="vk_font.ttf"),"","Введите",multiple=True, alt=True) #Создаем инпут
        
        i.animation_manager.add_start_animation(ui.AnimationEaseOut(3,[0,-100],[0,0],ui.AnimationType.POSITION)) #Добавляем анимацию в начало
        
        #создаем макет
        gridmenu = ui.Grid([66*ui.fill, 40*ui.fill], x=3,y=3, 
                                content={
                                        (2,1): b,
                                        (2,2): i
                                    }
                         )
        
        self.menu = ui.menu.Menu(self.window,(100*ui.vw,100*ui.vh),
                style = main_style(borderradius=20,borderwidth=1), alt=False, 
                layout = ui.Grid([100*ui.fill,100*ui.fill],x=3,y=3, 
                         content = {
                         (2,1.2): gridmenu,
                         (2,2.1): gridmenu, #Внимание: Grid поддерживает 
                         (2,3): gridmenu    #Координаты с плавающими числами в допустимом диапозоне
                     }   
                 )
             )    
        self.menu.quality = ui.Quality.Best #Для качества(по умолчанию Quality.Decent)
        self.menu.will_resize = True #Для оптимизации

    def draw_loop(self):
        self.menu.surface.fill(self.background)
        self.menu.draw()
        #рисуем меню
      
    def update_loop(self, events):
        self.menu.update()
        show_fps = True
        fps_mode = "Unslowed"
        #Для показа фпс
        if show_fps:
            print(f"FPS {fps_mode}: ",ui.time.fps)

def test_main():
    #Запускаем
    game = Mygame()
    game.run()

    sys.exit()

test_main()

Статус Nevu UI на данный момент

Макеты (Layout_Type)

(✅ - сделано, ❌ - не сделано, 💾 - устарело)

  • Grid
  • Row
  • Column
  • Scrollable
  • 💾 IntPickerGrid
  • Pages
  • 💾 Gallery_Pages
  • StackColumn
  • StackRow
  • CheckBoxGroup

Виджеты (Widget)

  • Widget
  • Button
  • Label
  • Input
  • Empty_Widget
  • Tooltip (В 0.6)
  • 💾 ImageWidget
  • 💾 GifWidget
  • MusicPlayer (Будет переработан)
  • 💾 ProgressBar
  • 💾 SliderBar
  • 💾 ElementSwitcher
  • 💾 FileDialog
  • RectCheckBox

Лицензия

Nevu UI защищен лицензией MIT

Дополнительная информация

Project details


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.5.7-cp314-cp314t-win_amd64.whl (612.0 kB view details)

Uploaded CPython 3.14tWindows x86-64

nevu_ui-0.5.7-cp314-cp314t-musllinux_1_2_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

nevu_ui-0.5.7-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.6 MB view details)

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

nevu_ui-0.5.7-cp314-cp314t-macosx_11_0_arm64.whl (613.6 kB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

nevu_ui-0.5.7-cp314-cp314t-macosx_10_13_x86_64.whl (610.7 kB view details)

Uploaded CPython 3.14tmacOS 10.13+ x86-64

nevu_ui-0.5.7-cp314-cp314-win_amd64.whl (585.9 kB view details)

Uploaded CPython 3.14Windows x86-64

nevu_ui-0.5.7-cp314-cp314-musllinux_1_2_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

nevu_ui-0.5.7-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.6 MB view details)

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

nevu_ui-0.5.7-cp314-cp314-macosx_11_0_arm64.whl (599.1 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

nevu_ui-0.5.7-cp314-cp314-macosx_10_13_x86_64.whl (600.1 kB view details)

Uploaded CPython 3.14macOS 10.13+ x86-64

nevu_ui-0.5.7-cp313-cp313-win_amd64.whl (583.9 kB view details)

Uploaded CPython 3.13Windows x86-64

nevu_ui-0.5.7-cp313-cp313-musllinux_1_2_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

nevu_ui-0.5.7-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.6 MB view details)

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

nevu_ui-0.5.7-cp313-cp313-macosx_11_0_arm64.whl (598.0 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

nevu_ui-0.5.7-cp313-cp313-macosx_10_13_x86_64.whl (600.2 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

nevu_ui-0.5.7-cp312-cp312-win_amd64.whl (586.0 kB view details)

Uploaded CPython 3.12Windows x86-64

nevu_ui-0.5.7-cp312-cp312-musllinux_1_2_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

nevu_ui-0.5.7-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.6 MB view details)

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

nevu_ui-0.5.7-cp312-cp312-macosx_11_0_arm64.whl (601.2 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

nevu_ui-0.5.7-cp312-cp312-macosx_10_13_x86_64.whl (603.8 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

File details

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

File metadata

  • Download URL: nevu_ui-0.5.7-cp314-cp314t-win_amd64.whl
  • Upload date:
  • Size: 612.0 kB
  • Tags: CPython 3.14t, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for nevu_ui-0.5.7-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 2b901573504e5dc8f61437b630fd0ffd9e80034ec19ca95085d4b34baab7dece
MD5 3176c7967d9e45512243424011fc2bc3
BLAKE2b-256 d26b5334290310ea0e702e0b3f56a01f1e1fde893aee201c4c0d761068276609

See more details on using hashes here.

File details

Details for the file nevu_ui-0.5.7-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for nevu_ui-0.5.7-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d5536b1be0216a681e019832911aa9979253af1f00258a6894b83ac6304938b7
MD5 0a37f69008cc16332c43adeda2cc3067
BLAKE2b-256 04d054a361ade2254f26d4f82c3eba4edc63812019360b5e2de3a5c9699de3df

See more details on using hashes here.

File details

Details for the file nevu_ui-0.5.7-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for nevu_ui-0.5.7-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 520ddbbaca71b5e13a976c04690248d93422fb6a935229cf9325be84022e5c8c
MD5 5c5d3e2e691722c9376127f1929fe130
BLAKE2b-256 247332c09624d98cc33479cb71daab51fc9afed5a860011d02282b9e1de22671

See more details on using hashes here.

File details

Details for the file nevu_ui-0.5.7-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nevu_ui-0.5.7-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 98d4f6cc4251ba6a637efa194522303a9dfdd7bd9651bbec8b13e2893270c8d2
MD5 580f1b8868bd36c74df074214e037638
BLAKE2b-256 b81652925b7e3f33f46e1b48184257c0493eb312f371b2ecbeba9e981a22f0a9

See more details on using hashes here.

File details

Details for the file nevu_ui-0.5.7-cp314-cp314t-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for nevu_ui-0.5.7-cp314-cp314t-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 6e773b84f56fe09fc8dcfe2f577b3cbf953f71f01cf2bd64ba61b42e17c6d8fb
MD5 e9a5ebce3ee1044a7d58ab68673e06f0
BLAKE2b-256 839de8674fc0f901f23fcce606674415a01a45c5a04547cd6812765e16ae0b41

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nevu_ui-0.5.7-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 585.9 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for nevu_ui-0.5.7-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 26473603d94b9aed65534bd695cd656fc1dac8407474bcc2cd1a72a27cd2c85f
MD5 20a825e108cd6abc4592e5a65756aac1
BLAKE2b-256 087101295771dbfd2b26611e1a2d0f0bdc5941b85aad3d00ce18ed1905e736e5

See more details on using hashes here.

File details

Details for the file nevu_ui-0.5.7-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for nevu_ui-0.5.7-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 fdb0e794909dd19a3ce02c11b57784987139396ef2bc3de0a282ab87296489de
MD5 eebc33ac42093a3d629d7f98c905ee3f
BLAKE2b-256 eb416d90ab6aeb016a9b39d49f3031810f4a90a3c55ea2f03903bb5c2dfc6237

See more details on using hashes here.

File details

Details for the file nevu_ui-0.5.7-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for nevu_ui-0.5.7-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c2bcdda81b808f89868dc4ad3a4b409a34e85c6381f6a55ef13d53896e5858e0
MD5 a67766a36422c3d3ff634f38e71339e9
BLAKE2b-256 38637bb1ae65f1857e54b6c1e4daa128dbf6176e84e38497cde31c8a5b6cb037

See more details on using hashes here.

File details

Details for the file nevu_ui-0.5.7-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nevu_ui-0.5.7-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3455f465a4dda6e00075b5ae75532b0b7289250b4c3cc289445ea1acf9dbf080
MD5 4e8b8729b9330963877e7e8bb3558096
BLAKE2b-256 7d02f8f38d954616b536f16b413320b56cdc38029c9d5936660932dd5e01cc29

See more details on using hashes here.

File details

Details for the file nevu_ui-0.5.7-cp314-cp314-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for nevu_ui-0.5.7-cp314-cp314-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 0ae783af86313e58e48d91995c6f201a69b8b8995ae599a8b52dd22d7cc4de21
MD5 d5f1431365bcf2160603bf710626002f
BLAKE2b-256 77fdd5a568821bf4d2604dc231ebde5f4ccb6eaa89c41ad1a17a1ea00c075810

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nevu_ui-0.5.7-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 583.9 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for nevu_ui-0.5.7-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 969d8db898fb94465cbbc7f5242d21d966b5b4f2059f75a8b8365d603bf429c8
MD5 9bda97a920e6c840160a2172efc763d1
BLAKE2b-256 a261c96b597b835e89ee5fbba18514209e0dc69aae877c4eb3eb2041eabdeab7

See more details on using hashes here.

File details

Details for the file nevu_ui-0.5.7-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for nevu_ui-0.5.7-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3edef9368de3c4c5686557c128b3b448a9776154be1bfa7cce6fc253abd7090c
MD5 be6de9fecf82f4dc4c373fed7386470a
BLAKE2b-256 6871eab4d7890e31bd94547baf3ba6c0a75f98e935473f165267a1e32a70a99c

See more details on using hashes here.

File details

Details for the file nevu_ui-0.5.7-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for nevu_ui-0.5.7-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3aed2b53b395a29b088a2179530cbfb0c7eafa48710274e864915074c8c936a8
MD5 ff0d028bb9105d9b9122b970b2b1e5d7
BLAKE2b-256 9eaec19c3136c415b072d7b9dcd6788dec9dd85bfae02791ad8886204403124c

See more details on using hashes here.

File details

Details for the file nevu_ui-0.5.7-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nevu_ui-0.5.7-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6e7bb5b462aea89ccc5a67c7b4180ddd2238393b18de683a8ba9147e1e9bcbff
MD5 e0ab00d70220fd0054a86e14ca5ccda5
BLAKE2b-256 aa40eef3c5823c6e34f14b26d34a2a80d8b043b25564f23452206a7a2fa5a487

See more details on using hashes here.

File details

Details for the file nevu_ui-0.5.7-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for nevu_ui-0.5.7-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 51df4203caf6e14d8868d63e3dd327f9a04fb693154b956008fe63fd37ff928b
MD5 c0460c8650aa2970c3059e52e964f634
BLAKE2b-256 3b2cd9a173fa408099cc1f2ef1adad4a3d559f8aa144770c8c4e00cb46fa264b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nevu_ui-0.5.7-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 586.0 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for nevu_ui-0.5.7-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 e7758ab7e0145c4d1bebd2c2efea8aa612aae2c1e5a5c72238c5d240017d6aa0
MD5 918c45d4ed90b16f8ebbbabe8fc3477e
BLAKE2b-256 70ae180f439b543fce0f0d3df93060590b3bb035effd88449acc106033e5eb00

See more details on using hashes here.

File details

Details for the file nevu_ui-0.5.7-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for nevu_ui-0.5.7-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7dbabfe842861b04d80ec688a8ee77591a2e6380fbb40250fb51874495f32646
MD5 6b7e84ab9e4a57e484cc8369b0fd3381
BLAKE2b-256 36b304b987038d3dc4f097834500e25dfa4e0401dbf9412dc7282aafc8e4efd4

See more details on using hashes here.

File details

Details for the file nevu_ui-0.5.7-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for nevu_ui-0.5.7-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 be25ee734af77f98dca8bdc20e88d38dfbd069e518a7d54143cd211807c057d8
MD5 995f48ff99471f611fb09a380dc2042a
BLAKE2b-256 4c98941ba20e1eb0d012724e4060da4d9d74e8b2a93c851c90704dbca13501ac

See more details on using hashes here.

File details

Details for the file nevu_ui-0.5.7-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nevu_ui-0.5.7-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dbfb0aaa427d44f40175e9af9999b93244cb8dde52d99090de784ea19e3bc546
MD5 772e84cb702d0f1a34e7a5aebc3d459b
BLAKE2b-256 ccb9d394235842609a6a017c6f3b496f2cee5f18d772da9f3ad8dd8135999867

See more details on using hashes here.

File details

Details for the file nevu_ui-0.5.7-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for nevu_ui-0.5.7-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 6db73854b2b851cc6e9b9b125ac939a4c58969e20549c86e7867eeaa35e6d414
MD5 6072cfc980e171d176c69ba58a9381af
BLAKE2b-256 6a77a68a89fbb0c3f5828d70f9006d0dec48fee6ffbb6348e99bc854e1f90870

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page