oauthlib
A generic, spec-compliant, thorough implementation of the OAuth request-signing logic
Install
oauthlib on PyPI
pip
pip install oauthlibuv
uv add oauthlibpoetry
poetry add oauthlibPackage facts
| License | BSD-3-Clause (permissive) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 420 days since the last release |
| Last repo commit | |
| First released | |
| Popularity | one of the top 1,000 most-downloaded packages on PyPI (30-day window, as of 2026-08-13) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-13) |
Evidence: oauthlib-3.3.1-py3-none-any.whl
About oauthlib
from the package's own PyPI description — quoted content, verbatim
OAuthLib - Python Framework for OAuth1 & OAuth2
A generic, spec-compliant, thorough implementation of the OAuth request-signing logic for Python 3.8+
.. image:: https://github.com/oauthlib/oauthlib/actions/workflows/python-build.yml/badge.svg :target: https://github.com/oauthlib/oauthlib/actions :alt: GitHub Actions .. image:: https://coveralls.io/repos/oauthlib/oauthlib/badge.svg?branch=master :target: https://coveralls.io/r/oauthlib/oauthlib :alt: Coveralls .. image:: https://img.shields.io/pypi/pyversions/oauthlib.svg :target: https://pypi.org/project/oauthlib/ :alt: Download from PyPI .. image:: https://img.shields.io/pypi/l/oauthlib.svg :target: https://pypi.org/project/oauthlib/ :alt: License .. image:: https://app.fossa.io/api/projects/git%2Bgithub.com%2Foauthlib%2Foauthlib.svg?type=shield :target: https://app.fossa.io/projects/git%2Bgithub.com%2Foauthlib%2Foauthlib?ref=badge_shield :alt: FOSSA Status .. image:: https://img.shields.io/readthedocs/oauthlib.svg :target: https://oauthlib.readthedocs.io/en/latest/index.html :alt: Read the Docs .. image::...
Read as markdown · JSON record · Source repository · Homepage
AI interpretation — verify before relying
AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page
OAuthLib implements the core OAuth 1.0 and OAuth 2.0 request-signing logic in a framework-agnostic way, letting you add OAuth support to any HTTP library or web framework without assuming a specific implementation.
No runtime dependencies and a pure-Python wheel distribution make installation straightforward. The project is actively maintained with recent commits and has been stable since initial release in 2012.
BSD-3-Clause is a permissive license allowing commercial and private use with minimal restrictions; you must include the license text but face no copyleft obligations.
Usage
pip install oauthlib==3.3.1
from oauthlib.oauth2 import WebApplicationClient
client = WebApplicationClient('client_id')
uri, headers, body = client.prepare_request_uri('https://example.com/authorize')
Requires Python 3.8 or later; the package is framework-agnostic and does not include HTTP transport, so you must pair it with an HTTP library like requests or your framework's native client.
Verdict: OAuthLib is a mature, actively maintained, zero-dependency foundation for OAuth support across Python frameworks. With no known vulnerabilities, permissive licensing, and broad Python version support (3.8–3.13), it is a reliable choice for projects needing spec-compliant OAuth logic without framework lock-in.
Needs verification
- Whether the 420 days since last release reflects a stable maintenance cadence or potential stagnation relative to OAuth specification updates.
- Real-world adoption patterns and integration friction when wrapping OAuthLib for specific HTTP libraries or frameworks.
Similar packages
permissive · top 1,000 on PyPI
async-timeoutpermissive · top 1,000 on PyPI
Authlibpermissive · top 1,000 on PyPI
oauth2clientpermissive · top 1,000 on PyPI
packageurl-pythonpermissive · top 1,000 on PyPI
google-auth-oauthlibpermissive · top 1,000 on PyPI
tableauserverclientpermissive · top 1,000 on PyPI
jsonpointerpermissive · top 1,000 on PyPI
pdfminer.sixpermissive · top 1,000 on PyPI
opencensuspermissive · top 1,000 on PyPI