{"id":17030107,"url":"https://github.com/rob-blackbourn/bareclient","last_synced_at":"2025-08-19T22:32:41.326Z","repository":{"id":46650981,"uuid":"177091110","full_name":"rob-blackbourn/bareClient","owner":"rob-blackbourn","description":"A simple asyncio http client https://rob-blackbourn.github.io/bareClient/","archived":false,"fork":false,"pushed_at":"2024-03-14T09:44:32.000Z","size":1474,"stargazers_count":2,"open_issues_count":2,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-12-15T22:50:15.148Z","etag":null,"topics":["asyncio","bareasgi","client","http","http-client","http2","python","python-3"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rob-blackbourn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2019-03-22T07:20:04.000Z","updated_at":"2024-10-06T03:55:04.000Z","dependencies_parsed_at":"2024-03-14T10:56:31.907Z","dependency_job_id":null,"html_url":"https://github.com/rob-blackbourn/bareClient","commit_stats":{"total_commits":87,"total_committers":4,"mean_commits":21.75,"dds":0.5172413793103448,"last_synced_commit":"966898015abf61bdaff58340b5fd4acfa19ae7c1"},"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rob-blackbourn%2FbareClient","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rob-blackbourn%2FbareClient/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rob-blackbourn%2FbareClient/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rob-blackbourn%2FbareClient/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rob-blackbourn","download_url":"https://codeload.github.com/rob-blackbourn/bareClient/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230374122,"owners_count":18216042,"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":["asyncio","bareasgi","client","http","http-client","http2","python","python-3"],"created_at":"2024-10-14T08:04:20.751Z","updated_at":"2024-12-19T04:08:08.720Z","avatar_url":"https://github.com/rob-blackbourn.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# bareClient\n\nAn asyncio HTTP Python 3.11 client package supporting HTTP versions 1.0, 1.1\nand 2 (read the [docs](https://rob-blackbourn.github.io/bareClient/)).\n\nThis is the client companion to the ASGI server side web framework\n[bareASGI](https://github.com/rob-blackbourn/bareASGI) and follows the same\n\"bare\" approach. It provides only the essential functionality and makes little\nattempt to provide any helpful features which might do unnecessary work.\n\nThis package is suitable for:\n\n- A foundation for async HTTP/2 clients,\n- Async REST client API's,\n- Containers requiring a small image size,\n- Integration with ASGI web servers requiring async HTTP client access.\n\n## Features\n\nThe client has the following notable features:\n\n- Lightweight\n- Uses asyncio\n- Supports HTTP versions 1.0, 1.1, 2\n- Supports middleware\n- Handles proxies\n\n## Installation\n\nThe package can be installed with pip.\n\n```bash\npip install bareclient\n```\n\nThis is a Python3.11 and later package.\n\nIt has dependencies on:\n\n- [bareUtils](https://github.com/rob-blackbourn/bareUtils)\n- [h11](https://github.com/python-hyper/h11)\n- [h2](https://github.com/python-hyper/hyper-h2)\n\n## Usage\n\nThe basic usage is to create an `HttpClient`.\n\n```python\nimport asyncio\nfrom typing import List, Optional\nfrom bareclient import HttpClient\n\nasync def main(url: str) -\u003e None:\n    async with HttpClient(url) as response:\n        if response.ok and response.more_body:\n            async for part in response.body:\n                print(part)\n\nasyncio.run(main('https://docs.python.org/3/library/cgi.html'))\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frob-blackbourn%2Fbareclient","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frob-blackbourn%2Fbareclient","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frob-blackbourn%2Fbareclient/lists"}