declarativex


Namedeclarativex JSON
Version 1.6.6 PyPI version JSON
download
home_pagehttps://declarativex.dev
SummaryDeclarative HTTP client for Python
upload_time2024-02-10 10:40:09
maintainer
docs_urlNone
authorVladyslav Halatskyi
requires_python>=3.9,<4
licenseMIT
keywords http declarative client async httpx pydantic
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            [![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"
}
        
Elapsed time: 0.50140s