Skip to content

Your Declarative HTTP client library on Python

License

Notifications You must be signed in to change notification settings

floydya/declarativex

Repository files navigation

PyPI - Python Version PyPI - Downloads Coverage

DeclarativeX: Your Declarative HTTP Client 🚀

Why Choose DeclarativeX? 🤷‍♂️

Sick of writing boilerplate for every HTTP request? Headers, JSON parsing, and all that jazz?

Say hello to DeclarativeX!

We handle the nitty-gritty so you can focus on what really counts—your core logic.

🌟 Key Features

  • Declarative Goodness: Decorators make your life easy. Just add and go!
  • Function Over Form: No need for classes. Check the docs for function-based setups.
  • Data Validation: Using Pydantic? We've got your robust validation needs covered.
  • Async Ready: Need it fast? We're async-compatible.
  • Rate Limiting: Stay on the good side of APIs with built-in rate limiting.
  • Authentication: Add authentication with a single line of code.
  • Automatic Retries: We retry failed requests automatically(or reject, if you prefer).
  • Middleware Support: Add your custom logic with ease.
  • Auto Body Parsing: Skip manual parsing. Use a dataclass or Pydantic model for auto-magic.
  • GraphQL: We support GraphQL queries and mutations out of the box.

Installation 🛠️

pip install declarativex

Available extras 🎁

DeclarativeX comes with a few extras that you can install separately. Here's a list of available extras:

  • http2 - HTTP/2 support
  • graphql - GraphQL support
  • brotli - Brotli compression support

To install an extra, just add it to the end of the command:

pip install declarativex[http2,graphql,brotli]

Docs 📖

Find all the details at https://declarativex.dev.

Show Some Love ❤️

Every contribution counts and is super appreciated! 🙏

Liking what you see? Support the creator to keep this project thriving.

ko-fi