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 computes candidate state paths.

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 calculates candidate paths; it does not audit the actual configuration of every consumer. 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. 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.2.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.2.0
File Size Uploaded
axm_config-0.2.0.tar.gz 72.8 kB Details

Built distribution (wheel)

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

Total release size: 108.8 kB

Release files / axm_config-0.2.0.tar.gz

Download URL axm_config-0.2.0.tar.gz
Size 72.8 kB
Tags Source
SHA-256 checksum
How to use checksums
c3993cbc10647915f6f35b7b4bfecc42caaab4c3cebb919d425dc550e94685e2
BLAKE2b-256 checksum
How to use checksums
9943f2335f400b8cf123347079c4fd1551fd7c3c6105342eddb72a8e61d8cf01
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 Sep 17, 2026.

Transparency log

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

Download URL axm_config-0.2.0-py3-none-any.whl
Size 36.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f0b35e8a7cab9d8f716657cd30da17195d773fa39bf2abe653b36704640a41d4
BLAKE2b-256 checksum
How to use checksums
6b2db804ee3b086265c2990011f05054d5be7ce557965ec6784fbf86d827a2e2
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 Sep 17, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.0 This release

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