alcedo


Namealcedo JSON
Version 0.1.7 PyPI version JSON
download
home_pageNone
SummaryNone
upload_time2024-04-08 10:16:26
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseNone
keywords client http https httpx request requests reqwest
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Alcedo

[![Package vesion](https://img.shields.io/pypi/v/alcedo)](https://pypi.org/project/alcedo)
[![Format](https://img.shields.io/pypi/format/alcedo)](https://pypi.org/project/alcedo)
[![Python version](https://img.shields.io/pypi/pyversions/alcedo)](https://pypi.org/project/alcedo)
[![License](https://img.shields.io/pypi/l/alcedo)](https://pypi.org/project/alcedo)
[![Code size](https://img.shields.io/github/languages/code-size/aekasitt/alcedo)](.)
[![Top](https://img.shields.io/github/languages/top/aekasitt/alcedo)](.)
[![Languages](https://img.shields.io/github/languages/count/aekasitt/alcedo)](.)
[![Repository size](https://img.shields.io/github/repo-size/aekasitt/alcedo)](.)
[![Last commit](https://img.shields.io/github/last-commit/aekasitt/alcedo/master)](.)

![Alcedo banner](https://github.com/aekasitt/alcedo/blob/master/static/alcedo-banner.svg)

This project aims to be the feature-incomplete version of [httpx](https://github.com/encode/httpx)
and written in Rust.

Will this be a drop-in replacement for any of the leading packages like...

- 🐍 _aiohttp_ ?
  [![GitHub](https://img.shields.io/badge/GitHub-2B3137?logo=github&logoColor=white)](https://github.com/aio-libs/aiohttp)
  [![PyPI](https://img.shields.io/badge/-PyPI:%20aiohttp-3775A9?logo=pypi&logoColor=white)](https://pypi.org/project/aiohttp)
  [![Docs](https://img.shields.io/readthedocs/aiohttp?logo=readthedocs)](https://docs.aiohttp.org/en/stable/)
- 🐍 _httpx_ ?
  [![GitHub](https://img.shields.io/badge/GitHub-2B3137?logo=github&logoColor=white)](https://github.com/encode/httpx)
  [![PyPI](https://img.shields.io/badge/-PyPI:%20httpx-3775A9?logo=pypi&logoColor=white)](https://pypi.org/project/httpx)
  [![Docs](https://img.shields.io/badge/MkDocs-526CFE?logo=materialformkdocs&logoColor=white)](https://www.python-httpx.org/)
- 🐍 _requests_ ?
  [![GitHub](https://img.shields.io/badge/GitHub-2B3137?logo=github&logoColor=white)](https://github.com/psf/requests)
  [![PyPI](https://img.shields.io/badge/-PyPI:%20requests-3775A9?logo=pypi&logoColor=white)](https://pypi.org/project/requests)
  [![Docs](https://img.shields.io/readthedocs/requests?logo=readthedocs)](https://requests.readthedocs.io/en/latest/)

### Probably not.

But it aims to bring to Python the speed and feature-richness of Rust packages
like...

- 🦀 **hyper**
  [![GitHub](https://img.shields.io/badge/GitHub-2B3137?logo=github&logoColor=white)](https://github.com/hyperium/hyper)
  [![Crates](https://img.shields.io/badge/-%F0%9F%93%A6%20Crates:%20hyper-264323)](https://crates.io/crates/hyper)
  [![Docs](https://img.shields.io/badge/Docs--rs-353535?logo=docs.rs)](https://docs.rs/hyper/latest/hyper/)
- 🦀 **reqwest**
  [![GitHub](https://img.shields.io/badge/GitHub-2B3137?logo=github&logoColor=white)](https://github.com/seanmonstar/reqwest)
  [![Crates](https://img.shields.io/badge/-%F0%9F%93%A6%20Crates:%20reqwest-264323)](https://crates.io/crates/reqwest)
  [![Docs](https://img.shields.io/badge/Docs--rs-353535?logo=docs.rs)](https://docs.rs/reqwest/latest/reqwest/)
- 🦀 **serde**
  [![GitHub](https://img.shields.io/badge/GitHub-2B3137?logo=github&logoColor=white)](https://github.com/serde-rs/serde)
  [![Crates](https://img.shields.io/badge/-%F0%9F%93%A6%20Crates:%20serde-264323)](https://crates.io/creates/serde)
  [![Docs](https://img.shields.io/badge/Docs--rs-353535?logo=docs.rs)](https://docs.rs/serde/latest/serde/)

## Getting started

TBD;

## Example usage

```py
print("Hello, World!")
```

## Do you even bench bro?

[Benchmarks](./benchmarks.md)

## Roadmap

- Write (actual) asynchronous tests for `aiohttp` benchmarks.
- Create asynchronous implementation for `alcedo.Client`.
- Write asynchronous tests.
- Write malformed-json test servers.
- Create implementation where POST body can be attached.
- Create implementation where DELETE requests can be made.
- Write asynchronous tests for `httpx` and `requests`

## Contributions

To contribute to the project, fork the repository and clone to your local device and development
dependencies including four extra libraries not included in final builds as such:

- **maturin** Build and publish crates with pyo3, rust-cpython and cffi bindings as well as rust binaries as python packages
  [![GitHub](https://img.shields.io/badge/GitHub-2B3137?logo=github&logoColor=white)](https://github.com/PyO3/maturin)
  [![PyPI](https://img.shields.io/badge/-PyPI:%20maturin-3775A9?logo=pypi&logoColor=white)](https://pypi.org/project/maturin)
  [![Docs](https://img.shields.io/badge/user-guide-brightgreen?logo=readthedocs)](https://maturin.rs)
- **mypy** Optional static typing for Python
  [![GitHub](https://img.shields.io/badge/GitHub-2B3137?logo=github&logoColor=white)](https://github.com/python/mypy)
  [![PyPI](https://img.shields.io/badge/-PyPI:%20mypy-3775A9?logo=pypi&logoColor=white)](https://pypi.org/project/mypy)
  [![Docs](https://img.shields.io/readthedocs/mypy?logo=readthedocs)](https://mypy.readthedocs.io/en/stable/) 
- **pytest** The pytest framework makes it easy to write small tests, yet scales to support complex functional testing
  [![GitHub](https://img.shields.io/badge/GitHub-2B3137?logo=github&logoColor=white)](https://github.com/pytest-dev/pytest)
  [![PyPI](https://img.shields.io/badge/-PyPI:%20pytest-3775A9?logo=pypi&logoColor=white)](https://pypi.org/project/pytest)
  [![Docs](https://img.shields.io/badge/Sphinx-0A507A?logo=sphinx)](https://docs.pytest.org/en/latest)
- **ruff** An extremely fast Python linter and code formatter, written in Rust.
  [![GitHub](https://img.shields.io/badge/GitHub-2B3137?logo=github&logoColor=white)](https://github.com/astral-sh/ruff)
  [![PyPI](https://img.shields.io/badge/-PyPI:%20ruff-3775A9?logo=pypi&logoColor=white)](https://pypi.org/project/ruff)
  [![Docs](https://img.shields.io/badge/MkDocs-526CFE?logo=materialformkdocs&logoColor=white)](https://docs.astral.sh/ruff) 

Use the following commands to setup your local environment with development dependencies:

```bash
pip install --user poetry
poetry install --with dev
```

## Acknowledgements

* [reqwest.py](https://github.com/thrzl/reqwest.py) by the amazing
  [@thrzl](https://github.com/thrzl) giving the easiest primer to oxidizing python interface.
* [hyperjson](https://github.com/mre/hyperjson) by the amazing
  [@mre](https://github.com/mre) even though has been archived since Sep 14, 2023 but really makes
  JSON deserialization from Rust -> Python really approachable compared to alternatives.
* [Kingfisher 2017042438](https://freesvg.org/kingfisher-2017042438) under
  [CC0 1.0 Public Domain Protection](https://creativecommons.org/publicdomain/) whoever made this 
  is an artist du juor.

## License

This project is licensed under the terms of the MIT license.


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "alcedo",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "client, http, https, httpx, request, requests, reqwest",
    "author": null,
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/52/d6/1989c300299c1e7ffc25943cefc4d0cd7f259ae7a1e4134aedbb5fd46781/alcedo-0.1.7.tar.gz",
    "platform": null,
    "description": "# Alcedo\n\n[![Package vesion](https://img.shields.io/pypi/v/alcedo)](https://pypi.org/project/alcedo)\n[![Format](https://img.shields.io/pypi/format/alcedo)](https://pypi.org/project/alcedo)\n[![Python version](https://img.shields.io/pypi/pyversions/alcedo)](https://pypi.org/project/alcedo)\n[![License](https://img.shields.io/pypi/l/alcedo)](https://pypi.org/project/alcedo)\n[![Code size](https://img.shields.io/github/languages/code-size/aekasitt/alcedo)](.)\n[![Top](https://img.shields.io/github/languages/top/aekasitt/alcedo)](.)\n[![Languages](https://img.shields.io/github/languages/count/aekasitt/alcedo)](.)\n[![Repository size](https://img.shields.io/github/repo-size/aekasitt/alcedo)](.)\n[![Last commit](https://img.shields.io/github/last-commit/aekasitt/alcedo/master)](.)\n\n![Alcedo banner](https://github.com/aekasitt/alcedo/blob/master/static/alcedo-banner.svg)\n\nThis project aims to be the feature-incomplete version of [httpx](https://github.com/encode/httpx)\nand written in Rust.\n\nWill this be a drop-in replacement for any of the leading packages like...\n\n- \ud83d\udc0d _aiohttp_ ?\n  [![GitHub](https://img.shields.io/badge/GitHub-2B3137?logo=github&logoColor=white)](https://github.com/aio-libs/aiohttp)\n  [![PyPI](https://img.shields.io/badge/-PyPI:%20aiohttp-3775A9?logo=pypi&logoColor=white)](https://pypi.org/project/aiohttp)\n  [![Docs](https://img.shields.io/readthedocs/aiohttp?logo=readthedocs)](https://docs.aiohttp.org/en/stable/)\n- \ud83d\udc0d _httpx_ ?\n  [![GitHub](https://img.shields.io/badge/GitHub-2B3137?logo=github&logoColor=white)](https://github.com/encode/httpx)\n  [![PyPI](https://img.shields.io/badge/-PyPI:%20httpx-3775A9?logo=pypi&logoColor=white)](https://pypi.org/project/httpx)\n  [![Docs](https://img.shields.io/badge/MkDocs-526CFE?logo=materialformkdocs&logoColor=white)](https://www.python-httpx.org/)\n- \ud83d\udc0d _requests_ ?\n  [![GitHub](https://img.shields.io/badge/GitHub-2B3137?logo=github&logoColor=white)](https://github.com/psf/requests)\n  [![PyPI](https://img.shields.io/badge/-PyPI:%20requests-3775A9?logo=pypi&logoColor=white)](https://pypi.org/project/requests)\n  [![Docs](https://img.shields.io/readthedocs/requests?logo=readthedocs)](https://requests.readthedocs.io/en/latest/)\n\n### Probably not.\n\nBut it aims to bring to Python the speed and feature-richness of Rust packages\nlike...\n\n- \ud83e\udd80 **hyper**\n  [![GitHub](https://img.shields.io/badge/GitHub-2B3137?logo=github&logoColor=white)](https://github.com/hyperium/hyper)\n  [![Crates](https://img.shields.io/badge/-%F0%9F%93%A6%20Crates:%20hyper-264323)](https://crates.io/crates/hyper)\n  [![Docs](https://img.shields.io/badge/Docs--rs-353535?logo=docs.rs)](https://docs.rs/hyper/latest/hyper/)\n- \ud83e\udd80 **reqwest**\n  [![GitHub](https://img.shields.io/badge/GitHub-2B3137?logo=github&logoColor=white)](https://github.com/seanmonstar/reqwest)\n  [![Crates](https://img.shields.io/badge/-%F0%9F%93%A6%20Crates:%20reqwest-264323)](https://crates.io/crates/reqwest)\n  [![Docs](https://img.shields.io/badge/Docs--rs-353535?logo=docs.rs)](https://docs.rs/reqwest/latest/reqwest/)\n- \ud83e\udd80 **serde**\n  [![GitHub](https://img.shields.io/badge/GitHub-2B3137?logo=github&logoColor=white)](https://github.com/serde-rs/serde)\n  [![Crates](https://img.shields.io/badge/-%F0%9F%93%A6%20Crates:%20serde-264323)](https://crates.io/creates/serde)\n  [![Docs](https://img.shields.io/badge/Docs--rs-353535?logo=docs.rs)](https://docs.rs/serde/latest/serde/)\n\n## Getting started\n\nTBD;\n\n## Example usage\n\n```py\nprint(\"Hello, World!\")\n```\n\n## Do you even bench bro?\n\n[Benchmarks](./benchmarks.md)\n\n## Roadmap\n\n- Write (actual) asynchronous tests for `aiohttp` benchmarks.\n- Create asynchronous implementation for `alcedo.Client`.\n- Write asynchronous tests.\n- Write malformed-json test servers.\n- Create implementation where POST body can be attached.\n- Create implementation where DELETE requests can be made.\n- Write asynchronous tests for `httpx` and `requests`\n\n## Contributions\n\nTo contribute to the project, fork the repository and clone to your local device and development\ndependencies including four extra libraries not included in final builds as such:\n\n- **maturin** Build and publish crates with pyo3, rust-cpython and cffi bindings as well as rust binaries as python packages\n  [![GitHub](https://img.shields.io/badge/GitHub-2B3137?logo=github&logoColor=white)](https://github.com/PyO3/maturin)\n  [![PyPI](https://img.shields.io/badge/-PyPI:%20maturin-3775A9?logo=pypi&logoColor=white)](https://pypi.org/project/maturin)\n  [![Docs](https://img.shields.io/badge/user-guide-brightgreen?logo=readthedocs)](https://maturin.rs)\n- **mypy** Optional static typing for Python\n  [![GitHub](https://img.shields.io/badge/GitHub-2B3137?logo=github&logoColor=white)](https://github.com/python/mypy)\n  [![PyPI](https://img.shields.io/badge/-PyPI:%20mypy-3775A9?logo=pypi&logoColor=white)](https://pypi.org/project/mypy)\n  [![Docs](https://img.shields.io/readthedocs/mypy?logo=readthedocs)](https://mypy.readthedocs.io/en/stable/) \n- **pytest** The pytest framework makes it easy to write small tests, yet scales to support complex functional testing\n  [![GitHub](https://img.shields.io/badge/GitHub-2B3137?logo=github&logoColor=white)](https://github.com/pytest-dev/pytest)\n  [![PyPI](https://img.shields.io/badge/-PyPI:%20pytest-3775A9?logo=pypi&logoColor=white)](https://pypi.org/project/pytest)\n  [![Docs](https://img.shields.io/badge/Sphinx-0A507A?logo=sphinx)](https://docs.pytest.org/en/latest)\n- **ruff** An extremely fast Python linter and code formatter, written in Rust.\n  [![GitHub](https://img.shields.io/badge/GitHub-2B3137?logo=github&logoColor=white)](https://github.com/astral-sh/ruff)\n  [![PyPI](https://img.shields.io/badge/-PyPI:%20ruff-3775A9?logo=pypi&logoColor=white)](https://pypi.org/project/ruff)\n  [![Docs](https://img.shields.io/badge/MkDocs-526CFE?logo=materialformkdocs&logoColor=white)](https://docs.astral.sh/ruff) \n\nUse the following commands to setup your local environment with development dependencies:\n\n```bash\npip install --user poetry\npoetry install --with dev\n```\n\n## Acknowledgements\n\n* [reqwest.py](https://github.com/thrzl/reqwest.py) by the amazing\n  [@thrzl](https://github.com/thrzl) giving the easiest primer to oxidizing python interface.\n* [hyperjson](https://github.com/mre/hyperjson) by the amazing\n  [@mre](https://github.com/mre) even though has been archived since Sep 14, 2023 but really makes\n  JSON deserialization from Rust -> Python really approachable compared to alternatives.\n* [Kingfisher 2017042438](https://freesvg.org/kingfisher-2017042438) under\n  [CC0 1.0 Public Domain Protection](https://creativecommons.org/publicdomain/) whoever made this \n  is an artist du juor.\n\n## License\n\nThis project is licensed under the terms of the MIT license.\n\n",
    "bugtrack_url": null,
    "license": null,
    "summary": null,
    "version": "0.1.7",
    "project_urls": null,
    "split_keywords": [
        "client",
        " http",
        " https",
        " httpx",
        " request",
        " requests",
        " reqwest"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "67e967952bf8923fcde3a1d1d2461d6e5d4116cc0f2a541eef32e9c8dc99917a",
                "md5": "7adabd4be6987a177a25aaed188e1f15",
                "sha256": "9c1f0cf9aa1455979bb6bb5618422e3fc2eccd3c0431905df0a4c8a93bb137a5"
            },
            "downloads": -1,
            "filename": "alcedo-0.1.7-cp312-cp312-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "7adabd4be6987a177a25aaed188e1f15",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 1379472,
            "upload_time": "2024-04-08T10:16:21",
            "upload_time_iso_8601": "2024-04-08T10:16:21.857662Z",
            "url": "https://files.pythonhosted.org/packages/67/e9/67952bf8923fcde3a1d1d2461d6e5d4116cc0f2a541eef32e9c8dc99917a/alcedo-0.1.7-cp312-cp312-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "52d61989c300299c1e7ffc25943cefc4d0cd7f259ae7a1e4134aedbb5fd46781",
                "md5": "d1194b827254c84916ddb0ffaad7e1f6",
                "sha256": "a2d674f68c53b25ef092053597bab955148447f58c3bd947dd86aef703f4ca3c"
            },
            "downloads": -1,
            "filename": "alcedo-0.1.7.tar.gz",
            "has_sig": false,
            "md5_digest": "d1194b827254c84916ddb0ffaad7e1f6",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 864223,
            "upload_time": "2024-04-08T10:16:26",
            "upload_time_iso_8601": "2024-04-08T10:16:26.389720Z",
            "url": "https://files.pythonhosted.org/packages/52/d6/1989c300299c1e7ffc25943cefc4d0cd7f259ae7a1e4134aedbb5fd46781/alcedo-0.1.7.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-08 10:16:26",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "alcedo"
}
        
Elapsed time: 0.25164s