Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/frankie567/fastapi-users
Ready-to-use and customizable users management for FastAPI
https://github.com/frankie567/fastapi-users
async asyncio fastapi fastapi-users python starlette users
Last synced: 2 months ago
JSON representation
Ready-to-use and customizable users management for FastAPI
- Host: GitHub
- URL: https://github.com/frankie567/fastapi-users
- Owner: fastapi-users
- License: mit
- Created: 2019-10-05T15:40:31.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2024-08-20T04:45:51.000Z (3 months ago)
- Last Synced: 2024-09-01T15:19:31.301Z (2 months ago)
- Topics: async, asyncio, fastapi, fastapi-users, python, starlette, users
- Language: Python
- Homepage: https://fastapi-users.github.io/fastapi-users/
- Size: 12.7 MB
- Stars: 4,479
- Watchers: 47
- Forks: 382
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# FastAPI Users
Ready-to-use and customizable users management for FastAPI[![build](https://github.com/fastapi-users/fastapi-users/workflows/Build/badge.svg)](https://github.com/fastapi-users/fastapi-users/actions)
[![codecov](https://codecov.io/gh/fastapi-users/fastapi-users/branch/master/graph/badge.svg)](https://codecov.io/gh/fastapi-users/fastapi-users)
[![PyPI version](https://badge.fury.io/py/fastapi-users.svg)](https://badge.fury.io/py/fastapi-users)
[![Downloads](https://pepy.tech/badge/fastapi-users)](https://pepy.tech/project/fastapi-users)[![All Contributors](https://img.shields.io/badge/all_contributors-80-orange.svg?style=flat-square)](#contributors-)
---
**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](https://fastapi.tiangolo.com/) project. **FastAPI Users** is designed to be as customizable and adaptable as possible.
## Features
* [X] Extensible base user model
* [X] Ready-to-use register, login, reset password and verify e-mail routes
* [X] Ready-to-use social OAuth2 login flow
* [X] Dependency callables to inject current user in route
* [X] Pluggable password validation
* [X] Customizable database backend
* [X] [SQLAlchemy ORM async](https://docs.sqlalchemy.org/en/14/orm/extensions/asyncio.html) included
* [X] [MongoDB with Beanie ODM](https://github.com/roman-right/beanie/) included
* [X] Multiple customizable authentication backends
* [X] Transports: Authorization header, Cookie
* [X] Strategies: JWT, Database, Redis
* [X] 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
* **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](https://allcontributors.org/docs/en/emoji-key)):
François Voron
🚧
Paolo Dina
💵 💻
Dmytro Ohorodnik
🐛
Matthew D. Scholefield
🐛 💻
roywes
🐛 💻
Satwik Kansal
📖
Edd Salkield
💻 📖
mark-todd
💻 📖
lill74
🐛 💻 📖
SelfhostedPro
🛡️ 💻
Oskar Gmerek
📖
Martin Collado
🐛 💻
Eric Lopes
📖 🛡️
Beau Breon
💻
Niyas Mohammed
📖
prostomarkeloff
📖 💻
Marius Mézerette
🐛 🤔
Nickolas Grigoriadis
🐛
Open Data Coder
🤔
Mohammed Alshehri
🤔
Tyler Renelle
🤔
collerek
💻
Robert Bracco
💵
Augusto Herrmann
📖
Smithybrewer
🐛
silllli
📖
alexferrari88
💵
sandalwoodbox
🐛 📖
Vlad Hoi
📖
Joe Nudell
🐛
Ben
💻
BoYanZh
📖
David Brochart
📖 💻
Daan Beverdam
💻
Stéphane Raimbault
⚠️ 🐛
Sondre Lillebø Gundersen
📖
Maxim
📖 🐛
scottdavort
💵
John Dukewich
📖
Yasser Tahiri
💻
Brandon H. Goding
💻 📖
PovilasK
💻
Just van den Broecke
💵
jakemanger
🐛 💻
Ikko Ashimine
💻
Matyáš Richter
💻
Hazedd
🐛 📖
Luis Roel
💵
Alexandr Makurin
💻 🐛
Leon Thurner
📖
Goran Mekić
📦
Gaganpreet
💻
Joe Taylor
💻
Richard Friberg
🐛
Kenton Parton
💵
Adrian Ciołek
🐛
⭕Alexander Rymdeko-Harvey
📖
schwannden
🚧 💻
Jimmy Angel Pérez Díaz
🛡️
Austin Orr
🚧
Carlo Eugster
🛡️
Vittorio Zamboni
💻
Andrey
📖
Can H. Tartanoglu
🐛
Filipe Nascimento
🛡️
dudulu
💵 🐛 💬
Toni Alatalo
💻 📖
Börge Kiss
📖
Guilherme Caminha
📖
Téva KRIEF
💻
Essa Alshammri
📖
0xJan
🐛
Justin Thomas
💻
Adam Israel
💻
Nerixjk
🐛 💻
Mike Fotinakis
💻 🐛
lifengmds
💵
raindata5
📖
Mark Donnelly
📖
Alexander Zinov
💻
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
## Development
### Setup environment
We use [Hatch](https://hatch.pypa.io/latest/install/) to manage the development environment and production build. Ensure it's installed on your system.
### Run unit tests
You can run all the tests with:
```bash
hatch run test:test
```### Format the code
Execute the following command to apply linting and check typing:
```bash
hatch run lint
```### Serve the documentation
You can serve the documentation locally with the following command:
```bash
hatch run docs
```The documentation will be available on [http://localhost:8000](http://localhost:8000).
## License
This project is licensed under the terms of the MIT license.