{"id":13594972,"url":"https://github.com/requests/requests-oauthlib","last_synced_at":"2025-05-12T20:52:43.348Z","repository":{"id":41450017,"uuid":"6825724","full_name":"requests/requests-oauthlib","owner":"requests","description":"OAuthlib support for Python-Requests!","archived":false,"fork":false,"pushed_at":"2024-08-14T13:48:47.000Z","size":576,"stargazers_count":1745,"open_issues_count":117,"forks_count":420,"subscribers_count":50,"default_branch":"master","last_synced_at":"2025-05-08T00:02:19.862Z","etag":null,"topics":["oauth-client","oauth2-client","python","python-requests"],"latest_commit_sha":null,"homepage":"https://requests-oauthlib.readthedocs.org/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/requests.png","metadata":{"files":{"readme":"README.rst","changelog":"HISTORY.rst","contributing":"docs/contributing.rst","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.rst","dei":null,"publiccode":null,"codemeta":null},"funding":{"tidelift":"pypi/requests-oauthlib"}},"created_at":"2012-11-23T10:19:44.000Z","updated_at":"2025-05-06T07:57:14.000Z","dependencies_parsed_at":"2024-02-24T23:25:09.190Z","dependency_job_id":"9f804ceb-360a-4899-a494-21c7d96ec4a9","html_url":"https://github.com/requests/requests-oauthlib","commit_stats":{"total_commits":466,"total_committers":123,"mean_commits":"3.7886178861788617","dds":0.8669527896995708,"last_synced_commit":"c003c22eceb9e54a7cfe242b7976412a2c98a972"},"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/requests%2Frequests-oauthlib","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/requests%2Frequests-oauthlib/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/requests%2Frequests-oauthlib/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/requests%2Frequests-oauthlib/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/requests","download_url":"https://codeload.github.com/requests/requests-oauthlib/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253166502,"owners_count":21864475,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["oauth-client","oauth2-client","python","python-requests"],"created_at":"2024-08-01T16:01:41.690Z","updated_at":"2025-05-12T20:52:43.311Z","avatar_url":"https://github.com/requests.png","language":"Python","readme":"Requests-OAuthlib |build-status| |coverage-status| |docs|\n=========================================================\n\nThis project provides first-class OAuth library support for `Requests \u003chttps://requests.readthedocs.io\u003e`_.\n\nThe OAuth 1 workflow\n--------------------\n\nOAuth 1 can seem overly complicated and it sure has its quirks. Luckily,\nrequests_oauthlib hides most of these and let you focus at the task at hand.\n\nAccessing protected resources using requests_oauthlib is as simple as:\n\n.. code-block:: pycon\n\n    \u003e\u003e\u003e from requests_oauthlib import OAuth1Session\n    \u003e\u003e\u003e twitter = OAuth1Session('client_key',\n                                client_secret='client_secret',\n                                resource_owner_key='resource_owner_key',\n                                resource_owner_secret='resource_owner_secret')\n    \u003e\u003e\u003e url = 'https://api.twitter.com/1/account/settings.json'\n    \u003e\u003e\u003e r = twitter.get(url)\n\nBefore accessing resources you will need to obtain a few credentials from your\nprovider (e.g. Twitter) and authorization from the user for whom you wish to\nretrieve resources for. You can read all about this in the full\n`OAuth 1 workflow guide on RTD \u003chttps://requests-oauthlib.readthedocs.io/en/latest/oauth1_workflow.html\u003e`_.\n\nThe OAuth 2 workflow\n--------------------\n\nOAuth 2 is generally simpler than OAuth 1 but comes in more flavours. The most\ncommon being the Authorization Code Grant, also known as the WebApplication\nflow.\n\nFetching a protected resource after obtaining an access token can be extremely\nsimple. However, before accessing resources you will need to obtain a few\ncredentials from your provider (e.g. Google) and authorization from the user\nfor whom you wish to retrieve resources for. You can read all about this in the\nfull `OAuth 2 workflow guide on RTD \u003chttps://requests-oauthlib.readthedocs.io/en/latest/oauth2_workflow.html\u003e`_.\n\nInstallation\n-------------\n\nTo install requests and requests_oauthlib you can use pip:\n\n.. code-block:: bash\n\n    pip install requests requests-oauthlib\n\n.. |build-status| image:: https://github.com/requests/requests-oauthlib/actions/workflows/run-tests.yml/badge.svg\n   :target: https://github.com/requests/requests-oauthlib/actions\n.. |coverage-status| image:: https://img.shields.io/coveralls/requests/requests-oauthlib.svg\n   :target: https://coveralls.io/r/requests/requests-oauthlib\n.. |docs| image:: https://readthedocs.org/projects/requests-oauthlib/badge/\n   :alt: Documentation Status\n   :scale: 100%\n   :target: https://requests-oauthlib.readthedocs.io/\n","funding_links":["https://tidelift.com/funding/github/pypi/requests-oauthlib"],"categories":["Python","Authorization \u0026 Authentication","Client Library"],"sub_categories":["Python"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frequests%2Frequests-oauthlib","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frequests%2Frequests-oauthlib","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frequests%2Frequests-oauthlib/lists"}