Pre-release
This release is a pre-release and may not be stable for production use.
xnano-core
The compiled Rust engine for building terminal interfaces: buffers, widgets, layout, effects, state management, and a live runtime.
Install
pip install xnano-core
Most people install the top-level xnano package instead, which adds the terminal API (xnano.new(), xnano.open(), placements, hooks, components, art and sound) on top of this engine:
pip install xnano
For v1 of xnano (a different API), install xnano>=1.2.3,<2.
Example
from xnano_core import Point, Size, Style, Color, Clock
# Basic geometry
point = Point(2, 3) + Point(1, 1)
assert (point.x, point.y) == (3, 4)
# Styles combine colors and text attributes
style = Style('red', 'black', bold=True)
assert 'bold' in style.modifiers
# Clocks can be real or manually advanced for testing
clock = Clock.manual(elapsed_seconds=2.0)
assert clock.elapsed_milliseconds == 2000.0
What it provides
- Cell buffers: mutable 2D arrays of terminal cells with styles, colors and text attributes
- Widgets: built-in composable pieces like blocks, tables, gauges, charts, calendars and text editors
- Operations: animations, effects, transitions, and state mutations on the fly
- Expression language: scalar expressions that react to state changes and user input
- Input: keyboard and mouse events with key bindings and focus management
- State management: declarative state schema with validation, patches, and observations
- Runtime: offscreen and live terminal execution with event loops and frame timing, and a clock that can be stopped, stepped and resumed
Links
- Repository: https://github.com/hsaeed3/xnano
- Documentation: https://xnano.hammad.app
- API reference: https://xnano.hammad.app/api-reference/
- License: MIT
Metadata
Release files for xnano-core 2.0.0b4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| xnano_core-2.0.0b4.tar.gz | 397.0 kB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| xnano_core-2.0.0b4-cp310-abi3-win_amd64.whl | CPython 3.10 | abi3 | Windows x86-64 | Details |
| xnano_core-2.0.0b4-cp310-abi3-pyemscripten_2026_0_wasm32.whl | CPython 3.10 | abi3 | PyEmscripten 2026.0+ WebAssembly | Details |
| xnano_core-2.0.0b4-cp310-abi3-musllinux_1_2_x86_64.whl | CPython 3.10 | abi3 | Linux musl 1.2+ x86-64 | Details |
| xnano_core-2.0.0b4-cp310-abi3-musllinux_1_2_aarch64.whl | CPython 3.10 | abi3 | Linux musl 1.2+ ARM64 | Details |
| xnano_core-2.0.0b4-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl | CPython 3.10 | abi3 | Linux glibc 2.17+ x86-64 | Details |
| xnano_core-2.0.0b4-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl | CPython 3.10 | abi3 | Linux glibc 2.17+ ARM64 | Details |
| xnano_core-2.0.0b4-cp310-abi3-macosx_11_0_arm64.whl | CPython 3.10 | abi3 | macOS 11.0+ ARM64 | Details |
| xnano_core-2.0.0b4-cp310-abi3-macosx_10_12_x86_64.whl | CPython 3.10 | abi3 | macOS 10.12+ x86-64 | Details |
Total release size: 22.5 MB
Release files / xnano_core-2.0.0b4.tar.gz
| Download URL | xnano_core-2.0.0b4.tar.gz |
|---|---|
| Size | 397.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ecc1ed6e561608dbeacd2736d04410309d379defd6d9729d86c0767e31af3d93
|
|
BLAKE2b-256 checksum How to use checksums |
b8ca05072e8f5c898701ffbba1a9be796c59f71c2f199b45f3b39a0729da7bae
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / xnano_core-2.0.0b4-cp310-abi3-win_amd64.whl
| Download URL | xnano_core-2.0.0b4-cp310-abi3-win_amd64.whl |
|---|---|
| Size | 3.0 MB |
| Tags | CPython 3.10 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
0189a96c771e9014d732f8329ce19f9cfe095a2090f3a22cce68f88eb669495f
|
|
BLAKE2b-256 checksum How to use checksums |
d980fcc0009da2add9f2be75247ceef05c3b9d9024147f82ad3fae551685c481
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / xnano_core-2.0.0b4-cp310-abi3-pyemscripten_2026_0_wasm32.whl
| Download URL | xnano_core-2.0.0b4-cp310-abi3-pyemscripten_2026_0_wasm32.whl |
|---|---|
| Size | 1.8 MB |
| Tags | CPython 3.10 PyEmscripten 2026.0+ WebAssembly abi3 |
|
SHA-256 checksum How to use checksums |
9ac25eafe6f045f622cd039160d128aba55d2cee2de067f556464efc9cbea499
|
|
BLAKE2b-256 checksum How to use checksums |
291d691ba42bf2b9c1dd3d706dcc71a6cd404a5bb13928a03ae0b834e80b05b3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / xnano_core-2.0.0b4-cp310-abi3-musllinux_1_2_x86_64.whl
| Download URL | xnano_core-2.0.0b4-cp310-abi3-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 3.2 MB |
| Tags | CPython 3.10 Linux musl 1.2+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
b5de261ba2f2156fe67066088e14fbf04779554c719c4b17b412ecb48f793d2a
|
|
BLAKE2b-256 checksum How to use checksums |
925ffea6825a938e01f94f11d7511cd9edc5c0e32b836e8ad7fe3556c11ffb36
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / xnano_core-2.0.0b4-cp310-abi3-musllinux_1_2_aarch64.whl
| Download URL | xnano_core-2.0.0b4-cp310-abi3-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 3.0 MB |
| Tags | CPython 3.10 Linux musl 1.2+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
b5a313e221738a004382bbd51043a1fd7592a44fa5f79bb92427f2b76a3f3bd2
|
|
BLAKE2b-256 checksum How to use checksums |
a3843500acc930c65a5339fca5138b7d27e862c09b8882e1bafe76ce70f82793
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / xnano_core-2.0.0b4-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | xnano_core-2.0.0b4-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 2.9 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
79346774041c41a819c3b1218f2b2e9eca105d49f6d75c5be978bc35aba255da
|
|
BLAKE2b-256 checksum How to use checksums |
f207b2eb9f8daf4475d312bfcfc2893df2d0545dfc775f231da9f7ce71cef8e7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / xnano_core-2.0.0b4-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | xnano_core-2.0.0b4-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 2.8 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
cd169e9530e947bbe40740ac66b7d8cd26436ac2685afec568752042e568bdf2
|
|
BLAKE2b-256 checksum How to use checksums |
da0c3033f30c572b7e611efe9ec8228a2b35b6cef59c1de30a04bfb5edd07b7c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / xnano_core-2.0.0b4-cp310-abi3-macosx_11_0_arm64.whl
| Download URL | xnano_core-2.0.0b4-cp310-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 2.7 MB |
| Tags | CPython 3.10 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
04f18cd40792ce916b312185b470bd1567beb46664706b685260bf401a0626fb
|
|
BLAKE2b-256 checksum How to use checksums |
a901e322b8dd4883270226ddbaaef8e69eaa9563b324bf822edb3357e5a8c11b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / xnano_core-2.0.0b4-cp310-abi3-macosx_10_12_x86_64.whl
| Download URL | xnano_core-2.0.0b4-cp310-abi3-macosx_10_12_x86_64.whl |
|---|---|
| Size | 2.8 MB |
| Tags | CPython 3.10 abi3 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
1581749c7de04713e1a2b78163ae1e7b3984ef09b10b91329f058430666b4a52
|
|
BLAKE2b-256 checksum How to use checksums |
da9d10afdf6c4bd68da6e5859debec25fde83a1f2a3477a1ed09a198f346b0a5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|