Core engine for the TUIX framework.
Project description
🧱 TUIX Core 0.1.0
⚠️ ATTENTION:
This version of the library is an MVP (Minimal Viable Project) release.
Many of the implemented functions exist in the codebase but are not yet actively used.
This version serves as the foundation for upcoming releases.
🧩 Overview
TUIX is a modular terminal UI engine inspired by web technologies.
It introduces a DOM-like component system, a layout engine, and a buffer-based rendering pipeline for building structured and styled terminal interfaces.
🚀 Installation
You can install this library using:
pip install tuix-core
⚡ Example Usage
Even though this MVP version is limited, here’s a small example showing what it can currently do:
from tuix.core import TuixEngine as Tuix
# Initialize the main application engine
app = Tuix()
# Create a new component of type "choice"
app.components.create(object_type="choice", object_id="choice")
# Set component properties
app.components.set_property(object_id="choice", param="label", value="Test")
# Define a list of choices with actions
app.components.set_property(
object_id="choice",
param="choices",
value=[
[
{"name": "Test", "action": "pass"},
{"name": "Test", "action": "pass"}
]
]
)
# Align the component to the center using margin mode
app.layout.margin_mode(object_id="choice", param=["margin_top", "margin_left"], mode="centered")
# Render the layout to the terminal
app.render.draw()
🖥️ This renders a simple choice component in the terminal, centered both vertically and horizontally.
⚙️ Future Plans
Both the LayouEngine and RenderEngine will be rewritten in upcoming versions to create a far more powerful and flexible structure(🤫 won’t spoil the details yet).
☕ Support
If this project interests you or helps you in any way, you can support its development by buying me a coffee ❤️
📜 License
MIT License © 2025 custosh
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
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 tuix_core-0.1.0.tar.gz.
File metadata
- Download URL: tuix_core-0.1.0.tar.gz
- Upload date:
- Size: 10.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
13d0d4f33ffa1ca7851bc79aabc29ad49c1bdea54a29710c6590327fd128f278
|
|
| MD5 |
86fcc9d4ba6142a055a1fc40d3de1d77
|
|
| BLAKE2b-256 |
28b4139c61c66b11483bf4e4575d6f47ed8a675f40c00282c0aa1551471d0f88
|
File details
Details for the file tuix_core-0.1.0-py3-none-any.whl.
File metadata
- Download URL: tuix_core-0.1.0-py3-none-any.whl
- Upload date:
- Size: 9.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ce1de74e534050a6804a60fe5b6bc42d3f867f2796bcfee52e6cffe97dbde55a
|
|
| MD5 |
82395b310aea00f04242f8bdc739bb1b
|
|
| BLAKE2b-256 |
0f61edf26c2d7134de9165aea3610281c421595e77220b5df59fe74c649f8c9f
|