The authentication toolkit for Python
Documentation: https://frankie567.github.io/reauth/
Source Code: https://github.com/frankie567/reauth
Warning
This is an early-stage project with many moving parts and mostly missing documentation. The API is not yet stable and breaking changes are expected.
Our vision is to build a comprehensive, flexible authentication toolkit for Python that handles everything from low-level factor primitives to high-level OIDC server capabilities.
- Factor primitives — building blocks for authentication factors
- Email OTP
- HOTP
- TOTP
- Passwords
- Security keys
- Passkeys
- Social Login
- MFA authentication management — multi-factor authentication workflows
- Sessions management — robust session handling
- ORM and web frameworks wrappers — seamless integration with popular frameworks
- OIDC server — complete OpenID Connect provider implementation
- Team management — multi-user and organizational features
- And more — expanding the ecosystem
We use uv to manage the development environment and production build, and just to manage command shortcuts. Ensure they are installed on your system.
You can run all the tests with:
just testExecute the following command to apply linting and check typing:
just lintYou can bump the version, create a commit and associated tag with one command:
just version patchjust version minorjust version majorYour default Git text editor will open so you can add information about the release.
When you push the tag on GitHub, the workflow will automatically publish it on PyPi and a GitHub release will be created as draft.
You can serve the Mkdocs documentation with:
just docs-serveIt'll automatically watch for changes in your code.
This project is licensed under the terms of the MIT license.