Provedown
Provedown makes claims in Markdown and HTML reports independently verifiable. Attach small Python or DuckDB SQL calculations to important values, then run a deterministic verifier to catch stale or incorrect prose.
Documentation | First verified report | Markup reference
Install
Provedown requires Python 3.10 or later and is available from PyPI:
pip install provedown
Quick Start
Create report.md:
# Order Summary
<pre><code>
orders = [
{"status": "paid", "amount": 120},
{"status": "refunded", "amount": 45},
{"status": "paid", "amount": 75},
]
paid = [order for order in orders if order["status"] == "paid"]
total = sum(order["amount"] for order in paid)
</code></pre>
The report includes <span class="result" data-code="len(paid)">2<span class="method"></span></span> paid orders totaling <span class="result" data-code="f'${total}'">$195<span class="method"></span></span>.
Verify it:
provedown verify report.md
Provedown reruns the calculation and checks both authored values:
report.md: ok
pass=2, fail=0, skip=0, error=0
The HTML elements have separate jobs:
codecontains executable evidence. The surroundingprepreserves its multiline layout for readers.span.resultcontains an authored value and the expression that must reproduce it.
Provedown reports mismatches but does not rewrite the document. The Markdown or HTML file remains the source of truth.
Capabilities
- Execute embedded Python or DuckDB SQL.
- Query local CSV files from SQL or Python reports.
- Check exact values, numeric tolerances, and set equality.
- Reuse named calculations across multiple claims.
- Inspect dependencies between evidence and claims.
- Render evidence as visible, expandable, or claim-only HTML.
Learn More
Metadata
Release files for provedown 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| provedown-0.1.0.tar.gz | 124.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| provedown-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 154.9 kB
Release files / provedown-0.1.0.tar.gz
| Download URL | provedown-0.1.0.tar.gz |
|---|---|
| Size | 124.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ae1bf6c99fc5eed136b5b2ba2dd9dc6026ff405fbc8b6145c4eac67c7a65037b
|
|
BLAKE2b-256 checksum How to use checksums |
8c1ff9fda784045bb25fd95ceee1f8c59f267ebcf816df86b70f2812a02c2e6a
|
| 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 Aug 11, 2026.
Transparency logRelease files / provedown-0.1.0-py3-none-any.whl
| Download URL | provedown-0.1.0-py3-none-any.whl |
|---|---|
| Size | 31.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a9b491061a2592b7d82d66d78530ef0c9b0f4565937cc96f599865ebf0c304db
|
|
BLAKE2b-256 checksum How to use checksums |
07a41f67bc3540bc1431ecfc1068636c5126d94e0b27edc37c0312641ad8ae9e
|
| 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 Aug 11, 2026.
Transparency log