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.

It also provides supported interfaces for Planhat and Kolleno.

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.1

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.1
File Size Uploaded
cruds-1.8.1.tar.gz 40.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cruds 1.8.1
File Interpreter ABI Platform
cruds-1.8.1-py3-none-any.whl Python 3 none any Details

Total release size: 70.9 kB

Release files / cruds-1.8.1.tar.gz

Download URL cruds-1.8.1.tar.gz
Size 40.0 kB
Tags Source
SHA-256 checksum
How to use checksums
0982f89235b164528b53a9c45c4242f6cd3a6ab8838e48479badf59a9f94ba41
BLAKE2b-256 checksum
How to use checksums
cc097783061c858db958fc7921e73a6ad1a0f04293abab24c4d8f90effed6bc7
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 30, 2026.

Transparency log

Release files / cruds-1.8.1-py3-none-any.whl

Download URL cruds-1.8.1-py3-none-any.whl
Size 31.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dc1bf4e41fbd23dcecefd3cb6b642b07365178b5fe256f6b7aeaa5d2475ee43f
BLAKE2b-256 checksum
How to use checksums
7a31fa4892d50dab812a50fb37f52c28e9c012acb9f8ac78e250361154f661ab
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 30, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.8.1 This release

2 release files

1.8.0

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