skillfed

requests-oauthlib

OAuthlib authentication support for Requests.

requests-oauthlib Permissive license ISC AGING 1,775 v2.0.0 released

Install

requests-oauthlib on PyPI

pip

pip install requests-oauthlib

uv

uv add requests-oauthlib

poetry

poetry add requests-oauthlib

Package facts

License ISC (permissive)
Python support supports the current Python release (>=3.4)
Install friction low — pure-Python wheel
Runtime dependencies 2 — oauthlib, requests
Maintenance aging — 874 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: requests_oauthlib-2.0.0-py2.py3-none-any.whl

Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: BSD LicenseNatural Language :: EnglishProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.4Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPy

About requests-oauthlib

from the package's own PyPI description — quoted content, verbatim

Requests-OAuthlib |build-status| |coverage-status| |docs|

This project provides first-class OAuth library support for Requests <https://requests.readthedocs.io>_.

The OAuth 1 workflow

OAuth 1 can seem overly complicated and it sure has its quirks. Luckily, requests_oauthlib hides most of these and let you focus at the task at hand.

Accessing protected resources using requests_oauthlib is as simple as:

.. code-block:: pycon

>>> from requests_oauthlib import OAuth1Session
>>> twitter = OAuth1Session('client_key',
                            client_secret='client_secret',
                            resource_owner_key='resource_owner_key',
                            resource_owner_secret='resource_owner_secret')
>>> url = 'https://api.twitter.com/1/account/settings.json'
>>> r = twitter.get(url)

Before accessing resources you will need to obtain a few credentials from your provider (e.g. Twitter) and authorization from the user for whom you wish to retrieve resources for. You can read all about this in the full `OAuth 1 workflow guide on RTD...

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

Provides OAuth 1 and OAuth 2 authentication support for the Requests HTTP library, enabling seamless integration with OAuth-protected APIs and services.

Low friction: pure-Python wheel with only two runtime dependencies (oauthlib and requests). Maintenance status is aging—874 days since the last release (v2.0.0 on 2024-03-22)—though the repository remains active with recent commits and is not archived.

Licensed under ISC (permissive), allowing commercial and private use with minimal restrictions; suitable for most projects.

Usage

pip install requests-oauthlib
from requests_oauthlib import OAuth1Session
twitter = OAuth1Session('client_key', client_secret='client_secret',
                        resource_owner_key='resource_owner_key',
                        resource_owner_secret='resource_owner_secret')
r = twitter.get('https://api.twitter.com/1/account/settings.json')

Verdict: Production-stable OAuth library (Development Status 5) with broad Python 3 support (3.4–3.12) and no known vulnerabilities. Install friction is low and dependencies are minimal. The aging maintenance status (874 days since release) warrants monitoring, but the active repository and top-1000 popularity suggest continued viability for OAuth workflows.

Needs verification

  • Whether the 874-day release gap reflects deliberate stability or reduced maintenance capacity
  • Compatibility status with the latest oauthlib versions and whether any breaking changes are expected
oauth authentication for requestsoauth1 oauth2 python libraryrequests oauth integrationapi authentication oauthoauth session managementtwitter api oauth pythongoogle oauth requests

Similar packages