Skip to main content

AXM Logo

axm-doctor — Environment detection and setup orchestration

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


Environment detection, install planning and credential setup orchestration for AXM. Python 3.12+; part of the axm-forge workspace.

Features

  • Report installed tools, authentication states and missing credentials.
  • Prepare install plans without executing them.
  • Expose structured preflight through AXM tools and a human-readable CLI.
  • Orchestrate confirmed setup through axm-vault without owning a secret store.

Installation

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

uv add axm-doctor

Quick Start

After installation, inspect the environment:

uv run axm-doctor check

check reports tools, third-party authentication, declaration provenance and missing credentials. It does not install or prompt. Normal reporting exits 0; --strict exits 1 for absent tools, logged_out auth or any missing credential, including optional ones. Operational errors also exit 1 without --strict.

Usage

Choose an interface

Need Interface
Human-readable environment report / CI exit code axm-doctor check [--strict]
Structured request–response preflight env_doctor AXMTool
Authentication and value-free provenance auth_status AXMTool
Inspect one tool or prepare an install Root Python exports
Interactive install / vault setup axm-doctor bootstrap

The AXM tools are discovered through axm.tools, exposed as axm env_doctor and axm auth_status, through MCP, and through tool_node. Successful report generation does not mean the machine is healthy; evaluate the returned states for your own preflight policy.

Install and inspect

Use uv run axm-doctor check --strict when the report should gate CI.

from axm_doctor import install_command, run_install

plan = install_command("uv")
assert plan is not None
print(plan.human_command)
result = run_install(plan)
assert not result.executed

Planning runs nothing. Installation requires run_install(plan, confirm=True). The built-in uv plan currently pins 0.8.4; a plan is not a latest-version lookup.

Boundaries

  • Importing axm_doctor resolves exports lazily; detect_tool needs only stdlib and pydantic. Full reports also use axm-config and axm-vault.
  • Authentication probes belong to installed credential declarations. Without a declaration, an installed binary is undetermined. A declared probe failure or timeout is currently logged_out; it is not proof of logout. detect_auth currently leaves login_cmd=None.
  • Reports contain metadata, not credential values. Detection can launch subprocesses and invoke provider probes; read-only does not mean no I/O.
  • Doctor owns no credential store. provision_missing() plans groups; confirmed execution delegates writes and prompts to vault. provide_secret() writes a value the caller already holds through vault without a TTY, and attests it by re-resolving the catalog rather than by the write returning.

Documentation

Getting started · Task guides · CLI · Python contracts · Architecture and limits

Published documentation.

The README is the repository entry point; docs/index.md is the site homepage.

Development

From the axm-forge workspace root:

uv sync --all-packages --all-groups
uv run --package axm-doctor --directory packages/axm-doctor pytest
uv run --package axm-doctor --directory packages/axm-doctor --group docs mkdocs build --strict

The package's configured test root is tests_axm_doctor/. Its standalone MkDocs build uses the documentation dependencies from the docs group.

License

Licensed under Apache-2.0. See LICENSE.

Metadata

Release files for axm-doctor 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-doctor 0.2.0
File Size Uploaded
axm_doctor-0.2.0.tar.gz 62.7 kB Details

Built distribution (wheel)

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

Total release size: 91.7 kB

Release files / axm_doctor-0.2.0.tar.gz

Download URL axm_doctor-0.2.0.tar.gz
Size 62.7 kB
Tags Source
SHA-256 checksum
How to use checksums
e880836f8bab777e17893af324eb28794b0769e4301f801ed3aa1e880d6db75d
BLAKE2b-256 checksum
How to use checksums
835be73a4e10870fd23d97f8adf05d2f5a7548f5a3155bf177b7c0c5aa5eb1af
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_doctor-0.2.0-py3-none-any.whl

Download URL axm_doctor-0.2.0-py3-none-any.whl
Size 29.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2dd7b92858b129a3bbe2b3067c90bc27c926b37df8e89fa6a2438864f3e5cd8d
BLAKE2b-256 checksum
How to use checksums
04de3b5b38bc96e51ea4fdf507b6fadf8b285106bedfa3efba5d819fabebf403
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.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