Skip to main content

AXM Init — Python project scaffolding CLI with Copier templates.

Project description

axm-init

Python project scaffolding, auditing & governance CLI.

CI axm-init Coverage Python 3.12+ Typed Ruff uv Docs


Features

  • 🚀 Scaffold — Bootstrap production-grade Python projects with Copier templates
  • 📋 Audit — Score any project against the AXM gold standard (37 checks, A–F grade)
  • 📦 Reserve — Claim a package name on PyPI before you're ready to publish

Installation

uv add axm-init

Quick Start

# Scaffold a new project
axm-init init my-project \
  --org axm-protocols \
  --author "Your Name" --email "you@example.com"

# Audit against AXM standards
axm-init audit
# Score: 100/100 — Grade A 🏆

# Reserve a name on PyPI
axm-init reserve my-cool-lib --dry-run

CLI Commands

axm-init init

Scaffold a production-grade Python project (src layout, PEP 621, CI, docs).

Option Short Default Description
PATH . Directory to initialize
--org -o required GitHub org or username
--author -a required Author name
--email -e required Author email
--name -n dir name Project name
--license -l MIT License (MIT, Apache-2.0, EUPL-1.2)
--license-holder --org License holder
--description -d One-line description
--check-pypi False Verify PyPI availability first
--json False Output as JSON

axm-init audit

Score a project against the AXM gold standard (38 checks across 7 categories).

Option Short Default Description
PATH . Directory to audit
--category -c all Filter to one category
--json False Output as JSON

Categories: pyproject, ci, tooling, docs, structure, deps, changelog

axm-init reserve

Reserve a package name on PyPI with a minimal placeholder.

Option Short Default Description
NAME required Package name to reserve
--author -a Gabriel Jarry Author name
--email -e jarry.gabriel@gmail.com Author email
--dry-run False Skip actual publish
--json False Output as JSON

Development

git clone https://github.com/axm-protocols/axm-init.git
cd axm-init
uv sync --all-groups
uv run pytest           # 317 tests
uv run ruff check src/  # lint

License

Apache License 2.0

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

axm_init-0.2.0.tar.gz (2.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

axm_init-0.2.0-py3-none-any.whl (64.8 kB view details)

Uploaded Python 3

File details

Details for the file axm_init-0.2.0.tar.gz.

File metadata

  • Download URL: axm_init-0.2.0.tar.gz
  • Upload date:
  • Size: 2.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for axm_init-0.2.0.tar.gz
Algorithm Hash digest
SHA256 c60084283f6f88a50bb870bcf11fe7c6fbd8eff03443133666a076ca7ada58e9
MD5 48714815f2acaf91bd2662f07281de6f
BLAKE2b-256 587983673b409ffeb1bd18a66906fc2f55381b6b95d338bc16ec4bb024fa3be8

See more details on using hashes here.

Provenance

The following attestation bundles were made for axm_init-0.2.0.tar.gz:

Publisher: publish.yml on axm-protocols/axm-init

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file axm_init-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: axm_init-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 64.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for axm_init-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 991c7678f71c07a0190a0eef6a230acb14d97b3b8b80448b59940488351de2c4
MD5 380c02a0130b28bce8df84994f2de280
BLAKE2b-256 60ce2a1cf48e9384853b40dd9ebe1073ea20d0feeecece12cecd3779eeea8aba

See more details on using hashes here.

Provenance

The following attestation bundles were made for axm_init-0.2.0-py3-none-any.whl:

Publisher: publish.yml on axm-protocols/axm-init

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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