Ready-to-use and customizable users management for FastAPI
Project description
FastAPI Users
Ready-to-use and customizable users management for FastAPI
Documentation: https://fastapi-users.github.io/fastapi-users/
Source Code: https://github.com/fastapi-users/fastapi-users
Add quickly a registration and authentication system to your FastAPI project. FastAPI Users is designed to be as customizable and adaptable as possible.
Features
- Extensible base user model
- Ready-to-use register, login, reset password and verify e-mail routes
- Ready-to-use social OAuth2 login flow
- Dependency callables to inject current user in route
- Pluggable password validation
- Customizable database backend
- SQLAlchemy ORM async included
- MongoDB with Beanie ODM included
- Multiple customizable authentication backends
- Transports: Authorization header, Cookie
- Strategies: JWT, Database, Redis
- Full OpenAPI schema support, even with several authentication backends
In a hurry? Discover Fief, the open-source authentication platform
Implementing registration, login, social auth is hard and painful. We know it. With our highly secure and open-source users management platform, you can focus on your app while staying in control of your users data.
- Based on FastAPI Users!
- Open-source: self-host it for free or use our hosted version
- Bring your own database: host your database anywhere, we'll take care of the rest
- Pre-built login and registration pages: clean and fast authentication so you don't have to do it yourself
- Official Python client with built-in FastAPI integration
It's free!
Contributors and sponsors ✨☕️
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!
Development
Setup environment
You should create a virtual environment and activate it:
python -m venv venv/
source venv/bin/activate
And then install the development dependencies:
make install
Run unit tests
You can run all the tests with:
make test
Alternatively, you can run pytest
yourself.
pytest
There are quite a few unit tests, so you might run into ulimit issues where there are too many open file descriptors. You may be able to set a new, higher limit temporarily with:
ulimit -n 2048
Format the code
Execute the following command to apply isort
and black
formatting:
make format
License
This project is licensed under the terms of the MIT license.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for fastapi_users-10.0.7-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d1160ee3bfe344b1503f10f5d2d997a335f4575b59d2af173c3b97f24a0d87b |
|
MD5 | 4245095cb211cc7cd7350bac33caa50f |
|
BLAKE2b-256 | 21dcd578a61d836248720a62835a66874bfe8dfd631e070de621add17ce995e8 |