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 supportsrender_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:
WindowFileDialog- 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 sourcenebulatk/widgets/- widget classes and base componentsexamples/- runnable usage demostests/-pytesttest 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nebulatk-0.3.2.5.tar.gz.
File metadata
- Download URL: nebulatk-0.3.2.5.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2a91ef3de6122837fe8b6fa5c3066732fb4bd6ceb8c5b7f347136af82ba886bc
|
|
| MD5 |
38e29103b0ffda118dec88ebe7e7c4c7
|
|
| BLAKE2b-256 |
cf4b1eb9e164b6b28cb1e82929452b57a61ab09f22c3d14574d30461955bf9ef
|
File details
Details for the file nebulatk-0.3.2.5-py3-none-any.whl.
File metadata
- Download URL: nebulatk-0.3.2.5-py3-none-any.whl
- Upload date:
- Size: 75.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
620da795a2e8dd35c91bf497bac024f204a24f07b0ae145d48732eb3343b4c8f
|
|
| MD5 |
66700561d4ae21940e8027d270053ea4
|
|
| BLAKE2b-256 |
c99b58ab6b170adc52ae453a917fbb026c47521286756b292bd049024ad32be3
|