Skip to main content

Precision AI Logo

Precision AI Pace

License PyPI Python


Pace follows semantic versioning. Before 1.0, a minor version may change the Python API, but the [pace ...] line format only grows: new keys, never a changed one. (0.1 replaced the 0.0.x [pace:1 ...] format, which it does not read.)

Pace is a logger with progress reporting built in. Its output reads like any good logger in a terminal, and every progress line also carries a short, versioned trailer that a scheduler can read to estimate when the job will finish.

  • One way to log across projects: the same levels, format and progress bars everywhere.
  • Progress for real ML work: loops, manual counters, timed steps, phases, PyTorch Lightning and Hugging Face training.
  • Completion estimates: the terminal shows time remaining, and a scheduler such as OrchAI gets the same estimate from the job's logs.
  • No dependencies in the core, and Python 3.11 or later, so it fits into existing training images.

Installation

pip install precisionai-pace

Usage

from precisionai.pace import capture_logging, logger, progress, track

capture_logging()  # route PyTorch's and Transformers' standard logging through Pace

logger.info("Loading model")
logger.success("Model ready")

for batch in track(loader, description="Inference", unit="batch"):
    infer(batch)

with progress(total=len(requests), description="Evaluation", unit="request") as run:
    for future in as_completed(futures):
        consume(future.result())
        run.advance()

Also available: timed, phase and plan for multi-stage jobs, root=True to mark the scope that stands for the whole job, and completed= with resumed=True to resume from a checkpoint. Settings come from logger.configure(...) or PACE_* environment variables, so a scheduler can change them without code changes.

In a terminal, progress is one bar that redraws in place. In a container or a log file it is a rate-limited line like this one:

2026-11-03T17:36:42Z PROGRESS Train  1840/5000  36.8%  2.4 step/s · ~21m57s  [pace train c=1840 t=5000 e=763.1 q=57 r=6bfc3dd5 root]

The part before [pace ...] is for people. The bracketed trailer is a stable, versioned format described in docs/design.md; a program that reads it should use parse_line, LineSplitter and JobForecast (see Reading Pace output).


Documentation

Page Read it for
Getting started Install, first log lines, first progress loop, terminal vs container output.
Logging Levels, exception, configure and precedence, capture_logging, colour, encodings, ranks.
Progress track, progress, timed, phase, plan, nesting, resuming, root scope, emission rates, the terminal bar.
Examples One runnable script per style of logging and progress: loops, epochs, resuming, phases, ranks, reading the output.
Framework integrations The PyTorch Lightning and Hugging Face Transformers callbacks.
Migrating From print, tqdm, Loguru and logging.
Configuration Every PACE_* variable and its configure equivalent.
Reading Pace output For programs that read logs: parsing, de-duplication, estimates, conformance fixtures.
FAQ Short answers.
Specification The line format and the forecasting rules.

The HTML build of these pages (and the module reference) is produced with Sphinx:

cd docs
make html       # HTML docs → docs/_build/html/index.html
make latexpdf   # PDF      → docs/_build/latex/documentation.pdf

Dependencies: pip install -r docs/requirements.txt


Development

python -m venv .venv
source .venv/bin/activate

pip install -e ".[dev]"
pre-commit install

python -m pytest

Coverage must remain at or above 90%, enforced by pytest and the pre-commit hook. CI runs the tests on Python 3.11 through 3.13.


Project layout

precisionai/pace/   # the package (core: standard library only)
docs/               # Sphinx (HTML + LaTeX/PDF), including design.md
skills/adopt-pace/  # Claude Code skill that adds Pace to a repository
examples/           # runnable examples
tests/              # mirrors the package structure

See CLAUDE.md for the coding standard.


Releasing

Push a tag matching v*.*.* (e.g. v0.1.0) to trigger .github/workflows/release.yml, which runs the test suite, builds the sdist and wheel, publishes to PyPI via trusted publishing, and creates a GitHub Release. The version comes from the git tag via setuptools-scm. Update CHANGELOG.md before tagging.


Security

To report a security vulnerability, see SECURITY.md. Do not open a public issue.


Contributing

See CONTRIBUTING.md for setup and PR guidelines, and CODE_OF_CONDUCT.md for community expectations.


License

Apache 2.0 © Precision AI

Metadata

Release files for precisionai-pace 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for precisionai-pace 0.1.3
File Size Uploaded Provenance Actions
precisionai_pace-0.1.3.tar.gz 93.9 kB With provenance Details for precisionai_pace-0.1.3.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for precisionai-pace 0.1.3
File Interpreter ABI Platform Actions
precisionai_pace-0.1.3-py3-none-any.whl Python 3 none any Details for precisionai_pace-0.1.3-py3-none-any.whl

Total release size: 156.1 kB

Release files / precisionai_pace-0.1.3.tar.gz

Download URL precisionai_pace-0.1.3.tar.gz
Size 93.9 kB
Tags Source
SHA-256 checksum
How to use checksums
f3cf0040f7eaf2305ad3501b024ce2ed65d02aed35d6bb65217b81115da9ecbb
BLAKE2b-256 checksum
How to use checksums
f6fe8220b95e9fce409b983d6202bf4230bba43910cb676dd4bd449a8f82ca60
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 5, 2026.

Transparency log

Release files / precisionai_pace-0.1.3-py3-none-any.whl

Download URL precisionai_pace-0.1.3-py3-none-any.whl
Size 62.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
016ac6e4a6e33409286ac5cdebdec4a86d2f78e8a0d168315d2d7e7b1d5fe93c
BLAKE2b-256 checksum
How to use checksums
37a3afdc734cc08cf68a53448558331ce4b89ef5431fc10697536a33b48357f1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 5, 2026.

Transparency log

Security for precisionai-pace 0.1.3

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for precisionai_pace-0.1.3.tar.gz

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 Nov 5, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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