Skip to main content

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.

CI

Features

  • Multi-pass architecture: Ensures reliable label resolution and address calculation.
  • Macro support: Full support for uxntal macros, including nested definitions.
  • Sub-label scoping: Standard @parent and &child scoping 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


Download files

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

Source Distribution

yooxn-1.0.0.tar.gz (468.8 kB view details)

Uploaded Source

Built Distribution

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

yooxn-1.0.0-py3-none-any.whl (32.8 kB view details)

Uploaded Python 3

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

Hashes for yooxn-1.0.0.tar.gz
Algorithm Hash digest
SHA256 f8cc8880c96029e919c68ff92e5cfb77db74bc7ecaa3cd1d0c3bcf975d635f27
MD5 fa0c28cd3a0d969ecd08eb942be32f65
BLAKE2b-256 167f0fea8bfc378ced326457d5b4f384ac386f75308ae9f639defedc33564322

See more details on using hashes here.

Provenance

The following attestation bundles were made for yooxn-1.0.0.tar.gz:

Publisher: ci-cd.yml on jjwatt/yooxn

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for yooxn-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ec0539482b9ce304073c242ce6987667868250ede059a2f4d3733ede4e3d6ae5
MD5 b89f254467e313a55241373fe36542b1
BLAKE2b-256 f4c689da0f86f94b59ce166458ef769b2a2dd86ff6040587b52ed8e0bd235f65

See more details on using hashes here.

Provenance

The following attestation bundles were made for yooxn-1.0.0-py3-none-any.whl:

Publisher: ci-cd.yml on jjwatt/yooxn

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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