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.open(), placements, hooks, scenes 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
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.0b2
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.0b2.tar.gz | 382.8 kB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| xnano_core-2.0.0b2-cp310-abi3-win_amd64.whl | CPython 3.10 | abi3 | Windows x86-64 | Details |
| xnano_core-2.0.0b2-cp310-abi3-pyemscripten_2026_0_wasm32.whl | CPython 3.10 | abi3 | PyEmscripten 2026.0+ WebAssembly | Details |
| xnano_core-2.0.0b2-cp310-abi3-musllinux_1_2_x86_64.whl | CPython 3.10 | abi3 | Linux musl 1.2+ x86-64 | Details |
| xnano_core-2.0.0b2-cp310-abi3-musllinux_1_2_aarch64.whl | CPython 3.10 | abi3 | Linux musl 1.2+ ARM64 | Details |
| xnano_core-2.0.0b2-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.0b2-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl | CPython 3.10 | abi3 | Linux glibc 2.17+ ARM64 | Details |
| xnano_core-2.0.0b2-cp310-abi3-macosx_11_0_arm64.whl | CPython 3.10 | abi3 | macOS 11.0+ ARM64 | Details |
| xnano_core-2.0.0b2-cp310-abi3-macosx_10_12_x86_64.whl | CPython 3.10 | abi3 | macOS 10.12+ x86-64 | Details |
Total release size: 22.3 MB
Release files / xnano_core-2.0.0b2.tar.gz
| Download URL | xnano_core-2.0.0b2.tar.gz |
|---|---|
| Size | 382.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
56a4969e959f868cf1a7b741c035718de3b829363a9fc607ca3c097db8b3ebf3
|
|
BLAKE2b-256 checksum How to use checksums |
ab7af0529c653c7ae46dc15d2a3097bcc73a3bac2401e89f7bc0337d2664080c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","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.0b2-cp310-abi3-win_amd64.whl
| Download URL | xnano_core-2.0.0b2-cp310-abi3-win_amd64.whl |
|---|---|
| Size | 3.0 MB |
| Tags | CPython 3.10 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
0df16f2bff25793ce3f8f0b6340de4e22013c6facdf45008fc789235ccc8c17b
|
|
BLAKE2b-256 checksum How to use checksums |
5c255cb6e8584df9a5c38dcaf4a3d76fa15250eb1dc1b580915edac96886e8b8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","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.0b2-cp310-abi3-pyemscripten_2026_0_wasm32.whl
| Download URL | xnano_core-2.0.0b2-cp310-abi3-pyemscripten_2026_0_wasm32.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.10 PyEmscripten 2026.0+ WebAssembly abi3 |
|
SHA-256 checksum How to use checksums |
818d5fc17d909cd37ab018fe0a368648f7cf1ffa12ee827ae950b4cd0357404b
|
|
BLAKE2b-256 checksum How to use checksums |
f17ec7e7849ee8e6c6110c55c3358ce6b1802293c217de995bc679fac7d9f5a7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","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.0b2-cp310-abi3-musllinux_1_2_x86_64.whl
| Download URL | xnano_core-2.0.0b2-cp310-abi3-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 3.1 MB |
| Tags | CPython 3.10 Linux musl 1.2+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
1bb431b6a4666fa97cd1b97c08a88180d79f4fd1e90cccc8294c0f1fc1283667
|
|
BLAKE2b-256 checksum How to use checksums |
1e81581b3a1f50e53de6e25cbb195571442c25fcea188ea571c3e23332a0995d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","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.0b2-cp310-abi3-musllinux_1_2_aarch64.whl
| Download URL | xnano_core-2.0.0b2-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 |
5db725ce64d45df83d0bb27b7f5bc8da51c89fd382929a41fe9e6f16ce704d64
|
|
BLAKE2b-256 checksum How to use checksums |
7012fc615604e7bb6c9cb10f3f572cd8c1ff879bd5da503369af4ed7ff874eb0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","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.0b2-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | xnano_core-2.0.0b2-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 |
b1a9de15f28a2702593195c33b80ed57d65cffa3747962c84a821cca390f31eb
|
|
BLAKE2b-256 checksum How to use checksums |
bafcb1fa10388c766d6777cf4ca590de980e15bcf539e5edc5173cd16b9ee72f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","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.0b2-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | xnano_core-2.0.0b2-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 |
47b424eca6022efc92eb5e9a415e0fc27c69c2f3267b17d2e956828f01e9642a
|
|
BLAKE2b-256 checksum How to use checksums |
0531055a252706236eb7f444ff1f8b1422e10d2d9d60fd85842b16f049e971c9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","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.0b2-cp310-abi3-macosx_11_0_arm64.whl
| Download URL | xnano_core-2.0.0b2-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 |
0a804e0d3dc7b45b5485d20c33957e43a4d48f18ce15bfb9e471ebb317dca2b0
|
|
BLAKE2b-256 checksum How to use checksums |
11b0a89aff60c0eb043ffd9d99a9efe3ef3e0cb27a9b2af619100cef7d1a19b1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","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.0b2-cp310-abi3-macosx_10_12_x86_64.whl
| Download URL | xnano_core-2.0.0b2-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 |
5226cc5442e8df5fe144bbf74a07e367f710fccc3a8a3486d680b35a322d0dc1
|
|
BLAKE2b-256 checksum How to use checksums |
28ffc4479a6a1a8824dbaa0bd59dba216254cc6aea7e3d1b3e580ba7d369a92a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","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}
|