Skip to main content

Improved tkinter-style gui system.

Project description

NebulaTk

NebulaTk is an early-stage, Tkinter-style GUI toolkit with a custom widget/rendering pipeline. Widgets are composed into Pillow images and displayed through an OpenGL window backend.

Questions, bug reports, and feature requests: ctrl.alt.op@gmail.com or through this GitHub repo

Current status

  • Project is in active early development.
  • The current Window() path in this branch supports render_mode="image_gl" only, but might be expanded for vulkan later.
  • Rendering currently depends on a GLFW + PyOpenGL backend.

Installation

From the repository root:

pip install -e .

For development and tests:

pip install -r requirements.txt

Quick start

import nebulatk as ntk

window = ntk.Window(title="NebulaTk")
ntk.Button(window, text="Hello NebulaTk").place(20, 20)

You can also run included examples:

python examples/example.py
python examples/relativeplace.py
python examples/word_collage.py

Note: example scripts may reference local assets under examples/Images/. If those assets are missing in your checkout, update image paths or provide your own files.

Running tests

From the project root:

pytest

Public API highlights

Top-level imports exposed by nebulatk include:

  • Window
  • FileDialog
  • Widgets: Button, Label, Entry, Frame, Slider, Container
  • Utility modules: colors_manager, fonts_manager, image_manager, bounds_manager, standard_methods, animation_controller, rendering, file_manager

Many widget methods are chainable, for example:

ntk.Button(window, text="Chainable").place(10, 10).hide().show()

Project layout

  • nebulatk/ - main package source
  • nebulatk/widgets/ - widget classes and base components
  • examples/ - runnable usage demos
  • tests/ - pytest test suite

Notes

  • This project is not a drop-in implementation of Tk's internal event/render loop.
  • The window/rendering architecture uses both threading and multiprocessing internally.

Project details


Download files

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

Source Distribution

nebulatk-0.3.2.7.tar.gz (2.0 MB view details)

Uploaded Source

Built Distribution

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

nebulatk-0.3.2.7-py3-none-any.whl (76.3 kB view details)

Uploaded Python 3

File details

Details for the file nebulatk-0.3.2.7.tar.gz.

File metadata

  • Download URL: nebulatk-0.3.2.7.tar.gz
  • Upload date:
  • Size: 2.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.1

File hashes

Hashes for nebulatk-0.3.2.7.tar.gz
Algorithm Hash digest
SHA256 a4b9526252d2c5570638cf785185e15d65d596b9cb8fef71571c6e1396bd3f8d
MD5 fbbb89cdffa5d3dc53aa0bf2e654bb3b
BLAKE2b-256 a93ed7b8a09567a85b747cf941d878660cfce48971df58b2c7ab55975f75c3bc

See more details on using hashes here.

File details

Details for the file nebulatk-0.3.2.7-py3-none-any.whl.

File metadata

  • Download URL: nebulatk-0.3.2.7-py3-none-any.whl
  • Upload date:
  • Size: 76.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.1

File hashes

Hashes for nebulatk-0.3.2.7-py3-none-any.whl
Algorithm Hash digest
SHA256 2f4fb1c3de8bd9bbed1a302a2847ae0fd12a409dd765c037ffb2d3d5c7bca7f8
MD5 faf7e5576abdfeab2bef7c23a5a1cb5f
BLAKE2b-256 98ed01f3ab3e88d29b30dfbd705335657338efcfad17fbea28d0258e81b5ab8d

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