ArtifactQA
Evidence-bound inspection receipts for generated media and other binary artifacts.
ArtifactQA does not certify safety, copyright clearance, legal compliance or overall visual quality. It makes one narrower guarantee: an inspection verdict is attached to the SHA-256 of the exact file that was inspected. An unavailable inspector produces unknown, never pass.
Install
pip install artifactqa
Example
from artifactqa import Inspection, inspect
receipt = inspect(
"render.mp4",
inspector=lambda path: Inspection(verdict="pass", summary="no visible defect"),
inspector_name="local-policy-check",
policy_version="2026-08",
)
assert receipt.matches("render.mp4")
Integration guidance
Treat unknown as a blocking state for automated downstream actions. Store the receipt with the artifact and create a new receipt after each binary change. Use Approval Ledger or another human-review system for the decision to release an artifact.
Development
PYTHONPATH=src python -m unittest discover -s tests -v
uv build
License
MIT. See LICENSE.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file artifactqa-0.1.0.tar.gz.
File metadata
- Download URL: artifactqa-0.1.0.tar.gz
- Upload date:
- Size: 3.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aade638cb8243997313be240af8f1bc184e56374081548c223c3df57b4bce653
|
|
| MD5 |
bbdaf432efda2ae8d3da9d86325711bd
|
|
| BLAKE2b-256 |
1783c10ba288b542fc42f7f7599dd25d739b57002edc03c77db592822c0c55f4
|
Provenance
The following attestation bundles were made for artifactqa-0.1.0.tar.gz:
Publisher:
publish.yml on Mihailorama/artifactqa
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
artifactqa-0.1.0.tar.gz -
Subject digest:
aade638cb8243997313be240af8f1bc184e56374081548c223c3df57b4bce653 - Sigstore transparency entry: 2531609568
- Sigstore integration time:
-
Permalink:
Mihailorama/artifactqa@be0af362e3578e4e0840ea314faabd11f5c6e63d -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/Mihailorama
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@be0af362e3578e4e0840ea314faabd11f5c6e63d -
Trigger Event:
release
-
Statement type:
File details
Details for the file artifactqa-0.1.0-py3-none-any.whl.
File metadata
- Download URL: artifactqa-0.1.0-py3-none-any.whl
- Upload date:
- Size: 3.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3eaf5c58bacab1c824ddfa51b544bf48ebcaad2bb514cbb5f702c3748905d271
|
|
| MD5 |
9bd45df9e93320b7974be85a9bba6168
|
|
| BLAKE2b-256 |
54c89a9b7e322c37a68c35969137549d13a1b90f0c65386249e9edeb8e970635
|
Provenance
The following attestation bundles were made for artifactqa-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on Mihailorama/artifactqa
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
artifactqa-0.1.0-py3-none-any.whl -
Subject digest:
3eaf5c58bacab1c824ddfa51b544bf48ebcaad2bb514cbb5f702c3748905d271 - Sigstore transparency entry: 2531609651
- Sigstore integration time:
-
Permalink:
Mihailorama/artifactqa@be0af362e3578e4e0840ea314faabd11f5c6e63d -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/Mihailorama
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@be0af362e3578e4e0840ea314faabd11f5c6e63d -
Trigger Event:
release
-
Statement type: