CRUDs
CRUDs is a lightweight Python client for REST APIs — create, read, update, and delete with zero boilerplate.
import cruds
api = cruds.Client("https://api.example.com", auth="your-token")
# Create a resource
user = api.create("users", data={"name": "Ada", "role": "engineer"})
# Read it back
user = api.read(f"users/{user['id']}")
# Update it
api.update(f"users/{user['id']}", data={"role": "lead"})
# Delete it
api.delete(f"users/{user['id']}")
No response objects to unpack. No manual JSON parsing. No boilerplate retry logic. Just your data.
Quickstart
pip install cruds
import cruds
catfacts = cruds.Client("catfact.ninja")
fact = catfacts.read("fact")
print(fact["fact"])
Why CRUDs over requests/httpx?
| You get | Without writing |
|---|---|
| Semantic CRUD methods | HTTP method boilerplate |
| Automatic JSON SerDes | .json() / .raise_for_status() calls |
| Retry with backoff | HTTPAdapter / Retry setup |
| Bearer, Basic & OAuth2 auth | Manual header management |
| SSL verification | certifi wiring |
# requests — 6 lines of ceremony
import requests
response = requests.get("https://api.example.com/users",
headers={"Authorization": "Bearer token"})
response.raise_for_status()
users = response.json()
# CRUDs — 2 lines of intent
import cruds
users = cruds.Client("api.example.com", auth="token").read("users")
Features
- Authentication — Bearer tokens, username/password, and OAuth2 (Client Credentials, Resource Owner Password, Authorization Code with CSRF protection)
- JSON Serialization — Send and receive Python dicts and lists directly
- Multipart File Uploads — Upload files with
multipart/form-datavia a simplefilesparameter - Retries with backoff — Configurable retry count, backoff factor, and status codes (429, 500–504, etc.)
- Error handling — Automatic exceptions for 4xx/5xx responses
- SSL verification — Enabled by default via certifi
- Logging — Built-in INFO/DEBUG logging for monitoring
- Interfaces — Build SDKs with YAML configuration (ships with Kolleno and Planhat interfaces)
Documentation
Full user guide, API reference, and examples at cruds.readthedocs.io.
License
MIT — see LICENSE.
Credits
Metadata
Release files for cruds 1.8.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cruds-1.8.0.tar.gz | 39.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cruds-1.8.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 70.8 kB
Release files / cruds-1.8.0.tar.gz
| Download URL | cruds-1.8.0.tar.gz |
|---|---|
| Size | 39.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
dd3ba3c7d0d987bb277c6696931f165ed16fff4fe5b9b72db4ebe7e7d812cd9e
|
|
BLAKE2b-256 checksum How to use checksums |
5daeee2cd99355e2c51676cab1bac9adc1d2728c6aab83954aff827e82eb3310
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.
Transparency logRelease files / cruds-1.8.0-py3-none-any.whl
| Download URL | cruds-1.8.0-py3-none-any.whl |
|---|---|
| Size | 30.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
353b296ad7a6c8d9118b2d89ea43c463d5fec52e54edb8260b5ab36d3435475b
|
|
BLAKE2b-256 checksum How to use checksums |
0fa02f07acdc8f9c7cbf6c722d689886cdcad18ff141cabc4c39bf08f58ba72c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.
Transparency log