Name | authx JSON |
Version |
1.4.0
JSON |
| download |
home_page | None |
Summary | Ready to use and customizable Authentications and Oauth2 management for FastAPI |
upload_time | 2024-10-20 13:11:43 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.9 |
license | None |
keywords |
authentication
cookie
fastapi
jwt
oauth2
pydantic
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# Authx
<p align="center">
<a href="https://authx.yezz.me" target="_blank">
<img src="https://user-images.githubusercontent.com/52716203/136962014-280d82b0-0640-4ee5-9a11-b451b338f6d8.png" alt="AuthX">
</a>
<p align="center">
<em>Ready-to-use and customizable Authentications and Oauth2 management for FastAPI β‘</em>
</p>
</p>
---
| Project | Status |
|---------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| CI | [ ![ CI ]( https://github.com/yezz123/authx/actions/workflows/ci.yml/badge.svg ) ]( https://github.com/yezz123/authx/actions/workflows/ci.yml ) [ ![ pre-commit.ci status ]( https://results.pre-commit.ci/badge/github/yezz123/authx/main.svg ) ]( https://results.pre-commit.ci/latest/github/yezz123/authx/main ) [ ![ Codecov ]( https://codecov.io/gh/yezz123/authx/branch/main/graph/badge.svg ) ]( https://codecov.io/gh/yezz123/authx ) |
| Meta | [ ![ Package version ]( https://img.shields.io/pypi/v/authx?color=%2334D058&label=pypi%20package ) ]( https://pypi.org/project/authx ) [ ![ Downloads ]( https://static.pepy.tech/badge/authx ) ]( https://pepy.tech/project/authx ) [ ![ Pydantic Version 2 ]( https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/pydantic/pydantic/main/docs/badge/v2.json ) ]( https://pydantic.dev ) [ ![ Ruff ]( https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json ) ]( https://github.com/astral-sh/ruff ) [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=yezz123_authx&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=yezz123_authx) |
---
**Source Code**: <https://github.com/yezz123/authx>
**Documentation**: <https://authx.yezz.me/>
---
Add a Fully registration and authentication or authorization system to your
[FastAPI](https://fastapi.tiangolo.com/) project. **AuthX** is designed to be as
customizable and adaptable as possible.
## Features
- [x] Support Python 3.8+ & Pydantic 1.7+.
- [x] Multiple customizable authentication backend:
- [x] JWT authentication backend included
- [x] JWT encoding/decoding for application authentication
- [x] Automatic detection of JWTs in requests:
- [x] JWTs in headers
- [x] JWTs in cookies
- [x] JWTs in query parameters
- [x] JWTs in request bodies
- [x] Cookie authentication backend included
- [x] Middleware for authentication and authorization through JWT.
- [x] Extensible Error Handling System.
### Extra Features
AuthX is designed to be as customizable and adaptable as possible.
So you need to install [`authx-extra`](https://github.com/yezz123/authx-extra) to get extra features.
- [x] Using Redis as a session store & cache.
- [x] Support HTTPCache.
- [x] Support Sessions and Pre-built CRUD functions and Instance to launch Redis.
- [x] Support Middleware of [pyinstrument](https://pyinstrument.readthedocs.io/) to check your service performance.
- [x] Support Middleware for collecting and exposing [Prometheus](https://prometheus.io/) metrics.
**Note:** Check [Release Notes](https://authx.yezz.me/release/).
## Project using
Here is a simple way to kickstart your project with AuthX:
```python
from fastapi import FastAPI, Depends, HTTPException
from authx import AuthX, AuthXConfig, RequestToken
app = FastAPI()
config = AuthXConfig(
JWT_ALGORITHM = "HS256",
JWT_SECRET_KEY = "SECRET_KEY",
JWT_TOKEN_LOCATION = ["headers"],
)
auth = AuthX(config=config)
auth.handle_errors(app)
@app.get('/login')
def login(username: str, password: str):
if username == "xyz" and password == "xyz":
token = auth.create_access_token(uid=username)
return {"access_token": token}
raise HTTPException(401, detail={"message": "Invalid credentials"})
@app.get("/protected", dependencies=[Depends(auth.get_token_from_request)])
def get_protected(token: RequestToken = Depends()):
try:
auth.verify_token(token=token)
return {"message": "Hello world !"}
except Exception as e:
raise HTTPException(401, detail={"message": str(e)}) from e
```
## Contributors and sponsors
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
[![All Contributors](https://img.shields.io/badge/all_contributors-12-orange.svg?style=flat-square)](#contributors-)
<!-- ALL-CONTRIBUTORS-BADGE:END -->
Thanks goes to these wonderful people
([emoji key](https://allcontributors.org/docs/en/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://yezz.me"><img src="https://avatars.githubusercontent.com/u/52716203?v=4?s=100" width="100px;" alt="Yasser Tahiri"/><br /><sub><b>Yasser Tahiri</b></sub></a><br /><a href="https://github.com/yezz123/authx/commits?author=yezz123" title="Code">π»</a> <a href="https://github.com/yezz123/authx/commits?author=yezz123" title="Documentation">π</a> <a href="#maintenance-yezz123" title="Maintenance">π§</a> <a href="#infra-yezz123" title="Infrastructure (Hosting, Build-Tools, etc)">π</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://soubai.me"><img src="https://avatars.githubusercontent.com/u/11523791?v=4?s=100" width="100px;" alt="Abderrahim SOUBAI-ELIDRISI"/><br /><sub><b>Abderrahim SOUBAI-ELIDRISI</b></sub></a><br /><a href="https://github.com/yezz123/authx/pulls?q=is%3Apr+reviewed-by%3AAbderrahimSoubaiElidrissi" title="Reviewed Pull Requests">π</a> <a href="https://github.com/yezz123/authx/commits?author=AbderrahimSoubaiElidrissi" title="Documentation">π</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://smakosh.com"><img src="https://avatars.githubusercontent.com/u/20082141?v=4?s=100" width="100px;" alt="Ismail Ghallou "/><br /><sub><b>Ismail Ghallou </b></sub></a><br /><a href="https://github.com/yezz123/authx/commits?author=smakosh" title="Code">π»</a> <a href="#security-smakosh" title="Security">π‘οΈ</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/MojixCoder"><img src="https://avatars.githubusercontent.com/u/76670309?v=4?s=100" width="100px;" alt="MojixCoder"/><br /><sub><b>MojixCoder</b></sub></a><br /><a href="https://github.com/yezz123/authx/commits?author=MojixCoder" title="Code">π»</a> <a href="https://github.com/yezz123/authx/issues?q=author%3AMojixCoder" title="Bug reports">π</a></td>
<td align="center" valign="top" width="14.28%"><a href="http://sralab.com"><img src="https://avatars.githubusercontent.com/u/1815?v=4?s=100" width="100px;" alt="StΓ©phane Raimbault"/><br /><sub><b>StΓ©phane Raimbault</b></sub></a><br /><a href="https://github.com/yezz123/authx/commits?author=stephane" title="Code">π»</a> <a href="#plugin-stephane" title="Plugin/utility libraries">π</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/theoohoho"><img src="https://avatars.githubusercontent.com/u/31537466?v=4?s=100" width="100px;" alt="theoohoho"/><br /><sub><b>theoohoho</b></sub></a><br /><a href="https://github.com/yezz123/authx/commits?author=theoohoho" title="Documentation">π</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://yogeshupadhyay.netlify.app/"><img src="https://avatars.githubusercontent.com/u/53992168?v=4?s=100" width="100px;" alt="Yogesh Upadhyay"/><br /><sub><b>Yogesh Upadhyay</b></sub></a><br /><a href="https://github.com/yezz123/authx/issues?q=author%3AYogeshUpdhyay" title="Bug reports">π</a></td>
</tr>
<tr>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/iftenet"><img src="https://avatars.githubusercontent.com/u/1397880?v=4?s=100" width="100px;" alt="Roman"/><br /><sub><b>Roman</b></sub></a><br /><a href="https://github.com/yezz123/authx/issues?q=author%3Aiftenet" title="Bug reports">π</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://www.linkedin.com/today/author/alobbs"><img src="https://avatars.githubusercontent.com/u/170559?v=4?s=100" width="100px;" alt="Alvaro Lopez Ortega"/><br /><sub><b>Alvaro Lopez Ortega</b></sub></a><br /><a href="https://github.com/yezz123/authx/commits?author=alobbs" title="Documentation">π</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/pinchXOXO"><img src="https://avatars.githubusercontent.com/u/68501799?v=4?s=100" width="100px;" alt="Devy Santo"/><br /><sub><b>Devy Santo</b></sub></a><br /><a href="#infra-pinchXOXO" title="Infrastructure (Hosting, Build-Tools, etc)">π</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/pg365"><img src="https://avatars.githubusercontent.com/u/173273017?v=4?s=100" width="100px;" alt="pg365"/><br /><sub><b>pg365</b></sub></a><br /><a href="#infra-pg365" title="Infrastructure (Hosting, Build-Tools, etc)">π</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/jor-rit"><img src="https://avatars.githubusercontent.com/u/16398756?v=4?s=100" width="100px;" alt="Jorrit"/><br /><sub><b>Jorrit</b></sub></a><br /><a href="#platform-jor-rit" title="Packaging/porting to new platform">π¦</a></td>
</tr>
</tbody>
</table>
<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->
<!-- ALL-CONTRIBUTORS-LIST:END -->
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->
<!-- ALL-CONTRIBUTORS-LIST:END -->
This project follows the
[all-contributors](https://github.com/all-contributors/all-contributors)
specification. Contributions of any kind welcome!
## License
This project is licensed under the terms of the MIT License.
Raw data
{
"_id": null,
"home_page": null,
"name": "authx",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "Authentication, Cookie, FastAPI, JWT, Oauth2, Pydantic",
"author": null,
"author_email": "Yasser Tahiri <hello@yezz.me>",
"download_url": "https://files.pythonhosted.org/packages/2d/97/7a2de5506c6db33e59a0289373c8cff0ec8c20926d811598e3f7994fa32b/authx-1.4.0.tar.gz",
"platform": null,
"description": "# Authx\n\n<p align=\"center\">\n<a href=\"https://authx.yezz.me\" target=\"_blank\">\n <img src=\"https://user-images.githubusercontent.com/52716203/136962014-280d82b0-0640-4ee5-9a11-b451b338f6d8.png\" alt=\"AuthX\">\n</a>\n<p align=\"center\">\n <em>Ready-to-use and customizable Authentications and Oauth2 management for FastAPI \u26a1</em>\n</p>\n</p>\n\n---\n\n| Project | Status |\n|---------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| CI | [ ![ CI ]( https://github.com/yezz123/authx/actions/workflows/ci.yml/badge.svg ) ]( https://github.com/yezz123/authx/actions/workflows/ci.yml ) [ ![ pre-commit.ci status ]( https://results.pre-commit.ci/badge/github/yezz123/authx/main.svg ) ]( https://results.pre-commit.ci/latest/github/yezz123/authx/main ) [ ![ Codecov ]( https://codecov.io/gh/yezz123/authx/branch/main/graph/badge.svg ) ]( https://codecov.io/gh/yezz123/authx ) |\n| Meta | [ ![ Package version ]( https://img.shields.io/pypi/v/authx?color=%2334D058&label=pypi%20package ) ]( https://pypi.org/project/authx ) [ ![ Downloads ]( https://static.pepy.tech/badge/authx ) ]( https://pepy.tech/project/authx ) [ ![ Pydantic Version 2 ]( https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/pydantic/pydantic/main/docs/badge/v2.json ) ]( https://pydantic.dev ) [ ![ Ruff ]( https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json ) ]( https://github.com/astral-sh/ruff ) [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=yezz123_authx&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=yezz123_authx) |\n\n---\n\n**Source Code**: <https://github.com/yezz123/authx>\n\n**Documentation**: <https://authx.yezz.me/>\n\n---\n\nAdd a Fully registration and authentication or authorization system to your\n[FastAPI](https://fastapi.tiangolo.com/) project. **AuthX** is designed to be as\ncustomizable and adaptable as possible.\n\n## Features\n\n- [x] Support Python 3.8+ & Pydantic 1.7+.\n- [x] Multiple customizable authentication backend:\n - [x] JWT authentication backend included\n - [x] JWT encoding/decoding for application authentication\n - [x] Automatic detection of JWTs in requests:\n - [x] JWTs in headers\n - [x] JWTs in cookies\n - [x] JWTs in query parameters\n - [x] JWTs in request bodies\n - [x] Cookie authentication backend included\n- [x] Middleware for authentication and authorization through JWT.\n- [x] Extensible Error Handling System.\n\n### Extra Features\n\nAuthX is designed to be as customizable and adaptable as possible.\n\nSo you need to install [`authx-extra`](https://github.com/yezz123/authx-extra) to get extra features.\n\n- [x] Using Redis as a session store & cache.\n- [x] Support HTTPCache.\n- [x] Support Sessions and Pre-built CRUD functions and Instance to launch Redis.\n- [x] Support Middleware of [pyinstrument](https://pyinstrument.readthedocs.io/) to check your service performance.\n- [x] Support Middleware for collecting and exposing [Prometheus](https://prometheus.io/) metrics.\n\n**Note:** Check [Release Notes](https://authx.yezz.me/release/).\n\n## Project using\n\nHere is a simple way to kickstart your project with AuthX:\n\n```python\nfrom fastapi import FastAPI, Depends, HTTPException\nfrom authx import AuthX, AuthXConfig, RequestToken\n\napp = FastAPI()\n\nconfig = AuthXConfig(\n JWT_ALGORITHM = \"HS256\",\n JWT_SECRET_KEY = \"SECRET_KEY\",\n JWT_TOKEN_LOCATION = [\"headers\"],\n)\n\nauth = AuthX(config=config)\nauth.handle_errors(app)\n\n@app.get('/login')\ndef login(username: str, password: str):\n if username == \"xyz\" and password == \"xyz\":\n token = auth.create_access_token(uid=username)\n return {\"access_token\": token}\n raise HTTPException(401, detail={\"message\": \"Invalid credentials\"})\n\n@app.get(\"/protected\", dependencies=[Depends(auth.get_token_from_request)])\ndef get_protected(token: RequestToken = Depends()):\n try:\n auth.verify_token(token=token)\n return {\"message\": \"Hello world !\"}\n except Exception as e:\n raise HTTPException(401, detail={\"message\": str(e)}) from e\n```\n\n## Contributors and sponsors\n\n<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->\n[![All Contributors](https://img.shields.io/badge/all_contributors-12-orange.svg?style=flat-square)](#contributors-)\n<!-- ALL-CONTRIBUTORS-BADGE:END -->\n\nThanks goes to these wonderful people\n([emoji key](https://allcontributors.org/docs/en/emoji-key)):\n\n<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->\n<!-- prettier-ignore-start -->\n<!-- markdownlint-disable -->\n<table>\n <tbody>\n <tr>\n <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"http://yezz.me\"><img src=\"https://avatars.githubusercontent.com/u/52716203?v=4?s=100\" width=\"100px;\" alt=\"Yasser Tahiri\"/><br /><sub><b>Yasser Tahiri</b></sub></a><br /><a href=\"https://github.com/yezz123/authx/commits?author=yezz123\" title=\"Code\">\ud83d\udcbb</a> <a href=\"https://github.com/yezz123/authx/commits?author=yezz123\" title=\"Documentation\">\ud83d\udcd6</a> <a href=\"#maintenance-yezz123\" title=\"Maintenance\">\ud83d\udea7</a> <a href=\"#infra-yezz123\" title=\"Infrastructure (Hosting, Build-Tools, etc)\">\ud83d\ude87</a></td>\n <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://soubai.me\"><img src=\"https://avatars.githubusercontent.com/u/11523791?v=4?s=100\" width=\"100px;\" alt=\"Abderrahim SOUBAI-ELIDRISI\"/><br /><sub><b>Abderrahim SOUBAI-ELIDRISI</b></sub></a><br /><a href=\"https://github.com/yezz123/authx/pulls?q=is%3Apr+reviewed-by%3AAbderrahimSoubaiElidrissi\" title=\"Reviewed Pull Requests\">\ud83d\udc40</a> <a href=\"https://github.com/yezz123/authx/commits?author=AbderrahimSoubaiElidrissi\" title=\"Documentation\">\ud83d\udcd6</a></td>\n <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://smakosh.com\"><img src=\"https://avatars.githubusercontent.com/u/20082141?v=4?s=100\" width=\"100px;\" alt=\"Ismail Ghallou \"/><br /><sub><b>Ismail Ghallou </b></sub></a><br /><a href=\"https://github.com/yezz123/authx/commits?author=smakosh\" title=\"Code\">\ud83d\udcbb</a> <a href=\"#security-smakosh\" title=\"Security\">\ud83d\udee1\ufe0f</a></td>\n <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/MojixCoder\"><img src=\"https://avatars.githubusercontent.com/u/76670309?v=4?s=100\" width=\"100px;\" alt=\"MojixCoder\"/><br /><sub><b>MojixCoder</b></sub></a><br /><a href=\"https://github.com/yezz123/authx/commits?author=MojixCoder\" title=\"Code\">\ud83d\udcbb</a> <a href=\"https://github.com/yezz123/authx/issues?q=author%3AMojixCoder\" title=\"Bug reports\">\ud83d\udc1b</a></td>\n <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"http://sralab.com\"><img src=\"https://avatars.githubusercontent.com/u/1815?v=4?s=100\" width=\"100px;\" alt=\"St\u00e9phane Raimbault\"/><br /><sub><b>St\u00e9phane Raimbault</b></sub></a><br /><a href=\"https://github.com/yezz123/authx/commits?author=stephane\" title=\"Code\">\ud83d\udcbb</a> <a href=\"#plugin-stephane\" title=\"Plugin/utility libraries\">\ud83d\udd0c</a></td>\n <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/theoohoho\"><img src=\"https://avatars.githubusercontent.com/u/31537466?v=4?s=100\" width=\"100px;\" alt=\"theoohoho\"/><br /><sub><b>theoohoho</b></sub></a><br /><a href=\"https://github.com/yezz123/authx/commits?author=theoohoho\" title=\"Documentation\">\ud83d\udcd6</a></td>\n <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://yogeshupadhyay.netlify.app/\"><img src=\"https://avatars.githubusercontent.com/u/53992168?v=4?s=100\" width=\"100px;\" alt=\"Yogesh Upadhyay\"/><br /><sub><b>Yogesh Upadhyay</b></sub></a><br /><a href=\"https://github.com/yezz123/authx/issues?q=author%3AYogeshUpdhyay\" title=\"Bug reports\">\ud83d\udc1b</a></td>\n </tr>\n <tr>\n <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/iftenet\"><img src=\"https://avatars.githubusercontent.com/u/1397880?v=4?s=100\" width=\"100px;\" alt=\"Roman\"/><br /><sub><b>Roman</b></sub></a><br /><a href=\"https://github.com/yezz123/authx/issues?q=author%3Aiftenet\" title=\"Bug reports\">\ud83d\udc1b</a></td>\n <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://www.linkedin.com/today/author/alobbs\"><img src=\"https://avatars.githubusercontent.com/u/170559?v=4?s=100\" width=\"100px;\" alt=\"Alvaro Lopez Ortega\"/><br /><sub><b>Alvaro Lopez Ortega</b></sub></a><br /><a href=\"https://github.com/yezz123/authx/commits?author=alobbs\" title=\"Documentation\">\ud83d\udcd6</a></td>\n <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/pinchXOXO\"><img src=\"https://avatars.githubusercontent.com/u/68501799?v=4?s=100\" width=\"100px;\" alt=\"Devy Santo\"/><br /><sub><b>Devy Santo</b></sub></a><br /><a href=\"#infra-pinchXOXO\" title=\"Infrastructure (Hosting, Build-Tools, etc)\">\ud83d\ude87</a></td>\n <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/pg365\"><img src=\"https://avatars.githubusercontent.com/u/173273017?v=4?s=100\" width=\"100px;\" alt=\"pg365\"/><br /><sub><b>pg365</b></sub></a><br /><a href=\"#infra-pg365\" title=\"Infrastructure (Hosting, Build-Tools, etc)\">\ud83d\ude87</a></td>\n <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/jor-rit\"><img src=\"https://avatars.githubusercontent.com/u/16398756?v=4?s=100\" width=\"100px;\" alt=\"Jorrit\"/><br /><sub><b>Jorrit</b></sub></a><br /><a href=\"#platform-jor-rit\" title=\"Packaging/porting to new platform\">\ud83d\udce6</a></td>\n </tr>\n </tbody>\n</table>\n\n<!-- markdownlint-restore -->\n<!-- prettier-ignore-end -->\n\n<!-- ALL-CONTRIBUTORS-LIST:END -->\n\n<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->\n<!-- prettier-ignore-start -->\n<!-- markdownlint-disable -->\n\n<!-- markdownlint-restore -->\n<!-- prettier-ignore-end -->\n\n<!-- ALL-CONTRIBUTORS-LIST:END -->\n\nThis project follows the\n[all-contributors](https://github.com/all-contributors/all-contributors)\nspecification. Contributions of any kind welcome!\n\n## License\n\nThis project is licensed under the terms of the MIT License.\n",
"bugtrack_url": null,
"license": null,
"summary": "Ready to use and customizable Authentications and Oauth2 management for FastAPI",
"version": "1.4.0",
"project_urls": {
"Changelog": "https://authx.yezz.me/release/",
"Documentation": "https://authx.yezz.me/",
"Funding": "https://github.com/sponsors/yezz123",
"Homepage": "https://github.com/yezz123/authx",
"Source": "https://github.com/yezz123/authx"
},
"split_keywords": [
"authentication",
" cookie",
" fastapi",
" jwt",
" oauth2",
" pydantic"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "214a166fdc362468948fb33714a6ab80a90c6bd6dad53495e6cfdb977355d966",
"md5": "b6246fb79a517aa95790b05504f98657",
"sha256": "9a95790e755b8bb037aa79756e178a1b8fd41a563d0b74b87ff023e5bd0fda91"
},
"downloads": -1,
"filename": "authx-1.4.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b6246fb79a517aa95790b05504f98657",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 26128,
"upload_time": "2024-10-20T13:11:41",
"upload_time_iso_8601": "2024-10-20T13:11:41.696007Z",
"url": "https://files.pythonhosted.org/packages/21/4a/166fdc362468948fb33714a6ab80a90c6bd6dad53495e6cfdb977355d966/authx-1.4.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2d977a2de5506c6db33e59a0289373c8cff0ec8c20926d811598e3f7994fa32b",
"md5": "09f1b127f46ed47b0d2cbcbb67342ff3",
"sha256": "bcd7ec8b604003ff11353785905f59fafe95dafbdb568e3740ed8b7cfa4ca444"
},
"downloads": -1,
"filename": "authx-1.4.0.tar.gz",
"has_sig": false,
"md5_digest": "09f1b127f46ed47b0d2cbcbb67342ff3",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 56644,
"upload_time": "2024-10-20T13:11:43",
"upload_time_iso_8601": "2024-10-20T13:11:43.333975Z",
"url": "https://files.pythonhosted.org/packages/2d/97/7a2de5506c6db33e59a0289373c8cff0ec8c20926d811598e3f7994fa32b/authx-1.4.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-20 13:11:43",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "sponsors",
"github_project": "yezz123",
"github_not_found": true,
"lcname": "authx"
}