Skip to main content

Release Certify

Release Certify proves that the exact code you are about to release passes your quality, packaging, installation, and runtime checks.

pipx install release-certify

Add release.evidence.yaml:

release:
  kind: application

quality:
  lint:
    command: python -m ruff check .
  typing:
    command: python -m mypy .
  tests:
    command: python -m pytest -q

packaging:
  install:
    command: pip install -r requirements.txt

runtime:
  smoke:
    - command: python app.py --help
      expected_exit: 0

imports:
  - my_app

artifact:
  type: source-tree

Then run:

release-certify

Release Certify runs every declared check, installs the release in a clean environment, verifies its public imports and startup command, and produces a deterministic certificate. A failed proof exits with status 1, making the same command suitable for local work and CI.

It does not replace Ruff, MyPy, or pytest. It proves that all of them—and the installable result—agree that this release is ready.

A successful certificate says EVIDENCE CERTIFIED: the declared commands passed for the byte-identified artifact in the recorded environment. It does not claim that those commands are adequate or that untested environments are safe. See the Certificate Trust Model.

Commands

release-certify
release-certify --verbose
release-certify --json
release-certify --version

Exit code 0 means certified. Exit code 1 means the release is not certified or the contract is invalid.

Development

python -m pip install -e ".[dev]"
python -m ruff check .
python -m mypy src tests benchmarks tools
python -m pytest
python benchmarks/mutation_benchmark.py

Architecture

Release Certify was extracted from the Operational Visibility Engine. The standalone package owns its contract parser, discovery, evidence models, runner, certifier, cache, serializer, console, and CLI, and has no runtime dependency on OVE.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

release_certify-1.0.0.tar.gz (18.0 kB view details)

Uploaded Source

Built Distribution

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

release_certify-1.0.0-py3-none-any.whl (23.9 kB view details)

Uploaded Python 3

File details

Details for the file release_certify-1.0.0.tar.gz.

File metadata

  • Download URL: release_certify-1.0.0.tar.gz
  • Upload date:
  • Size: 18.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for release_certify-1.0.0.tar.gz
Algorithm Hash digest
SHA256 0448e65d52e956fa17cf29d4ab4e6c1fc59baf98827c61b0aaea3674d7239b3e
MD5 6209678f867f7fc092994e82bf933d4c
BLAKE2b-256 7f4e618799ca011722b06da952c61d52f4b49990966e3d00cb21c1547e1486e3

See more details on using hashes here.

Provenance

The following attestation bundles were made for release_certify-1.0.0.tar.gz:

Publisher: publish-pypi.yml on cweedman1/release-certify

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

File details

Details for the file release_certify-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for release_certify-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4cdfa247cd878eaf5254f15f1549b0d9fc074a1ac544fd4d624c4f267a0532c1
MD5 5bb51aceaedb91d531a89adf51d5064c
BLAKE2b-256 4352bac5c8a2f688202edd7e820d380321bc95927e086800af3d3dc672c346ef

See more details on using hashes here.

Provenance

The following attestation bundles were made for release_certify-1.0.0-py3-none-any.whl:

Publisher: publish-pypi.yml on cweedman1/release-certify

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