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 позволяет описивать инферфейс с видной структурой

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

  • SizeRules - относительные величины (Vh Vw Fill)
  • Content - можно указывать его при создании макета
  • Gradient - описывается
  • Animations - Можно задавать начальные и постоянные анимации

Установка

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

Python >= 3.12.*

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

На Данный момент Nevu UI еще нет в pypi

Примеры

Пример1

Пример2


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

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
  • Scrollable
  • CheckBoxGrid (Скорее всего будет вырезан)
  • 💾 IntPickerGrid
  • Pages
  • 💾 Gallery_Pages
  • 💾 Appending_Layout_H
  • 💾 Appending_Layout_V

Виджеты (Widget)

  • Widget
  • Button
  • Label
  • Input
  • Empty_Widget
  • Tooltip
  • CheckBox (Будет переработан)
  • 💾 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.2-cp314-cp314t-win_amd64.whl (302.1 kB view details)

Uploaded CPython 3.14tWindows x86-64

nevu_ui-0.5.2-cp314-cp314t-musllinux_1_2_x86_64.whl (759.7 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

nevu_ui-0.5.2-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (765.7 kB view details)

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

nevu_ui-0.5.2-cp314-cp314t-macosx_11_0_arm64.whl (303.0 kB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

nevu_ui-0.5.2-cp314-cp314t-macosx_10_13_x86_64.whl (302.2 kB view details)

Uploaded CPython 3.14tmacOS 10.13+ x86-64

nevu_ui-0.5.2-cp314-cp314-win_amd64.whl (292.3 kB view details)

Uploaded CPython 3.14Windows x86-64

nevu_ui-0.5.2-cp314-cp314-musllinux_1_2_x86_64.whl (721.0 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

nevu_ui-0.5.2-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (721.9 kB view details)

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

nevu_ui-0.5.2-cp314-cp314-macosx_11_0_arm64.whl (295.1 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

nevu_ui-0.5.2-cp314-cp314-macosx_10_13_x86_64.whl (295.9 kB view details)

Uploaded CPython 3.14macOS 10.13+ x86-64

nevu_ui-0.5.2-cp313-cp313-win_amd64.whl (291.2 kB view details)

Uploaded CPython 3.13Windows x86-64

nevu_ui-0.5.2-cp313-cp313-musllinux_1_2_x86_64.whl (725.4 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

nevu_ui-0.5.2-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (729.2 kB view details)

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

nevu_ui-0.5.2-cp313-cp313-macosx_11_0_arm64.whl (294.9 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

nevu_ui-0.5.2-cp313-cp313-macosx_10_13_x86_64.whl (296.3 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

nevu_ui-0.5.2-cp312-cp312-win_amd64.whl (292.2 kB view details)

Uploaded CPython 3.12Windows x86-64

nevu_ui-0.5.2-cp312-cp312-musllinux_1_2_x86_64.whl (744.1 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

nevu_ui-0.5.2-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (746.3 kB view details)

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

nevu_ui-0.5.2-cp312-cp312-macosx_11_0_arm64.whl (296.3 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

nevu_ui-0.5.2-cp312-cp312-macosx_10_13_x86_64.whl (297.6 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

File details

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

File metadata

  • Download URL: nevu_ui-0.5.2-cp314-cp314t-win_amd64.whl
  • Upload date:
  • Size: 302.1 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.2-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 cdcd919d82de6cb63547ee90c5f17a0c2cccb027af7be99d5ec47a98dd18e97b
MD5 6ff08165cadd5f800e7c93ce7b2b4ab5
BLAKE2b-256 0a25d3e1c94fce361235b12ed00f61d6597af4860875504d6b4907d4ded62e23

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nevu_ui-0.5.2-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 61a7a0fedf4873b3f6b631bc3e7a2ba5a479123053c1c4ab392ef5cb6199c475
MD5 53077a5f6e5c7cbcfb542b45d5aae6a4
BLAKE2b-256 cd3c63336003c5ee01acc294e5a445cc2c09b95b9ac80acd83e9eaeeedfe7a05

See more details on using hashes here.

File details

Details for the file nevu_ui-0.5.2-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for nevu_ui-0.5.2-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 b138dc14f84bfdfa0de8f5ab300e17308024516bed23cf15f70648634442f3cf
MD5 ba64d8ed2294ba1934ca074030fa6ba4
BLAKE2b-256 b9692dce20d395da21dddf636b7a249aa173ba19cc17cea4689e776feeec7453

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nevu_ui-0.5.2-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 01558f020993147bad098dce5a3f6317dd4f843fe55721e89677ceb0ff6c7e2c
MD5 231746520f34e13b7400f127c4879f38
BLAKE2b-256 f5b4af2e464d152fbaedab2372d67fbcb27bd7f9f95a214d207c1a2fc00bfd8f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nevu_ui-0.5.2-cp314-cp314t-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 f6b4569a83797165c0d74272f6500577aeba45e2c8db6493f05dcfefe77c5b0d
MD5 137a53f59288da5ff686d34d993c2e94
BLAKE2b-256 e88d7478a71b42fe2abdfbbc1cd185e06e2d8f4ae3e6a931f37bfdc78ddf24b8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nevu_ui-0.5.2-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 292.3 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.2-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 d632ad7d65343c2bb904a5046ccb09cea73d4e4ac21fe373a98f3b96b3b20277
MD5 0a107482dc68833c6a6117f0c4bda8a3
BLAKE2b-256 32a5c72f120ee58305eb8b088c9208f23db5a3cfd18e46478848b61b1c69f020

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nevu_ui-0.5.2-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f37013b80c58040c850c349e65a2e4032cb89a9d988ec89e36c0558eb3bbc82a
MD5 5d96ec307d5def5357d9735d03cf8000
BLAKE2b-256 dd4b1934db47e086f034deabde07f01266028ea6bcdfe16ace6737aa84acbace

See more details on using hashes here.

File details

Details for the file nevu_ui-0.5.2-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for nevu_ui-0.5.2-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 abc5355b60f53d7c340677c425d01d716e0904c5b13eb970834f4487de5d15e1
MD5 8d2d329336f853fb832064de547f6620
BLAKE2b-256 43d6338ed1ae3cb179ff57555a1287a2dfa3631d2bd77ecec026bca8fdfe18d4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nevu_ui-0.5.2-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4707e4dfd7f8c3ea73bf0d03061c0710698f800fd9b0d6d3c219211cb6d23cb5
MD5 58c722a0533fa8e5ec76a4b669237dd3
BLAKE2b-256 7de12c2dfd94da02aad9e7563c621ca917871a9c9ebb3a3f4db3e88b1902e5d4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nevu_ui-0.5.2-cp314-cp314-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 3113227714cf0f7c66a3ea049d3f684a8f0540bdb05024130b2e95186d90169f
MD5 868e78c7cb5f31401f9d68ae1dacefd6
BLAKE2b-256 5ed2eddcf312401d0656d1eb3f0c132951a722211a65bf1e9ddff0b62192f303

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nevu_ui-0.5.2-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 291.2 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.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 e0392b390f49ac7a000e5ba97149ee2e162ee3a18f7a01d64a0694017afee4c6
MD5 6e3ca53efd61b5d0536acfa540d0a6c4
BLAKE2b-256 cddd1df4dbcb1dfb0afa6b09d3a6166884623ea69bca891d63be14dbe36820b1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nevu_ui-0.5.2-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 1bce1f0803360c05a215460dc4b90537c7424ec5bc9b591e507b7d2563b71e3a
MD5 0ef3ca122b840bec9a29ba7bbb1bde4a
BLAKE2b-256 aa9cbc2a485913a16accceab1b0ad55be66e0b005696fdd575f4af9ebeb249da

See more details on using hashes here.

File details

Details for the file nevu_ui-0.5.2-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for nevu_ui-0.5.2-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 cc3c0f708f47d4d0be56303c4e33093aac34151aa6adb9d43d99989b99a5ad21
MD5 26559bc591e2cf1c9881ef5f0a2e6961
BLAKE2b-256 0b6092fd480239acfafda6be330a7ea6a25a47d1297941ec5f1c95dcdeb55276

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nevu_ui-0.5.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fcf1e9331a07e91de57a2d81c3c71e93e96636243f7bf127fba3a7a33100c246
MD5 96c5026a8bca22781a51f3348cc88bb4
BLAKE2b-256 ed4068e6bba6e53c9f93bc2a423e5d260270ee4a5f0046c98e99c42fc63cae4d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nevu_ui-0.5.2-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 3de044a99ec4e9fa14e8f6a3326ce64cbeb9338007c3aab468ca18b68e547901
MD5 3ded8467622b27cd92b340af3cb7e2c4
BLAKE2b-256 8636713a23ebeb9b6e57448b1019a62657ea6b27b201536bef9ad0545ceef355

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nevu_ui-0.5.2-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 292.2 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.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 e3748ed3066ed6dcecd7b6d767e1ac861d1bb54729ea66673cdb68ac2dace6f3
MD5 d68106ff238fddc110fb2a18657c5352
BLAKE2b-256 92a7c3f47bcd984aae4c3c8b121dab69e48cdf9f96e4bb84f34f334cf19f10d0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nevu_ui-0.5.2-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 743abed16cfff93511ae778cb69c7f158aeefda40c38e4ec815e995875e75f1c
MD5 dacfa5e787de1d11e790857d0952a22d
BLAKE2b-256 963e04793fe097f646e556835a6829f0eb816d40c66b17e1c05ec219d19b139b

See more details on using hashes here.

File details

Details for the file nevu_ui-0.5.2-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for nevu_ui-0.5.2-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 651cfbbe88bf4a53f8d339318945610f4e46487926d7fb78272e8528d585ccb1
MD5 c1b3054c9f4b7db1e98d52a914acaa9d
BLAKE2b-256 f238ac4432bc9c9d37d9ae1a38b8ff734a6279c8f87e11867100f27187e674af

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nevu_ui-0.5.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e8a2816854774257997f25508a887bed1832ecf84f11fc2ae62bec66f2166cd4
MD5 0fea5a32f8571fdef3df9d2e842966a8
BLAKE2b-256 60d370715a9c52c2a0c4f5050e08c063c1d91f3d9283bfafd2b4268450b90010

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nevu_ui-0.5.2-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 51e644ddb686ac5450014fc5c88c2145cd63d79c93260fc47eaa9dfe9c60c1d7
MD5 e7233a0844f5ed9baed8c842c8935005
BLAKE2b-256 702abfe724e584e608b1d9bb43481cc40a1a9b56913e132f3264f08c0ce67bb7

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