Skip to main content

AXM Logo

axm-config — Non-sensitive runtime configuration for AXM

CI axm-audit axm-init Coverage PyPI Python 3.12+ Docs


axm-config provides non-sensitive runtime configuration for AXM: environment overrides, TOML persistence, typed settings and named profiles. Resolution follows environment > file > default.

Features

  • get, get_file, set_, delete and load provide resolution and model binding.
  • Typed accessors share runtime paths, warden settings and inference defaults.
  • Execution-policy helpers persist complete backend/model pairs and analysis overrides.
  • config_doctor reports provenance; profile_isolation reports the resolved state paths.
  • A pytest11 plugin sandboxes the AXM state paths of every pytest session under a temporary root; see Isolate test sessions.

Installation

Requires Python 3.12 or newer. In a Python project managed by uv:

uv add axm-config
uv run axm-config --help

Quick Start

Choose an unused profile name for this example:

AXM_PROFILE=docs-demo uv run axm-config set research.demo timeout 30
AXM_PROFILE=docs-demo uv run axm-config get research.demo timeout
AXM_PROFILE=docs-demo AXM_RESEARCH__DEMO_TIMEOUT=10 uv run axm-config get research.demo timeout
AXM_PROFILE=docs-demo uv run axm-config delete research.demo timeout

The two reads print 30, then 10: the environment overrides the stored value. The final command deletes the example key. These commands write to ~/.axm/profiles/docs-demo/config.toml; the profile file can remain afterward. The CLI stores strings; use the Python API for TOML integers and booleans.

Usage

CLI and tools

The axm-config command exposes get, set, delete, path and doctor. Installed AXMTool entry points also expose diagnostics through the generic CLI:

uv run axm config_doctor --namespace research.demo
uv run axm profile_isolation --profile scratch

config_doctor reports where settings come from without returning their values. profile_isolation reports the state paths the resolver would use for a profile, honouring configured overrides and creating nothing. See the CLI and tool contracts.

Python configuration

Import the public helpers from axm_config. Use get for raw resolution, get_file to omit environment overrides, and load(namespace, model) to bind settings to a Pydantic model. Use get_file_namespace(namespace) when validating the complete persisted tree, including unknown keys and nested tables, rather than selecting only declared fields. See typed consumer configuration and the Python contracts.

Profiles and persistence limits

An unset or empty AXM_PROFILE selects production at ~/.axm/config.toml. Each file replacement is atomic; concurrent read-modify-write operations are not serialized. See the persistence limits before automating writes.

Passwords, tokens and API keys belong in axm-vault, not this plaintext store. AXM_HOME is not a general store override; see the profile guide.

Documentation

The documentation home is the MkDocs landing page; this README is the repository/package introduction.

Development

Part of the axm-forge workspace. From the workspace root:

uv sync --all-packages --all-groups
uv run --package axm-config --directory packages/axm-config pytest

The package test directory is packages/axm-config/tests_axm_config.

Build this package's documentation from its directory with mkdocs build --strict, using an environment containing its local installation, MkDocs Material and mkdocstrings with the Python handler. The package configuration also works when included by the workspace site.

License

Licensed under Apache-2.0. See LICENSE.

Metadata

Release files for axm-config 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for axm-config 0.3.0
File Size Uploaded
axm_config-0.3.0.tar.gz 95.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for axm-config 0.3.0
File Interpreter ABI Platform
axm_config-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 138.9 kB

Release files / axm_config-0.3.0.tar.gz

Download URL axm_config-0.3.0.tar.gz
Size 95.7 kB
Tags Source
SHA-256 checksum
How to use checksums
ff3ef9064cbd0a71718990d832138e323729e90d76d7cceae96e442592d883aa
BLAKE2b-256 checksum
How to use checksums
0ab20e943a304d4a5b0f64b63bddc147e01770b48bd69493bcffefe9e39af795
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / axm_config-0.3.0-py3-none-any.whl

Download URL axm_config-0.3.0-py3-none-any.whl
Size 43.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6f3329bc596b8d1d31cea9dd7a334bcf06b58e9b9b3fc9f7ce25a75472665d05
BLAKE2b-256 checksum
How to use checksums
3aa66b943eef8c73d302b87985eb86073f1b5bd6c83be1ad2eac4259dbb64d6b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page