Artifact Audit
Artifact Audit is a lightweight command-line tool for generating deterministic SHA-256 file manifests and verifying artifact integrity.
It is designed for automated workflows, review pipelines, reproducible research, and any process where unexpected file changes need to be detected reliably.
Features
- Generate deterministic SHA-256 manifests
- Record file paths, hashes, and sizes
- Verify files against an existing manifest
- Detect modified files
- Detect missing files
- Detect unexpected files
- CI-friendly exit codes
- Machine-readable JSON manifests
- No runtime dependencies
Requirements
Python 3.10 or newer.
Installation
Install directly from PyPI:
pip install artifact-audit
Confirm the CLI is available:
artifact-audit --help
Generate a Manifest
Generate a manifest for a directory:
artifact-audit generate ./data
By default, the manifest is written to:
artifact-manifest.json
Specify another output path:
artifact-audit generate ./data --output my-manifest.json
Example manifest:
{
"algorithm": "sha256",
"files": [
{
"path": "example.txt",
"sha256": "a1b2c3...",
"size": 128
}
],
"manifest_version": 1
}
Verify Artifacts
Verify a directory against a manifest:
artifact-audit verify ./data --manifest artifact-manifest.json
If every artifact matches:
Verification passed: all artifacts match the manifest.
If something changed:
Verification failed.
Modified:
- example.txt
Artifact Audit separately identifies missing, modified, and unexpected files.
Exit Codes
| Exit code | Meaning |
|---|---|
0 |
Verification passed |
1 |
Verification failed |
This makes Artifact Audit suitable for CI pipelines and automated review workflows.
Deterministic Output
Artifact Audit intentionally excludes timestamps and sorts file paths before generating a manifest.
For unchanged input files, repeated manifest generation produces identical output.
Development
Run the test suite with:
python -m unittest discover -s tests -v
Tests also run automatically through GitHub Actions on every push and pull request to main.
Project Status
Alpha.
The core manifest generation and verification workflow is implemented and tested.
License
MIT License.
Release files for artifact-audit 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| artifact_audit-0.1.1.tar.gz | 5.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| artifact_audit-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 10.6 kB
Release files / artifact_audit-0.1.1.tar.gz
| Download URL | artifact_audit-0.1.1.tar.gz |
|---|---|
| Size | 5.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
81f525cf1b4ce49cde8d9c9688c9bba3726c118d1ac9659d6f28f26662751e41
|
|
BLAKE2b-256 checksum How to use checksums |
e65be8b8a80ac6c48cec09a31f5cf62081d6eb27680a8f0aa6723a771efe61ce
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 15, 2026.
Transparency logRelease files / artifact_audit-0.1.1-py3-none-any.whl
| Download URL | artifact_audit-0.1.1-py3-none-any.whl |
|---|---|
| Size | 5.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
32ca7e475c3271373dbc1a61ba99cc1d5a50b086c3969ae3f9b5956a01fc2cf5
|
|
BLAKE2b-256 checksum How to use checksums |
a49f7ac99b65554e8e94dab3dce5d273070f69d98cb8b71242d6ff54b411332a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 15, 2026.
Transparency log