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-0.9.2.tar.gz (467.5 kB view details)

Uploaded Source

Built Distribution

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

yooxn-0.9.2-py3-none-any.whl (32.6 kB view details)

Uploaded Python 3

File details

Details for the file yooxn-0.9.2.tar.gz.

File metadata

  • Download URL: yooxn-0.9.2.tar.gz
  • Upload date:
  • Size: 467.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for yooxn-0.9.2.tar.gz
Algorithm Hash digest
SHA256 b302e5fde0549222a5454a1018f7413abdd48c2e78594190bc3a6bc0223ba5e1
MD5 38047b860b4026f2e38cf50d3c4722e4
BLAKE2b-256 95fd12b3ae5cbac95de1a705dd4cf45f952f217523082e8a1dadb86bd22cd893

See more details on using hashes here.

Provenance

The following attestation bundles were made for yooxn-0.9.2.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-0.9.2-py3-none-any.whl.

File metadata

  • Download URL: yooxn-0.9.2-py3-none-any.whl
  • Upload date:
  • Size: 32.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for yooxn-0.9.2-py3-none-any.whl
Algorithm Hash digest
SHA256 49afbdc40a64b592f12500ad64e04cbd94f56098dee9951c5c6cf5b368ebece7
MD5 cdaa35b4c9f455c5e4446bbe4d7706c7
BLAKE2b-256 52ef1fa388c770d9516add7c977dd91b4f10f964308305189fa4f641189e6ca7

See more details on using hashes here.

Provenance

The following attestation bundles were made for yooxn-0.9.2-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