Metadata-Version: 2.5
Name: pnotp
Version: 0.5.0
Summary: pnotp is now offrec. Installs offrec and keeps `import pnotp` working; new code should `pip install offrec`.
Project-URL: Homepage, https://offrec.ai
Project-URL: Documentation, https://docs.offrec.ai
Project-URL: Use instead, https://pypi.org/project/offrec/
Author-email: offrec <info@offrec.ai>
Requires-Python: >=3.9
Requires-Dist: offrec==0.5.0
Provides-Extra: private
Requires-Dist: offrec[private]==0.5.0; extra == 'private'
Provides-Extra: server
Requires-Dist: fastapi<1.0,>=0.110; extra == 'server'
Requires-Dist: pillow>=9.0; extra == 'server'
Requires-Dist: pydantic<3.0,>=2.0; extra == 'server'
Requires-Dist: python-multipart>=0.0.6; extra == 'server'
Requires-Dist: uvicorn<0.29,>=0.23; extra == 'server'
Description-Content-Type: text/markdown

# pnotp is now offrec

The `pnotp` package was renamed to [`offrec`](https://pypi.org/project/offrec/).
Same company, same API, same keys.

```bash
pip install offrec
```

```python
import offrec

px = offrec.Client()        # reads OFFREC_API_KEY (PNOTP_API_KEY still works)
print(px.chat("Hello", model="gemini-3.1-flash-lite")["completion"])
```

This package stays on PyPI so existing code keeps working. `pnotp` 0.5.0 installs
`offrec` 0.5.0 and makes `import pnotp` an alias of it: `pnotp.Client`,
`pnotp.Agent`, `pnotp.help`, `pnotp.private` and the error classes are offrec's.
It warns once on import (`DeprecationWarning`).

What keeps working without changes:

- `pnotp_sk_` keys, and `PNOTP_API_KEY` / `PNOTP_BASE_URL`.
- `except pnotp.PnotpError` catches every error the SDK raises.
- `api.pnotp.ai`, if you pinned it as your base URL. The default is now
  `https://api.offrec.ai/v1`.

The legacy `pnotp_api` PathoVision wrapper (`pip install "pnotp[server]"`) ships
only in this package.

Docs: [docs.offrec.ai](https://docs.offrec.ai) · Console: [console.offrec.ai](https://console.offrec.ai)
