pywrit 🏴☠️
Arrr! The Writ CLI — ask before yer agent writes.
pip install pywrit
writ key --email you@company.com
Writ is an allow/deny gate that sits in front of every write your AI agent makes. Each check writes a tamper-evident receipt to your audit log. No more wondering who called what, or when.
Shiver me timbers, it's that simple.
What it does
writ key— Get a free API key (1,000 receipts/month, no card)writ check— Ask the gate before a write (ALLOW or DENY)writ revoke— Kill switch: revoke a principal's tokens in one clickwrit receipts— See your audit logwrit scan— Find every write in your repo and instrument it
Docs
Full docs at docs.withwrit.com. Quickstart at docs.withwrit.com/quickstart.
Packaging notes (for maintainers)
Installable distribution of the Writ CLI. pip install pywrit gives you the
writ command — no curl + chmod dance.
Layout
pyproject.toml— package metadata,writconsole-script entry pointwrit_cli/__init__.py— versionwrit_cli/cli.py— the CLI itself (stdlib-only: argparse, json, urllib)
Relationship to gate/web/writ
gate/web/writ is the self-contained single-file script served by the Lambda
at /writ (the curl -fsSL ... -o writ download path). It must stay a single
file with no install step.
writ_cli/cli.py is the PyPI package source. The two files are currently
byte-identical by copy. If you change CLI behavior, update both and keep
them in sync — the download path and the pip path must behave the same.
Build & test locally
cd cli
python -m build # needs `pip install build`
pip install -e . # editable install, creates the `writ` command
writ --help
Publish
cd cli
python -m build
twine upload dist/*
Metadata
Release files for pywrit 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pywrit-0.1.3.tar.gz | 11.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pywrit-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 23.9 kB
Release files / pywrit-0.1.3.tar.gz
| Download URL | pywrit-0.1.3.tar.gz |
|---|---|
| Size | 11.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
da7a178e14dfed8a7f2d04d89232f32817820cb3c6aeb3c4d9d27683af697de6
|
|
BLAKE2b-256 checksum How to use checksums |
d3d9352688748cc51b6a76a96f46f11c2dc8604bf6aa7ddd7aedaadb54b342ae
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.16
|
Release files / pywrit-0.1.3-py3-none-any.whl
| Download URL | pywrit-0.1.3-py3-none-any.whl |
|---|---|
| Size | 12.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f4acbb814d5ef9cab0405ad985be5082412e6694ef40e3403cb04ebc3666d221
|
|
BLAKE2b-256 checksum How to use checksums |
34bc6c8e26a51c16a5be45c1ef7bf8ab14e99a02a7134cec71a0aca3b01b479e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.16
|