[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/declarativex?style=for-the-badge&logo=python&logoColor=FF0077&color=FFD43B)](https://pypi.org/project/declarativex)
[![PyPI - Downloads](https://img.shields.io/pypi/dw/declarativex?style=for-the-badge&link=https%3A%2F%2Fpypi.org%2Fproject%2Fdeclarativex&color=FFD43B&logoColor=FF0077&logo=ownCloud)](https://pypi.org/project/declarativex)
[![Coverage](https://img.shields.io/badge/COVERAGE-100%25-FFD43B?style=for-the-badge&logo=codecov)](https://pypi.org/project/declarativex)
# 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 ๐ ๏ธ
```bash
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:
```bash
pip install declarativex[http2,graphql,brotli]
```
## Docs ๐
Find all the details at [https://declarativex.dev](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](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/E1E2OL196)
Raw data
{
"_id": null,
"home_page": "https://declarativex.dev",
"name": "declarativex",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.9,<4",
"maintainer_email": "",
"keywords": "http,declarative,client,async,httpx,pydantic",
"author": "Vladyslav Halatskyi",
"author_email": "xfloydya@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/04/6d/e9e1ee8cf9de067209c98a7d262dc112cd9ce307205e4fe92c7f75dede29/declarativex-1.6.6.tar.gz",
"platform": null,
"description": "[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/declarativex?style=for-the-badge&logo=python&logoColor=FF0077&color=FFD43B)](https://pypi.org/project/declarativex)\n[![PyPI - Downloads](https://img.shields.io/pypi/dw/declarativex?style=for-the-badge&link=https%3A%2F%2Fpypi.org%2Fproject%2Fdeclarativex&color=FFD43B&logoColor=FF0077&logo=ownCloud)](https://pypi.org/project/declarativex)\n[![Coverage](https://img.shields.io/badge/COVERAGE-100%25-FFD43B?style=for-the-badge&logo=codecov)](https://pypi.org/project/declarativex)\n\n\n# DeclarativeX: Your Declarative HTTP Client \ud83d\ude80\n\n## Why Choose DeclarativeX? \ud83e\udd37\u200d\u2642\ufe0f\n\nSick of writing boilerplate for every HTTP request? Headers, JSON parsing, and all that jazz? \n\nSay hello to `DeclarativeX`! \n\nWe handle the nitty-gritty so you can focus on what really counts\u2014your core logic.\n\n## \ud83c\udf1f Key Features\n\n- **Declarative Goodness**: Decorators make your life easy. Just add and go!\n- **Function Over Form**: No need for classes. Check the docs for function-based setups.\n- **Data Validation**: Using Pydantic? We've got your robust validation needs covered.\n- **Async Ready**: Need it fast? We're async-compatible.\n- **Rate Limiting**: Stay on the good side of APIs with built-in rate limiting.\n- **Authentication**: Add authentication with a single line of code.\n- **Automatic Retries**: We retry failed requests automatically(or reject, if you prefer).\n- **Middleware Support**: Add your custom logic with ease.\n- **Auto Body Parsing**: Skip manual parsing. Use a dataclass or Pydantic model for auto-magic.\n- **GraphQL**: We support GraphQL queries and mutations out of the box.\n\n## Installation \ud83d\udee0\ufe0f\n\n```bash\npip install declarativex\n```\n\n### Available extras \ud83c\udf81\n\nDeclarativeX comes with a few extras that you can install separately. Here's a list of available extras:\n\n- `http2` - HTTP/2 support\n- `graphql` - GraphQL support\n- `brotli` - Brotli compression support\n\nTo install an extra, just add it to the end of the command:\n\n```bash\npip install declarativex[http2,graphql,brotli]\n```\n\n## Docs \ud83d\udcd6\n\nFind all the details at [https://declarativex.dev](https://declarativex.dev).\n\n## Show Some Love \u2764\ufe0f\n\nEvery contribution counts and is super appreciated! \ud83d\ude4f\n\nLiking what you see? Support the creator to keep this project thriving.\n\n[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/E1E2OL196)\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Declarative HTTP client for Python",
"version": "1.6.6",
"project_urls": {
"Bug Tracker": "https://github.com/floydya/declarativex/issues",
"Documentation": "https://declarativex.dev",
"Homepage": "https://declarativex.dev",
"Repository": "https://github.com/floydya/declarativex"
},
"split_keywords": [
"http",
"declarative",
"client",
"async",
"httpx",
"pydantic"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "ec2f38651211d4425c765986c424dc9bf8c8075ecbc072f03d85bc7d93cfed9e",
"md5": "a8e8cf89f053aa571f869bf7e94ebcf0",
"sha256": "bfd2c1382eddc1fe1f137563696bc55bed31fd7af0c2fcebcc9edf11a7931eaf"
},
"downloads": -1,
"filename": "declarativex-1.6.6-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a8e8cf89f053aa571f869bf7e94ebcf0",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9,<4",
"size": 22690,
"upload_time": "2024-02-10T10:40:07",
"upload_time_iso_8601": "2024-02-10T10:40:07.690764Z",
"url": "https://files.pythonhosted.org/packages/ec/2f/38651211d4425c765986c424dc9bf8c8075ecbc072f03d85bc7d93cfed9e/declarativex-1.6.6-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "046de9e1ee8cf9de067209c98a7d262dc112cd9ce307205e4fe92c7f75dede29",
"md5": "daf67fd782157b023923552e0e03aa0b",
"sha256": "a6343fbf0cd3cae0a6823dc0752d2346373352e5e210531e8613347cb4fcf9e8"
},
"downloads": -1,
"filename": "declarativex-1.6.6.tar.gz",
"has_sig": false,
"md5_digest": "daf67fd782157b023923552e0e03aa0b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9,<4",
"size": 18724,
"upload_time": "2024-02-10T10:40:09",
"upload_time_iso_8601": "2024-02-10T10:40:09.539719Z",
"url": "https://files.pythonhosted.org/packages/04/6d/e9e1ee8cf9de067209c98a7d262dc112cd9ce307205e4fe92c7f75dede29/declarativex-1.6.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-02-10 10:40:09",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "floydya",
"github_project": "declarativex",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"lcname": "declarativex"
}