Back to Fastapi Users

FastAPI Users

README.md

15.0.534.7 KB
Original Source

FastAPI Users

<p align="center"> </p> <p align="center"> <em>Ready-to-use and customizable users management for FastAPI </em> </p>

[!NOTE] This project is now in maintenance mode. While we'll continue to provide security updates and dependency maintenance, no new features will be added. We encourage you to explore the project and use it as-is, knowing it will remain stable and secure.

We're currently working on a new Python authentication toolkit that will ultimately supersede FastAPI Users. Stay tuned for updates!

<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->

<!-- ALL-CONTRIBUTORS-BADGE:END -->

Documentation: <a href="https://fastapi-users.github.io/fastapi-users/" target="_blank">https://fastapi-users.github.io/fastapi-users/</a>

Source Code: <a href="https://github.com/fastapi-users/fastapi-users" target="_blank">https://github.com/fastapi-users/fastapi-users</a>


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
  • Multiple customizable authentication backends
    • Transports: Authorization header, Cookie
    • Strategies: JWT, Database, Redis
  • Full OpenAPI schema support, even with several authentication backends

Contributors and sponsors ✨☕️

Thanks goes to these wonderful people (emoji key):

<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --> <!-- prettier-ignore-start --> <!-- markdownlint-disable --> <table> <tbody> <tr> <td align="center" valign="top" width="14.28%"><a href="http://francoisvoron.com"> <sub><b>François Voron</b></sub></a> <a href="#maintenance-frankie567" title="Maintenance">🚧</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/paolodina"> <sub><b>Paolo Dina</b></sub></a> <a href="#financial-paolodina" title="Financial">💵</a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=paolodina" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://freelancehunt.com/freelancer/slado122.html"> <sub><b>Dmytro Ohorodnik</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/issues?q=author%3Aslado122" title="Bug reports">🐛</a></td> <td align="center" valign="top" width="14.28%"><a href="http://matthewscholefield.github.io"> <sub><b>Matthew D. Scholefield</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/issues?q=author%3AMatthewScholefield" title="Bug reports">🐛</a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=MatthewScholefield" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/roywes"> <sub><b>roywes</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/issues?q=author%3Aroywes" title="Bug reports">🐛</a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=roywes" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://devwriters.com"> <sub><b>Satwik Kansal</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=satwikkansal" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/eddsalkield"> <sub><b>Edd Salkield</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=eddsalkield" title="Code">💻</a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=eddsalkield" title="Documentation">📖</a></td> </tr> <tr> <td align="center" valign="top" width="14.28%"><a href="https://github.com/mark-todd"> <sub><b>mark-todd</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=mark-todd" title="Code">💻</a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=mark-todd" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/lill74"> <sub><b>lill74</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/issues?q=author%3Alill74" title="Bug reports">🐛</a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=lill74" title="Code">💻</a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=lill74" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://yacht.sh"> <sub><b>SelfhostedPro</b></sub></a> <a href="#security-SelfhostedPro" title="Security">🛡️</a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=SelfhostedPro" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/oskar-gmerek"> <sub><b>Oskar Gmerek</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=oskar-gmerek" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/mcolladoio"> <sub><b>Martin Collado</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/issues?q=author%3Amcolladoio" title="Bug reports">🐛</a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=mcolladoio" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/nullhack"> <sub><b>Eric Lopes</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=nullhack" title="Documentation">📖</a> <a href="#security-nullhack" title="Security">🛡️</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/rnd42"> <sub><b>Beau Breon</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=rnd42" title="Code">💻</a></td> </tr> <tr> <td align="center" valign="top" width="14.28%"><a href="https://github.com/niazangels"> <sub><b>Niyas Mohammed</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=niazangels" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/prostomarkeloff"> <sub><b>prostomarkeloff</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=prostomarkeloff" title="Documentation">📖</a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=prostomarkeloff" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://www.linkedin.com/in/mariusmezerette/"> <sub><b>Marius Mézerette</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/issues?q=author%3AMariusMez" title="Bug reports">🐛</a> <a href="#ideas-MariusMez" title="Ideas, Planning, & Feedback">🤔</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/grigi"> <sub><b>Nickolas Grigoriadis</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/issues?q=author%3Agrigi" title="Bug reports">🐛</a></td> <td align="center" valign="top" width="14.28%"><a href="https://opendatacoder.me"> <sub><b>Open Data Coder</b></sub></a> <a href="#ideas-p3t3r67x0" title="Ideas, Planning, & Feedback">🤔</a></td> <td align="center" valign="top" width="14.28%"><a href="https://www.dralshehri.com/"> <sub><b>Mohammed Alshehri</b></sub></a> <a href="#ideas-dralshehri" title="Ideas, Planning, & Feedback">🤔</a></td> <td align="center" valign="top" width="14.28%"><a href="https://www.linkedin.com/in/lefnire/"> <sub><b>Tyler Renelle</b></sub></a> <a href="#ideas-lefnire" title="Ideas, Planning, & Feedback">🤔</a></td> </tr> <tr> <td align="center" valign="top" width="14.28%"><a href="https://github.com/collerek"> <sub><b>collerek</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=collerek" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/rbracco"> <sub><b>Robert Bracco</b></sub></a> <a href="#financial-rbracco" title="Financial">💵</a></td> <td align="center" valign="top" width="14.28%"><a href="https://herrmann.tech"> <sub><b>Augusto Herrmann</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=augusto-herrmann" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/Smithybrewer"> <sub><b>Smithybrewer</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/issues?q=author%3ASmithybrewer" title="Bug reports">🐛</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/silllli"> <sub><b>silllli</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=silllli" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/alexferrari88"> <sub><b>alexferrari88</b></sub></a> <a href="#financial-alexferrari88" title="Financial">💵</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/sandalwoodbox"> <sub><b>sandalwoodbox</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/issues?q=author%3Asandalwoodbox" title="Bug reports">🐛</a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=sandalwoodbox" title="Documentation">📖</a></td> </tr> <tr> <td align="center" valign="top" width="14.28%"><a href="https://github.com/vladhoi"> <sub><b>Vlad Hoi</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=vladhoi" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/jnu"> <sub><b>Joe Nudell</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/issues?q=author%3Ajnu" title="Bug reports">🐛</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/cosmosquark"> <sub><b>Ben</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=cosmosquark" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/BoYanZh"> <sub><b>BoYanZh</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=BoYanZh" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/davidbrochart"> <sub><b>David Brochart</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=davidbrochart" title="Documentation">📖</a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=davidbrochart" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://www.daanbeverdam.com"> <sub><b>Daan Beverdam</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=daanbeverdam" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="http://sralab.com"> <sub><b>Stéphane Raimbault</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=stephane" title="Tests">⚠️</a> <a href="https://github.com/fastapi-users/fastapi-users/issues?q=author%3Astephane" title="Bug reports">🐛</a></td> </tr> <tr> <td align="center" valign="top" width="14.28%"><a href="https://github.com/sondrelg"> <sub><b>Sondre Lillebø Gundersen</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=sondrelg" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/maximka1221"> <sub><b>Maxim</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=maximka1221" title="Documentation">📖</a> <a href="https://github.com/fastapi-users/fastapi-users/issues?q=author%3Amaximka1221" title="Bug reports">🐛</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/scottdavort"> <sub><b>scottdavort</b></sub></a> <a href="#financial-scottdavort" title="Financial">💵</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/jdukewich"> <sub><b>John Dukewich</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=jdukewich" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="http://yezz.me"> <sub><b>Yasser Tahiri</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=yezz123" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://www.brandongoding.tech"> <sub><b>Brandon H. Goding</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=BrandonGoding" title="Code">💻</a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=BrandonGoding" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/PovilasKud"> <sub><b>PovilasK</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=PovilasKud" title="Code">💻</a></td> </tr> <tr> <td align="center" valign="top" width="14.28%"><a href="http://justobjects.nl"> <sub><b>Just van den Broecke</b></sub></a> <a href="#financial-justb4" title="Financial">💵</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/jakemanger"> <sub><b>jakemanger</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/issues?q=author%3Ajakemanger" title="Bug reports">🐛</a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=jakemanger" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://bandism.net/"> <sub><b>Ikko Ashimine</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=eltociear" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/matyasrichter"> <sub><b>Matyáš Richter</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=matyasrichter" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/Hazedd"> <sub><b>Hazedd</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/issues?q=author%3AHazedd" title="Bug reports">🐛</a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=Hazedd" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/luisroel91"> <sub><b>Luis Roel</b></sub></a> <a href="#financial-luisroel91" title="Financial">💵</a></td> <td align="center" valign="top" width="14.28%"><a href="https://ae-mc.ru"> <sub><b>Alexandr Makurin</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=Ae-Mc" title="Code">💻</a> <a href="https://github.com/fastapi-users/fastapi-users/issues?q=author%3AAe-Mc" title="Bug reports">🐛</a></td> </tr> <tr> <td align="center" valign="top" width="14.28%"><a href="http://www.retoflow.de"> <sub><b>Leon Thurner</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=lthurner" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="http://meka.rs"> <sub><b>Goran Mekić</b></sub></a> <a href="#platform-mekanix" title="Packaging/porting to new platform">📦</a></td> <td align="center" valign="top" width="14.28%"><a href="https://gaganpreet.in/"> <sub><b>Gaganpreet</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=gaganpreet" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/jtv8"> <sub><b>Joe Taylor</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=jtv8" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/ricfri"> <sub><b>Richard Friberg</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/issues?q=author%3Aricfri" title="Bug reports">🐛</a></td> <td align="center" valign="top" width="14.28%"><a href="http://www.kentonparton.com"> <sub><b>Kenton Parton</b></sub></a> <a href="#financial-KentonParton" title="Financial">💵</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/Qwizi"> <sub><b>Adrian Ciołek</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/issues?q=author%3AQwizi" title="Bug reports">🐛</a></td> </tr> <tr> <td align="center" valign="top" width="14.28%"><a href="https://blog.obscuritylabs.com"> <sub><b>⭕Alexander Rymdeko-Harvey</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=killswitch-GUI" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="http://schwannden.com"> <sub><b>schwannden</b></sub></a> <a href="#maintenance-schwannden" title="Maintenance">🚧</a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=schwannden" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://jimscope.is-a.dev"> <sub><b>Jimmy Angel Pérez Díaz</b></sub></a> <a href="#security-JimScope" title="Security">🛡️</a></td> <td align="center" valign="top" width="14.28%"><a href="http://austinmartinorr.com"> <sub><b>Austin Orr</b></sub></a> <a href="#maintenance-austinorr" title="Maintenance">🚧</a></td> <td align="center" valign="top" width="14.28%"><a href="http://carlo.io"> <sub><b>Carlo Eugster</b></sub></a> <a href="#security-carloe" title="Security">🛡️</a></td> <td align="center" valign="top" width="14.28%"><a href="http://www.vzamboni.io"> <sub><b>Vittorio Zamboni</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=vittoriozamboni" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/aryadovoy"> <sub><b>Andrey</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=aryadovoy" title="Documentation">📖</a></td> </tr> <tr> <td align="center" valign="top" width="14.28%"><a href="http://linkedin.com/in/canhtartanoglu"> <sub><b>Can H. Tartanoglu</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/issues?q=author%3Acaniko" title="Bug reports">🐛</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/flipee"> <sub><b>Filipe Nascimento</b></sub></a> <a href="#security-flipee" title="Security">🛡️</a></td> <td align="center" valign="top" width="14.28%"><a href="https://duduru.website/"> <sub><b>dudulu</b></sub></a> <a href="#financial-hgalytoby" title="Financial">💵</a> <a href="https://github.com/fastapi-users/fastapi-users/issues?q=author%3Ahgalytoby" title="Bug reports">🐛</a> <a href="#question-hgalytoby" title="Answering Questions">💬</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/antont"> <sub><b>Toni Alatalo</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=antont" title="Code">💻</a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=antont" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://bkis.github.io"> <sub><b>Börge Kiss</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=bkis" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="http://www.praciano.com.br"> <sub><b>Guilherme Caminha</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=gpkc" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/sorasful"> <sub><b>Téva KRIEF</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=sorasful" title="Code">💻</a></td> </tr> <tr> <td align="center" valign="top" width="14.28%"><a href="https://github.com/EssaAlshammri"> <sub><b>Essa Alshammri</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=EssaAlshammri" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/jankadel"> <sub><b>0xJan</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/issues?q=author%3Ajankadel" title="Bug reports">🐛</a></td> <td align="center" valign="top" width="14.28%"><a href="https://www.justhomas.in/"> <sub><b>Justin Thomas</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=justhomas" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="http://www.adamisrael.com/"> <sub><b>Adam Israel</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=AdamIsrael" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/Nerixjk"> <sub><b>Nerixjk</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/issues?q=author%3ANerixjk" title="Bug reports">🐛</a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=Nerixjk" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/fotinakis"> <sub><b>Mike Fotinakis</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=fotinakis" title="Code">💻</a> <a href="https://github.com/fastapi-users/fastapi-users/issues?q=author%3Afotinakis" title="Bug reports">🐛</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/lifengmds"> <sub><b>lifengmds</b></sub></a> <a href="#financial-lifengmds" title="Financial">💵</a></td> </tr> <tr> <td align="center" valign="top" width="14.28%"><a href="https://github.com/raindata5"> <sub><b>raindata5</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=raindata5" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/mdonnellyli"> <sub><b>Mark Donnelly</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=mdonnellyli" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/sashkent3"> <sub><b>Alexander Zinov</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=sashkent3" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/nimaxin"> <sub><b>nimaxin</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/commits?author=nimaxin" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="http://mdaffad.github.io"> <sub><b>Muhammad Daffa Dinaya</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/issues?q=author%3Amdaffad" title="Bug reports">🐛</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/jthurner"> <sub><b>Joschka Thurner</b></sub></a> <a href="https://github.com/fastapi-users/fastapi-users/issues?q=author%3Ajthurner" title="Bug reports">🐛</a></td> </tr> </tbody> </table> <!-- markdownlint-restore --> <!-- prettier-ignore-end --> <!-- ALL-CONTRIBUTORS-LIST:END -->

This project follows the all-contributors specification. Contributions of any kind welcome!

Development

Setup environment

We use Hatch 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

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.

License

This project is licensed under the terms of the MIT license.