fastlink
FastLink OAuth 2.0 client for various platforms, asynchronous, easy-to-use, extensible
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (8.3%) to scientific vocabulary
Keywords
Repository
FastLink OAuth 2.0 client for various platforms, asynchronous, easy-to-use, extensible
Basic Info
Statistics
- Stars: 2
- Watchers: 1
- Forks: 2
- Open Issues: 1
- Releases: 0
Topics
Metadata Files
README.md
FastLink
OAuth 2.0 client for various platforms, asynchronous, easy-to-use, extensible
Features
- All-in-one: Supports popular platforms like Google, Yandex, Telegram, etc.
- Asynchronous: Built on top of
httpxis fully asynchronous. - Easy-to-use: Simple and intuitive API for quick integration.
- Extensible: Easily add support for new platforms or customize existing ones.
Installation
bash
pip install fastlink
Get Started
```python from typing import Annotated, Any
from fastapi import Depends, FastAPI from fastapi.responses import RedirectResponse
from examples.config import settings from fastlink import GoogleSSO from fastlink.schemas import OAuth2Callback, OpenID
app = FastAPI()
sso = GoogleSSO( settings.googleclientid, settings.googleclientsecret, "http://localhost:8000/callback", )
@app.get("/login") async def login() -> RedirectResponse: async with sso: url = await sso.login_url() return RedirectResponse(url=url)
@app.get("/callback") async def callback(call: Annotated[OAuth2Callback, Depends()]) -> OpenID: async with sso: return await sso.callback(call) ```
Now you can run the server and visit http://localhost:8000/login to start the OAuth 2.0 flow.

After logging into Google, you will be redirected to the callback URL. The server will then fetch the user's OpenID
information and return it as a response.

Owner
- Name: Ivan Stasevich
- Login: everysoftware
- Kind: user
- Location: Nizhniy Novgorod, Russia
- Website: https://boosty.to/everysoftware
- Repositories: 30
- Profile: https://github.com/everysoftware
Python developer from Russia
Citation (CITATION.cff)
# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!
cff-version: 1.2.0
title: FastLink
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- given-names: Ivan
family-names: Stasevich
email: pravitel2015ify@gmail.com
repository-code: 'https://github.com/everysoftware/fastlink'
abstract: >-
FastLink OAuth 2.0 client for various platforms,
asynchronous, easy-to-use, extensible
keywords:
- httpx
- pydantic
- oauth2
- fastapi
license: MIT
GitHub Events
Total
- Push event: 12
Last Year
- Push event: 12
Committers
Last synced: 7 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| everysoftware | p****y@g****m | 27 |
Issues and Pull Requests
Last synced: 6 months ago
Packages
- Total packages: 1
-
Total downloads:
- pypi 17 last-month
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 7
- Total maintainers: 1
pypi.org: fastlink
FastLink OAuth 2.0 client for various platforms, asynchronous, easy-to-use, extensible
- Homepage: https://github.com/everysoftware/fastlink
- Documentation: https://github.com/everysoftware/fastlink
- License: MIT
-
Latest release: 0.1.6
published 9 months ago
Rankings
Maintainers (1)
Dependencies
- actions/checkout v3 composite
- actions/setup-python v4 composite
- annotated-types 0.7.0
- anyio 4.8.0
- certifi 2025.1.31
- cfgv 3.4.0
- click 8.1.8
- colorama 0.4.6
- distlib 0.3.9
- dnspython 2.7.0
- email-validator 2.2.0
- fastapi 0.115.8
- fastapi-cli 0.0.7
- filelock 3.17.0
- h11 0.14.0
- httpcore 1.0.7
- httptools 0.6.4
- httpx 0.28.1
- identify 2.6.6
- idna 3.10
- itsdangerous 2.2.0
- jinja2 3.1.5
- markdown-it-py 3.0.0
- markupsafe 3.0.2
- mdurl 0.1.2
- mypy 1.14.1
- mypy-extensions 1.0.0
- nodeenv 1.9.1
- orjson 3.10.15
- platformdirs 4.3.6
- pre-commit 4.1.0
- pydantic 2.10.6
- pydantic-core 2.27.2
- pydantic-extra-types 2.10.2
- pydantic-settings 2.7.1
- pygments 2.19.1
- pyjwt 2.10.1
- python-dotenv 1.0.1
- python-multipart 0.0.20
- pyyaml 6.0.2
- rich 13.9.4
- rich-toolkit 0.13.2
- ruff 0.9.4
- shellingham 1.5.4
- sniffio 1.3.1
- starlette 0.45.3
- typer 0.15.1
- typing-extensions 4.12.2
- ujson 5.10.0
- uvicorn 0.34.0
- uvloop 0.21.0
- virtualenv 20.29.1
- watchfiles 1.0.4
- websockets 14.2
- fastapi ^0.115.7 develop
- mypy ^1.14.1 develop
- pre-commit ^4.1.0 develop
- ruff ^0.9.3 develop
- fastapi ^0.115.7
- httpx ^0.28.1
- pydantic ^2.10.6
- pyjwt ^2.10.1
- python ^3.12