|
| 1 | +# PyPI Release Notes |
| 2 | + |
| 3 | +IntentProbe's Python package is the primary scanner package. The npm package is |
| 4 | +a thin launcher that depends on this package being available first. |
| 5 | + |
| 6 | +## Package |
| 7 | + |
| 8 | +- PyPI package name: `intentprobe` |
| 9 | +- current version: `0.1.0` |
| 10 | +- Python: `>=3.10,<3.14` |
| 11 | +- entry points: `intentprobe`, `intentprobe-hook` |
| 12 | + |
| 13 | +## Local build gate |
| 14 | + |
| 15 | +The release wheel should be built from a freshly extracted sdist, not directly |
| 16 | +from the live repo checkout. The repo may have an ignored `build/` directory, |
| 17 | +and a direct wheel build can accidentally reuse stale files. |
| 18 | + |
| 19 | +The local release gate was run on 2026-06-08: |
| 20 | + |
| 21 | +- `python -m build --sdist` from the repo: passed. |
| 22 | +- extract `intentprobe-0.1.0.tar.gz`, then `python -m build --wheel`: passed. |
| 23 | +- `twine check` on sdist and wheel: passed. |
| 24 | +- `check-wheel-contents`: passed. |
| 25 | +- wheel contains `metadata.json`, `probe_weights.npz`, `targets.py`, and entry |
| 26 | + points. |
| 27 | +- sdist contains release docs, runtime docs, operator decision docs, evidence |
| 28 | + packet, examples, research fixtures, and scanner artifact. |
| 29 | +- no-deps wheel smoke import passed: package version `0.1.0`, metadata file |
| 30 | + present, probe weights present. |
| 31 | + |
| 32 | +## Registry status seen locally |
| 33 | + |
| 34 | +On 2026-06-08, `python3 -m pip index versions intentprobe` returned no matching |
| 35 | +distribution. Treat that as a time-bound check, not a durable public claim. The |
| 36 | +name can change before publish. |
| 37 | + |
| 38 | +## Publish command |
| 39 | + |
| 40 | +After PyPI auth is configured: |
| 41 | + |
| 42 | +```bash |
| 43 | +. /tmp/intentprobe-release-paths.env |
| 44 | +/tmp/intentprobe-release-tools/bin/python -m twine upload \ |
| 45 | + "$sdist_dist"/intentprobe-0.1.0.tar.gz \ |
| 46 | + "$wheel_dist"/intentprobe-0.1.0-py3-none-any.whl |
| 47 | +``` |
| 48 | + |
| 49 | +Do not upload from old `dist/` files unless they were rebuilt during the same |
| 50 | +release gate. |
| 51 | + |
| 52 | +## Post-publish verification |
| 53 | + |
| 54 | +```bash |
| 55 | +python3 -m pip index versions intentprobe |
| 56 | +python3 -m venv /tmp/intentprobe-pypi-smoke |
| 57 | +/tmp/intentprobe-pypi-smoke/bin/python -m pip install --upgrade pip |
| 58 | +/tmp/intentprobe-pypi-smoke/bin/python -m pip install intentprobe |
| 59 | +/tmp/intentprobe-pypi-smoke/bin/intentprobe --help |
| 60 | +/tmp/intentprobe-pypi-smoke/bin/intentprobe doctor --pretty |
| 61 | +``` |
| 62 | + |
| 63 | +After PyPI is live, publish npm and then update the root README to advertise |
| 64 | +the simpler `pipx install intentprobe` and `npx intentprobe ...` paths. |
0 commit comments