skillfed

oauthlib

A generic, spec-compliant, thorough implementation of the OAuth request-signing logic

oauthlib Permissive license BSD-3-Clause Active 2,976 v3.3.1 released

Install

oauthlib on PyPI

pip

pip install oauthlib

uv

uv add oauthlib

poetry

poetry add oauthlib

Package 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

Development Status :: 5 - Production/StableEnvironment :: Web EnvironmentIntended Audience :: DevelopersOperating System :: MacOSOperating System :: POSIXOperating System :: POSIX :: LinuxProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: ImplementationProgramming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Software Development :: Libraries :: Python Modules

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.
oauth1 oauth2 implementationoauth request signingoauth framework agnosticoauth client providerspec compliant oauth libraryoauth protocol logicrfc 5849 rfc 6749

Similar packages