Metadata-Version: 2.5
Name: wbauth-sdk
Version: 0.4.0
Summary: Web Bot Auth (RFC 9421) Python SDK — agent identity for the agentic web
Project-URL: Homepage, https://github.com/MrKoriy/wbauth
Project-URL: Issues, https://github.com/MrKoriy/wbauth/issues
Author: wbauth contributors
License-Expression: Apache-2.0
Requires-Python: >=3.11
Requires-Dist: cachetools<8,>=7
Requires-Dist: cryptography<48,>=47
Requires-Dist: http-message-signatures<3,>=2.0.1
Requires-Dist: httpx<0.30,>=0.28
Requires-Dist: protego<1,>=0.6
Requires-Dist: requests<3,>=2.32
Provides-Extra: http2
Requires-Dist: httpx[http2]<0.30,>=0.28; extra == 'http2'
Provides-Extra: playwright
Requires-Dist: playwright<2,>=1.59; extra == 'playwright'
Provides-Extra: windows
Requires-Dist: oschmod>=0.3; extra == 'windows'
Description-Content-Type: text/markdown

# wbauth — Web Bot Auth for Python

Ed25519 [RFC 9421](https://www.rfc-editor.org/rfc/rfc9421) request signing with the IETF
Web Bot Auth profile, plus a pre-flight policy inspector (robots.txt, ai.txt,
llms.txt, signing directory). Python ≥ 3.11. TypeScript SDK: `npm install wb-auth`.

```bash
pip install wbauth                 # core: httpx + requests adapters, inspector, CLI
pip install "wbauth[playwright]"   # + Playwright adapter
pip install "wbauth[http2]"        # + HTTP/2 for a shared inspector client
```

From source:

```bash
uv sync --locked --all-extras --dev --all-packages
../scripts/post-sync.sh   # macOS-only; clears UF_HIDDEN flag on uv editable .pth
uv run pytest python/tests
```

## Why `scripts/post-sync.sh`?

On macOS, `uv` (≤0.11.7) sets the `UF_HIDDEN` file flag on the editable-install
marker file `.venv/lib/python*/site-packages/_editable_impl_wbauth.pth`. Python
3.13+ silently skips hidden `.pth` files per CPython security policy
(GH-99458 / issue #50028). Symptom: `import wbauth` fails with
`ModuleNotFoundError` even though `wbauth-*.dist-info/` is present in
site-packages. The post-sync script clears `UF_HIDDEN` via `chflags nohidden`.
No-op on Linux/Windows. Safe to re-run anytime.

See the [repository README](../README.md) for usage.
