Skip to main content

Command-line interface for the Mammoth Analytics platform

Project description

mammoth-cli

A typed command-line interface for the Mammoth Analytics platform. The executable is mammoth.

The CLI uses the public mammoth-io SDK for all Mammoth requests. It does not build a second HTTP client and does not call private SDK members.

Status

Stable. mammoth-cli 1.0.0 is a production release; the command surface and the machine-output contract are covered by the compatibility policy below.

Versioning & support

mammoth-cli follows Semantic Versioning for the 1.x series. Within the 1.x major line:

  • The machine-output and error-envelope contract is stable. SCHEMA_VERSION (see mammoth_cli/__init__.py) identifies that contract and does not change incompatibly within a major version; new fields may be added, but existing fields and their meanings are preserved.
  • The CLI surface is stable: command names, subcommands, flags, and exit codes are not removed or repurposed. New commands, flags, and output fields may be added in minor releases.
  • Bug fixes ship in patch releases; additive, backward-compatible changes ship in minor releases.

Any breaking change to the machine-output contract or the CLI surface bumps the major version (2.0.0).

Layout

Path Purpose
mammoth_cli/ CLI package (app, commands, contracts, services, context, output, errors, manifest, skills, messages).
spec/openapi/ Pinned production OpenAPI snapshot and metadata.
spec/manifests/ Reviewed parity manifests: operations, SDK methods, commands, and the schema.
spec/reports/ Generated parity report and expected red-first baseline.
scripts/ Deterministic build scripts (offline, no login).
tests/ Contract, unit, subprocess, and guarded live tests.

Reproducing the manifests

python scripts/sync_openapi.py --check    # verify the pinned snapshot digest
python scripts/build_manifests.py         # regenerate the three manifests
python scripts/build_parity_report.py     # regenerate spec/reports/parity.md

Refreshing the pinned snapshot from the network is an explicit maintenance operation (python scripts/sync_openapi.py); ordinary CI never fetches it.

Development

pytest tests/ -q                 # unit + contract tests (live tests deselected)
ruff check mammoth_cli scripts tests
black mammoth_cli scripts tests
mypy mammoth_cli

Releasing

The CLI and its mammoth-io SDK dependency publish from independent, tag-triggered workflows (cli-v* / sdk-v*); the SDK must publish first. The full process — tag-triggered CI (Trusted Publishing + Sigstore-signed installer assets), one-time PyPI setup, the local fallback, and the dependency lock — is documented in ../RELEASING.md.

poetry.lock pins the resolved dependency tree; CI runs poetry check --lock to keep it consistent with pyproject.toml.

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

mammoth_cli-1.0.1.tar.gz (404.5 kB view details)

Uploaded Source

Built Distribution

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

mammoth_cli-1.0.1-py3-none-any.whl (507.5 kB view details)

Uploaded Python 3

File details

Details for the file mammoth_cli-1.0.1.tar.gz.

File metadata

  • Download URL: mammoth_cli-1.0.1.tar.gz
  • Upload date:
  • Size: 404.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.6

File hashes

Hashes for mammoth_cli-1.0.1.tar.gz
Algorithm Hash digest
SHA256 53d9071a213ecdc5a43039b99fc16d2bf02e5b8e604d20b5fb9808a192cfa558
MD5 b9456a037bb99ab77986e45fc933b515
BLAKE2b-256 79f6b618b2854f90f0b90cca071f963a74048db51a05d4a754b08e671ba313d3

See more details on using hashes here.

File details

Details for the file mammoth_cli-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: mammoth_cli-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 507.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.6

File hashes

Hashes for mammoth_cli-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1e66b3b3d740f6bdd71cb46e6861ddbc2e0113ecf69f8163483dda13706fc519
MD5 63a368767a4917217fe96c1202c09bc4
BLAKE2b-256 86b9c5efb728e137762f0d1c03958e6d7fafb6f0bbbb15c37a58ae5f2ce179ef

See more details on using hashes here.

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