Skip to content

axm-ingot

Shared Python helpers with zero runtime dependencies. Use them for uv workspace discovery, compact text, duration formatting, console-script lookup and pytest outcome tallies. Python 3.12+ is required.

This package registers no CLI and no axm.tools entry point. Import its functions directly. Workspace, suite and console helpers read the filesystem; they do not write files or launch processes.

Need Start here
Learn with a disposable workspace Getting started
Locate projects and workspace members Workspace recipes
Replace a local text renderer Renderer migration
Find a helper and its import path API reference
Understand the dependency boundary Architecture
Move shared code into this package Promote a helper

Install and try

Bash
uv add axm-ingot
Python
from axm_ingot import format_duration, header, tally_outcomes

counts = tally_outcomes(["FAILED tests/test_a.py", "SKIPPED tests/test_b.py"])
text = header("check", f"{counts['failed']} failed in {format_duration(1500)}")
assert text == "check | 1 failed in 1.5s"

The README is the repository entry point; this page is the documentation home.

Contracts to keep in mind

  • Workspace members use directory basenames, which need not be unique or match distribution names.
  • Rendered text is for people. It is not an escaped, reversible serialization.
  • Defensive behavior is function-specific. There is no package-wide guarantee that arbitrary inputs cannot raise.