Skip to main content

CRUDs

PyPI - Version Supported Python Version Development Quality Gate Status Documentation Status

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-data via a simple files parameter
  • 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)

Source distribution for cruds 1.8.0
File Size Uploaded
cruds-1.8.0.tar.gz 39.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cruds 1.8.0
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

1.8.1

2 release files

This release

1.8.0 This release

2 release files

1.7.0

2 release files

1.6.0

2 release files

1.5.0

2 release files

1.4.2

2 release files

1.4.1

2 release files

1.3.9

2 release files

1.3.8

2 release files

1.3.6

2 release files

1.3.5

2 release files

1.3.4

2 release files

1.3.3

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.2

2 release files

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