Create API wrappers/clients in minutes, enjoying both blocking and async interfaces from one codebase!
Project description
Introduction
If you've ever tried to make an API wrapper you probably know that the code written can only be used as sync or async, well, not anymore.
Features
- Lightweight: Extremely lightweight and minimal
- Easy to use: Implement features in no time with the
- Async and blocking: Provides both async and blocking calls
- Test without a server: Since the library internally uses httpx, it can be used to test itself using an
ASGIorWSGIapplication. - DRY: Don't repeat yourself, helps avoid code duplication and write reusable code
- Routing: An
APIRouterclass with simliar API toAPIClient - Modular: Create reusable routers that can be added to any client, independant of each other
Example Usage
from apiclient import APIClient, endpoint, Post
class CodeExecClient(APIClient):
base_url = "https://pathtomysite.com/api/1.0" # Note the missing / suffix
@endpoint
def run(self, language:str, code:str):
# Do any processing with the data here!
# Also note the / prefix in the url
return Post("/execute", params={'lang':language, 'code':code})
# Using the API client
from httpx import Client
client = CodeExecClient(session=Client())
response = client.run("py", "print('hello world!')")
Documentation is under works
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file instant-api-client-0.1.2.tar.gz.
File metadata
- Download URL: instant-api-client-0.1.2.tar.gz
- Upload date:
- Size: 3.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1a9efa7262f4f011060d036ad0c2df1c482f7181222858dabb8236048bce389a
|
|
| MD5 |
6cd17758bbcb041f14eaac24447d9b5b
|
|
| BLAKE2b-256 |
d95d96ab75eaac6885a70e242fc6c84d0981be7d309082519dc626017ee9113b
|
File details
Details for the file instant_api_client-0.1.2-py3-none-any.whl.
File metadata
- Download URL: instant_api_client-0.1.2-py3-none-any.whl
- Upload date:
- Size: 5.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bb4a045cad36ab25c403434ce84a1eabdd044bba2dd8f42353169edc2080eedc
|
|
| MD5 |
c5f6e1a76ed49e4565d1deb4c6c4d530
|
|
| BLAKE2b-256 |
19490d3f4e3b6923653254e529f48248d5d458c3a09e9ed3e12bbe2b9eac393b
|