uxntal assembler in Python
Project description
yooxn
Python tools for the Uxn ecosystem.
yooxnas
yooxnas is a fast, multi-pass assembler for the uxntal language, written in pure Python.
Features
- Multi-pass architecture: Ensures reliable label resolution and address calculation.
- Macro support: Full support for
uxntalmacros, including nested definitions. - Sub-label scoping: Standard
@parentand&childscoping rules. - Include system: Assemble complex projects with multiple source files using
~include. - Pure Python: No external dependencies for the assembler itself.
Installation
You can install yooxn via pip:
pip install yooxn
Or using uv:
uv add yooxn
Usage
After installation, the yooxnas command will be available:
yooxnas file.tal
By default, it produces output.rom. You can specify the output path with -o:
yooxnas -o project.rom main.tal
You can also run it as a Python module:
python -m yooxn main.tal
Or directly with uv run:
uv run yooxnas file.tal
CLI Options
usage: yooxnas [-h] [-o OUTPUT] [--debug] file
positional arguments:
file tal file to assemble
options:
-h, --help show this help message and exit
-o, --output OUTPUT Output file to write
--debug Set loglevel to DEBUG
Development
yooxn uses uv for dependency management and hatchling as the build backend.
To install in editable mode:
pip install -e .
To run tests:
pytest
Using uv:
uv run pytest
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 yooxn-1.0.0.tar.gz.
File metadata
- Download URL: yooxn-1.0.0.tar.gz
- Upload date:
- Size: 468.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f8cc8880c96029e919c68ff92e5cfb77db74bc7ecaa3cd1d0c3bcf975d635f27
|
|
| MD5 |
fa0c28cd3a0d969ecd08eb942be32f65
|
|
| BLAKE2b-256 |
167f0fea8bfc378ced326457d5b4f384ac386f75308ae9f639defedc33564322
|
Provenance
The following attestation bundles were made for yooxn-1.0.0.tar.gz:
Publisher:
ci-cd.yml on jjwatt/yooxn
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
yooxn-1.0.0.tar.gz -
Subject digest:
f8cc8880c96029e919c68ff92e5cfb77db74bc7ecaa3cd1d0c3bcf975d635f27 - Sigstore transparency entry: 1195145767
- Sigstore integration time:
-
Permalink:
jjwatt/yooxn@8c866eff1852ecf35f4fa1f9b54edca830a3f80d -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/jjwatt
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci-cd.yml@8c866eff1852ecf35f4fa1f9b54edca830a3f80d -
Trigger Event:
push
-
Statement type:
File details
Details for the file yooxn-1.0.0-py3-none-any.whl.
File metadata
- Download URL: yooxn-1.0.0-py3-none-any.whl
- Upload date:
- Size: 32.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ec0539482b9ce304073c242ce6987667868250ede059a2f4d3733ede4e3d6ae5
|
|
| MD5 |
b89f254467e313a55241373fe36542b1
|
|
| BLAKE2b-256 |
f4c689da0f86f94b59ce166458ef769b2a2dd86ff6040587b52ed8e0bd235f65
|
Provenance
The following attestation bundles were made for yooxn-1.0.0-py3-none-any.whl:
Publisher:
ci-cd.yml on jjwatt/yooxn
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
yooxn-1.0.0-py3-none-any.whl -
Subject digest:
ec0539482b9ce304073c242ce6987667868250ede059a2f4d3733ede4e3d6ae5 - Sigstore transparency entry: 1195145784
- Sigstore integration time:
-
Permalink:
jjwatt/yooxn@8c866eff1852ecf35f4fa1f9b54edca830a3f80d -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/jjwatt
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci-cd.yml@8c866eff1852ecf35f4fa1f9b54edca830a3f80d -
Trigger Event:
push
-
Statement type: