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.5.0.tar.gz (36.5 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.5.0-py3-none-any.whl (26.9 kB view details)

Uploaded Python 3

File details

Details for the file cruds-1.5.0.tar.gz.

File metadata

  • Download URL: cruds-1.5.0.tar.gz
  • Upload date:
  • Size: 36.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cruds-1.5.0.tar.gz
Algorithm Hash digest
SHA256 f5e61108be19b11fc904c8f35cf4691a700a6d67adc9c8dbf9c01b81f6f75884
MD5 d66158fa13f590095146be1d9b6ccb4a
BLAKE2b-256 ec1357aed8b4fcc664a36226efb61d7953bbe3576a73eb16742bee7c028e6dda

See more details on using hashes here.

Provenance

The following attestation bundles were made for cruds-1.5.0.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.5.0-py3-none-any.whl.

File metadata

  • Download URL: cruds-1.5.0-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.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 38b215c846ea7102c8ba5868228e84c42b8bcfb5b1b90bf16b4542c35ccf49ca
MD5 fbdb0c6c9043dc633d829a09fa5ab2a9
BLAKE2b-256 843673407d2de4d058ffb51ce40bfff55acb7648203e50754ad1b56b288ee53e

See more details on using hashes here.

Provenance

The following attestation bundles were made for cruds-1.5.0-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