CRUDs is a high level library for API's, and is ideal for automation system and/or interactive environments like Notebooks
Project description
"Create, Read, Update, Delete"s
CRUDs is a high level client library for APIs written in Python, and is ideal for back-end communication, automated data processing and interactive environments like Notebooks.
>>> import cruds
>>>
>>> catfact_ninja = cruds.Client("catfact.ninja")
>>>
>>> data = catfact_ninja.read("fact")
>>> type(date) # Python built-in data types you can use instantly!
<class 'dict'>
Why CRUDs?
When working with APIs, you have several options. Here's why CRUDs might be the right choice:
vs. requests/httpx/urllib3:
- Semantic API Design: Think about what you're doing (create, read, update, delete) instead of HTTP methods
- Production-Ready: Built-in retry logic, error handling, and logging without configuration
- Simplified Auth: OAuth2, bearer tokens, and basic auth handled automatically
- Data-First: Returns Python data structures directly instead of response objects
vs. SDKs for specific APIs:
- Consistent Interface: Same patterns across all APIs
- No Vendor Lock-in: Switch between APIs without learning new patterns
- Lightweight: No need for multiple heavy SDKs
- Customizable: Full control while maintaining simplicity
Perfect for:
- Data engineers working with multiple APIs
- Backend developers building integrations
- Data scientists in notebooks
- DevOps teams automating API interactions
Make Create, Read, Update and Delete operations quickly, easily, and safely. CRUDs aims to implement URLLib3's best practises while remaining as light as possible.
Features:
- Authentication: Username & Password, Bearer Token and OAuth2
- JSON Serialization/Deserialization
- Request parameters and automatically URL encoded
- Configurable timeouts (default 5 minutes)
- Exceptions handling for bad status codes
- Built-in retry logic with exponential backoff
- SSL Certificate Verification
- Logging for monitoring
- Interfaces (SDK Creation)
Interfaces
CRUDs provides pre-configured interfaces for popular APIs, making integration even easier:
- PlanHat - Complete customer success platform interface with 20+ data models, bulk operations, and advanced analytics. View Documentation
Installation
To install a stable version use PyPI.
$ pip install cruds
Documentation
Whether you are an data engineer wanting to retrieve or load data, a developer writing software for the back-of-the-front-end, or someone wanting to contribute to the project, for more information about CRUDs please visit Read the Docs.
License
CRUDs is released under the MIT License. See the bundled LICENSE file for details.
Credits
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 cruds-1.4.2.tar.gz.
File metadata
- Download URL: cruds-1.4.2.tar.gz
- Upload date:
- Size: 36.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b60998fd9bd9e2f9e535c2381176a7ddefda5a4d7ca3d0595126f0c35b9439ca
|
|
| MD5 |
1ff2b7c51d982f8a08d1b2c571c182b5
|
|
| BLAKE2b-256 |
b77ad3adc685c774cb6eacb28526ec86f1bdd04d44c73848b15f2ba7ea16dc2d
|
Provenance
The following attestation bundles were made for cruds-1.4.2.tar.gz:
Publisher:
release.yml on johnbrandborg/cruds
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cruds-1.4.2.tar.gz -
Subject digest:
b60998fd9bd9e2f9e535c2381176a7ddefda5a4d7ca3d0595126f0c35b9439ca - Sigstore transparency entry: 487791106
- Sigstore integration time:
-
Permalink:
johnbrandborg/cruds@d86b89e2e1cd9b41ac2aba97bce46139191d6202 -
Branch / Tag:
refs/tags/1.4.2 - Owner: https://github.com/johnbrandborg
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@d86b89e2e1cd9b41ac2aba97bce46139191d6202 -
Trigger Event:
release
-
Statement type:
File details
Details for the file cruds-1.4.2-py3-none-any.whl.
File metadata
- Download URL: cruds-1.4.2-py3-none-any.whl
- Upload date:
- Size: 26.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
190ddda78b435d3bd3917b739dd947e49268e30f91d60a51f629507c3e3f5e66
|
|
| MD5 |
6dc4682b72fab14ed0e12ebe05859500
|
|
| BLAKE2b-256 |
ccd7169449997cd9235b84feb5008612931a2e73183992bf8144fe5d105f39fe
|
Provenance
The following attestation bundles were made for cruds-1.4.2-py3-none-any.whl:
Publisher:
release.yml on johnbrandborg/cruds
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cruds-1.4.2-py3-none-any.whl -
Subject digest:
190ddda78b435d3bd3917b739dd947e49268e30f91d60a51f629507c3e3f5e66 - Sigstore transparency entry: 487791141
- Sigstore integration time:
-
Permalink:
johnbrandborg/cruds@d86b89e2e1cd9b41ac2aba97bce46139191d6202 -
Branch / Tag:
refs/tags/1.4.2 - Owner: https://github.com/johnbrandborg
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@d86b89e2e1cd9b41ac2aba97bce46139191d6202 -
Trigger Event:
release
-
Statement type: