{"repo":"prkumar/uplink","free":true,"listed":false,"github":"https://github.com/prkumar/uplink","clone":"git clone https://github.com/prkumar/uplink.git","description":"A Declarative HTTP Client for Python","language":"Python","stars":1140,"topics":["python","http","http-client","rest-api","retrofit","requests","api-client","aiohttp"],"license":"MIT","category":"api-integrations-sdks","readme_excerpt":"Uplink - Builds Reusable Objects for Consuming Web APIs. - Works with Requests , aiohttp , and Twisted . - Inspired by Retrofit. A Quick Walkthrough, with GitHub API v3 Uplink turns your HTTP API into a Python class. Build an instance to interact with the webservice. Then, executing an HTTP request is as simply as invoking a method. The returned object is a friendly requests.Response : For sending non-blocking requests, Uplink comes with support for aiohttp and twisted . Ready to launch your first API client with Uplink? Start with this quick tutorial! Features - Quickly Define Structured API Clients - Use decorators and type hints to describe each HTTP request - JSON, URL-encoded, and multipart request body and file upload - URL parameter replacement, request headers, and query parameter support - Bring Your Own HTTP Library - Non-blocking I/O support for Aiohttp and Twisted - Supply your own session (e.g., requests.Session ) for greater control - Easy and Transparent Deserialization/Serialization - Define custom converters for your own objects - Support for marshmallow schemas, pydantic models, and handling collections (e.g., list of Users) - Extendable - Install optional plugins for additional features (e.g., protobuf support) - Compose custom response and error handling functions as middleware - Authentication - Built-in support for Basic Authentication - Use existing auth libraries for supported clients (e.g., requests-oauthlib ) Uplink officially supports Python 3.10+. ","default_branch":null,"files":null,"tree":[],"storefront":"/r/prkumar","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/prkumar/uplink/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}