{"id":13610337,"url":"https://github.com/httplib2/httplib2","last_synced_at":"2025-05-14T05:00:28.066Z","repository":{"id":5379896,"uuid":"53002916","full_name":"httplib2/httplib2","owner":"httplib2","description":"Small, fast HTTP client library for Python. Features persistent connections, cache, and Google App Engine support. Originally written by Joe Gregorio, now supported by community.","archived":false,"fork":false,"pushed_at":"2024-08-05T09:47:16.000Z","size":3797,"stargazers_count":496,"open_issues_count":63,"forks_count":185,"subscribers_count":24,"default_branch":"master","last_synced_at":"2025-05-14T00:56:36.574Z","etag":null,"topics":["http","http-client","network","python"],"latest_commit_sha":null,"homepage":"http://httplib2.readthedocs.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/httplib2.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","contributing":"contributing.md","funding":null,"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":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-03-02T22:59:52.000Z","updated_at":"2025-05-13T12:28:35.000Z","dependencies_parsed_at":"2024-06-18T12:23:46.605Z","dependency_job_id":"dbfee945-96d9-41e9-8932-65c2aca77af6","html_url":"https://github.com/httplib2/httplib2","commit_stats":{"total_commits":538,"total_committers":73,"mean_commits":7.36986301369863,"dds":0.6561338289962826,"last_synced_commit":"09eee8a81f552cbaa74f603f2dd9bcc3311ff6d7"},"previous_names":[],"tags_count":36,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/httplib2%2Fhttplib2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/httplib2%2Fhttplib2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/httplib2%2Fhttplib2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/httplib2%2Fhttplib2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/httplib2","download_url":"https://codeload.github.com/httplib2/httplib2/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254076375,"owners_count":22010605,"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":["http","http-client","network","python"],"created_at":"2024-08-01T19:01:43.774Z","updated_at":"2025-05-14T05:00:28.017Z","avatar_url":"https://github.com/httplib2.png","language":"Python","readme":"Introduction\n============\n\nhttplib2 is a comprehensive HTTP client library, httplib2.py supports many\nfeatures left out of other HTTP libraries.\n\nIf you want to help this project by bug report or code change, [contribution guidelines](contributing.md) may contain useful information.\n\n### HTTP and HTTPS\n\nHTTPS support is only available if the socket module was\ncompiled with SSL support.\n    \n### Keep-Alive\n\nSupports HTTP 1.1 Keep-Alive, keeping the socket open and\nperforming multiple requests over the same connection if\npossible.\n    \n### Authentication\n\nThe following three types of HTTP Authentication are\nsupported. These can be used over both HTTP and HTTPS.\n\n* Digest\n* Basic\n* WSSE\n\n### Caching\n\nThe module can optionally operate with a private cache that\nunderstands the Cache-Control: header and uses both the ETag\nand Last-Modified cache validators.\n    \n### All Methods\n\nThe module can handle any HTTP request method, not just GET\nand POST.\n    \n### Redirects\n\nAutomatically follows 3XX redirects on GETs.\n    \n### Compression\n\nHandles both 'deflate' and 'gzip' types of compression.\n    \n### Lost update support\n\nAutomatically adds back ETags into PUT requests to resources\nwe have already cached. This implements Section 3.2 of\nDetecting the Lost Update Problem Using Unreserved Checkout.\n    \n### Unit Tested\n\nA large and growing set of unit tests.\n\n\nInstallation\n============\n\n\n    $ pip install httplib2\n\n\nUsage\n=====\n\nA simple retrieval:\n\n```python\nimport httplib2\nh = httplib2.Http(\".cache\")\n(resp_headers, content) = h.request(\"http://example.org/\", \"GET\")\n```\n\nThe 'content' is the content retrieved from the URL. The content\nis already decompressed or unzipped if necessary.\n\nTo PUT some content to a server that uses SSL and Basic authentication:\n\n```python\nimport httplib2\nh = httplib2.Http(\".cache\")\nh.add_credentials('name', 'password')\n(resp, content) = h.request(\"https://example.org/chapter/2\",\n                            \"PUT\", body=\"This is text\",\n                            headers={'content-type':'text/plain'} )\n```\n\nUse the Cache-Control: header to control how the caching operates.\n\n```python\nimport httplib2\nh = httplib2.Http(\".cache\")\n(resp, content) = h.request(\"http://bitworking.org/\", \"GET\")\n...\n(resp, content) = h.request(\"http://bitworking.org/\", \"GET\",\n                            headers={'cache-control':'no-cache'})\n```\n\nThe first request will be cached and since this is a request\nto bitworking.org it will be set to be cached for two hours,\nbecause that is how I have my server configured. Any subsequent\nGET to that URI will return the value from the on-disk cache\nand no request will be made to the server. You can use the\nCache-Control: header to change the caches behavior and in\nthis example the second request adds the Cache-Control:\nheader with a value of 'no-cache' which tells the library\nthat the cached copy must not be used when handling this request.\n\nMore example usage can be found at:\n\n * https://github.com/httplib2/httplib2/wiki/Examples\n * https://github.com/httplib2/httplib2/wiki/Examples-Python3\n","funding_links":[],"categories":["HTTP","HTTP Clients","Python","HTTP Clients [🔝](#readme)","Awesome Python","Programming Languages"],"sub_categories":["HTTP","Python"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhttplib2%2Fhttplib2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhttplib2%2Fhttplib2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhttplib2%2Fhttplib2/lists"}