Metadata-Version: 2.5
Name: grantor
Version: 0.1.1
Summary: The protocol core of the Grantor OAuth 2.1 / OpenID Connect client — framework-free.
Project-URL: Homepage, https://grantor.id
Project-URL: Documentation, https://docs.grantor.id
Project-URL: Source, https://github.com/Grantor-id/grantor-python
Project-URL: Issues, https://github.com/Grantor-id/grantor-python/issues
Author: Allure Labs
License-Expression: MIT
Keywords: authentication,grantor,oauth2,oidc,openid-connect,pkce
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Security
Classifier: Topic :: System :: Systems Administration :: Authentication/Directory
Classifier: Typing :: Typed
Requires-Python: >=3.10
Requires-Dist: httpx>=0.27
Requires-Dist: pyjwt[crypto]>=2.9
Description-Content-Type: text/markdown

# `grantor`

The protocol core of the Python client for [Grantor](https://grantor.id), an
OAuth 2.1 / OpenID Connect provider. Discovery, PKCE, code exchange, JWKS
verification, userinfo, RP-initiated logout and error normalization — sync
and async, on `httpx`.

**No framework, no Django.** If you are writing a Django application you
want [`grantor-django`](https://pypi.org/project/grantor-django/) instead;
it depends on this package. If you are writing an adapter for another
framework, depend on this one alone: every pure step is public API, not a
private helper, precisely so you can compose them.

```sh
pip install grantor
```

Documentation: [docs.grantor.id](https://docs.grantor.id).
Source and security policy: [Grantor-id/grantor-python](https://github.com/Grantor-id/grantor-python).

MIT. © Allure Labs.
