Skip to main content

Project and package manager for Arx workspaces

Project description

arxpm

arxpm is the Arx project manager and workspace tool.

arx compiles .x files and resolves project-aware imports using build.src_dir. arxpm owns .arxproject.toml rendering, project layout inference and validation, default target selection, Python environment provisioning (via uv), and user-facing workflow commands.

Compatibility

  • Python 3.10+ is supported.
  • On Python 3.10, arxpm uses tomli as a compatibility fallback for tomllib.

Architecture

  • models.py: typed manifest models.
  • manifest.py: .arxproject.toml parsing and rendering.
  • layout.py: effective package/mode resolution and filesystem validation.
  • _toml.py: TOML parser compatibility shim (tomllib/tomli).
  • environment.py: backend-neutral environment protocol plus venv, conda, and system implementations that install packages via uv pip install --python <interp>.
  • credentials.py: keyring-backed publish credential storage.
  • project.py: project workflows (init, add, install, build, run, pack, publish).
  • healthcheck.py: manifest, layout, environment, and toolchain checks.
  • cli.py: Typer command layer.

Commands (v0)

  • arxpm init
  • arxpm config
  • arxpm install
  • arxpm add <name> [--path PATH|--git URL]
  • arxpm build
  • arxpm compile
  • arxpm run
  • arxpm pack
  • arxpm publish
  • arxpm healthcheck
  • arxpm doctor

Development

mamba env create --file conda/dev.yaml
conda activate arxpm
poetry install --with dev
pytest

The examples/ directory ships several sample projects:

  • examples/hello-arx/ — minimal app project at src/hello_arx/.
  • examples/multi-module/ — multi-file app project whose main.x imports and calls functions from sibling .x modules. See the Multi-file Projects guide.
  • examples/local_lib/ + examples/local-consumer/ — a library and a consumer that live side by side on disk so the consumer resolves imports against the library's .x files. See Local Packages for the supported layout and the current boundary around installed libraries.

Integration tests that compile and execute the examples live in tests/test_examples_integration.py and are gated on arx and uv being on PATH. Run them with:

pytest -m integration

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

arxpm-1.8.0.tar.gz (25.5 kB view details)

Uploaded Source

Built Distribution

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

arxpm-1.8.0-py3-none-any.whl (30.4 kB view details)

Uploaded Python 3

File details

Details for the file arxpm-1.8.0.tar.gz.

File metadata

  • Download URL: arxpm-1.8.0.tar.gz
  • Upload date:
  • Size: 25.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.3.4 CPython/3.10.20 Linux/6.17.0-1010-azure

File hashes

Hashes for arxpm-1.8.0.tar.gz
Algorithm Hash digest
SHA256 05940f9ad04a8ab5bc759e1ea9ae48d6ba36a06530808f08fd55f1c871b9cc02
MD5 a54b5e34cbd770b1b8a2479172fd7b08
BLAKE2b-256 617ca031a4d909495e351cde115d69ed1ef0f811d9617378ef9eccfa308ac2ff

See more details on using hashes here.

File details

Details for the file arxpm-1.8.0-py3-none-any.whl.

File metadata

  • Download URL: arxpm-1.8.0-py3-none-any.whl
  • Upload date:
  • Size: 30.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.3.4 CPython/3.10.20 Linux/6.17.0-1010-azure

File hashes

Hashes for arxpm-1.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 61e9296b6650ff9ea38119f8a8fe433c05ffd6f012614a3c855bf8077829395a
MD5 9b0ffd9b7034a25c16a7c187bd18b137
BLAKE2b-256 fc92c34c5500e10b5a888dbbb43b725ae6027bb237b26525093ef41d3630142b

See more details on using hashes here.

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