Skip to main content

Tiny API Client 🐝

License: GPL  v2

Write JSON API Clients in Python without the fluff, pumped full of syntactic sugar

from tiny_api_client import api_client, get, post, delete

@api_client('https://example.org/api/public/v{version}')
class MyAPIClient:
	@get('/users/{user_id}')
	def find_user(self, response):
		return response

	@post('/notes')
	def create_note(self, response):
		return response

	@delete('/notes/{note_id}/attachment/{attachment_id}', version=3)
	def delete_note_attachment(self, response):
		return response

>>> client = MyClient()
>>> client.find_user(user_id='PeterParker')
{'name': 'Peter', 'surname': 'Parker', ...}
>>> client.create_note(data={'title': 'New Note', 'content': 'Hello World!'})
{'id': ...}
>>> client.delete_note_attachment(node_id=...)

Features

  • Instance-scoped requests.Session() with connection pooling and cookie preservation
  • JSON is king, but XML and raw responses are fine too
  • Endpoints can use GET, POST, PUT, PATCH, DELETE
  • Route parameters are optional
  • Easy integration with your custom API classes
  • Declare endpoints under different API versions
  • Can define the API URL at runtime if not available before
  • Can set a custom CookieJar to pass with all requests
  • Pass along any parameters you would usually pass to requests
  • Custom JSON status error handling
  • Installable pytest plugin for easy testing
  • Excellent support for type checking thanks to a built-in mypy plugin

Installation

pip install tiny-api-client

Documentation

You can find the documentation at https://tiny-api-client.readthedocs.io

License

License: LGPL  v2.1

This software is distributed under the Lesser General Public License v2.1, more information available at the Free Software Foundation.

Metadata

Release files for tiny-api-client 1.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tiny-api-client 1.4.0
File Size Uploaded
tiny_api_client-1.4.0.tar.gz 64.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for tiny-api-client 1.4.0
File Interpreter ABI Platform
tiny_api_client-1.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 82.6 kB

Release files / tiny_api_client-1.4.0.tar.gz

Download URL tiny_api_client-1.4.0.tar.gz
Size 64.6 kB
Tags Source
SHA-256 checksum
How to use checksums
ad6772b611dfc71535800d0db901258f8b0da6ac77e27a71260eaea507e69ed3
BLAKE2b-256 checksum
How to use checksums
6cc4b057e8018353448f3372432c2763b0e1f4978bfd6466c03bcae61981573e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.16

Release files / tiny_api_client-1.4.0-py3-none-any.whl

Download URL tiny_api_client-1.4.0-py3-none-any.whl
Size 18.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3e4af7ad4fcf549b850e46072b4ccd381a11acaef25ca09a61c6370a45bdd404
BLAKE2b-256 checksum
How to use checksums
32b60a47e06fd0d45b132a035fbc4ff24deb59d93f657e9de37ef591da06187c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.16
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page