Skip to main content

Project and package manager for Arx workspaces

Project description

arxpm

arxpm is the Arx project manager and workspace tool.

arx provides the shared .arxproject.toml loading, parsing, and validation API. arxpm owns manifest rendering, workspace lifecycle, 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.
  • _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>.
  • project.py: project workflows (init, add, install, build, run, pack, publish).
  • healthcheck.py: health checks for environment and manifest.
  • cli.py: Typer command layer.

Commands (v0)

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

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 single-file project.
  • examples/multi-module/ — multi-file 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.5.0.tar.gz (19.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.5.0-py3-none-any.whl (23.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: arxpm-1.5.0.tar.gz
  • Upload date:
  • Size: 19.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.5.0.tar.gz
Algorithm Hash digest
SHA256 e614935c767203142db0538ae9adc88e943d755582bd79be6cabf96b11d0672c
MD5 6eaed2d01a7f2c7bb1308e99bcdf267e
BLAKE2b-256 e0e40195d81302aed7da14a7de225e8c81a1f97f2374a63cdfa669f38bbf0c18

See more details on using hashes here.

File details

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

File metadata

  • Download URL: arxpm-1.5.0-py3-none-any.whl
  • Upload date:
  • Size: 23.2 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.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9152f571d287b499aa19a30e938b0f907d82b42076bb86c9e7b22c4d078dfd27
MD5 8a1e53aa973dd2ae2ddcf69f3e228060
BLAKE2b-256 b368d15629015a8041ebe60c178f179b8508a203d70a6656b456603766756be1

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