Skip to main content

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


Download files

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

Source Distribution

tuix_core-0.1.0.tar.gz (10.7 kB view details)

Uploaded Source

Built Distribution

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

tuix_core-0.1.0-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

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

Hashes for tuix_core-0.1.0.tar.gz
Algorithm Hash digest
SHA256 13d0d4f33ffa1ca7851bc79aabc29ad49c1bdea54a29710c6590327fd128f278
MD5 86fcc9d4ba6142a055a1fc40d3de1d77
BLAKE2b-256 28b4139c61c66b11483bf4e4575d6f47ed8a675f40c00282c0aa1551471d0f88

See more details on using hashes here.

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

Hashes for tuix_core-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ce1de74e534050a6804a60fe5b6bc42d3f867f2796bcfee52e6cffe97dbde55a
MD5 82395b310aea00f04242f8bdc739bb1b
BLAKE2b-256 0f61edf26c2d7134de9165aea3610281c421595e77220b5df59fe74c649f8c9f

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