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.2
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.2.tar.gz | 11.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pywrit-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 23.2 kB
Release files / pywrit-0.1.2.tar.gz
| Download URL | pywrit-0.1.2.tar.gz |
|---|---|
| Size | 11.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8aa56b9282af9668048de90d21165d63ef845caab4ed555e2c3d460c4d7d84a5
|
|
BLAKE2b-256 checksum How to use checksums |
e8f560f4c6b0ecac852e2feee580f97f6e52b681d0c194b6229482b7326ea24c
|
| 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.2-py3-none-any.whl
| Download URL | pywrit-0.1.2-py3-none-any.whl |
|---|---|
| Size | 11.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
89d90c4e6f0cb3ac7fbb076d6010a2a56df0975c36854af10a70f6e90f4810df
|
|
BLAKE2b-256 checksum How to use checksums |
809d29c345c3d0d318a7646f9a6b26915f2eab4623b06563cee73b0a9b0704b2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.16
|