Skip to main content

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

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

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cruds-1.4.2.tar.gz (36.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cruds-1.4.2-py3-none-any.whl (26.9 kB view details)

Uploaded Python 3

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

Hashes for cruds-1.4.2.tar.gz
Algorithm Hash digest
SHA256 b60998fd9bd9e2f9e535c2381176a7ddefda5a4d7ca3d0595126f0c35b9439ca
MD5 1ff2b7c51d982f8a08d1b2c571c182b5
BLAKE2b-256 b77ad3adc685c774cb6eacb28526ec86f1bdd04d44c73848b15f2ba7ea16dc2d

See more details on using hashes here.

Provenance

The following attestation bundles were made for cruds-1.4.2.tar.gz:

Publisher: release.yml on johnbrandborg/cruds

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for cruds-1.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 190ddda78b435d3bd3917b739dd947e49268e30f91d60a51f629507c3e3f5e66
MD5 6dc4682b72fab14ed0e12ebe05859500
BLAKE2b-256 ccd7169449997cd9235b84feb5008612931a2e73183992bf8144fe5d105f39fe

See more details on using hashes here.

Provenance

The following attestation bundles were made for cruds-1.4.2-py3-none-any.whl:

Publisher: release.yml on johnbrandborg/cruds

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page