Package provides asynchronous user-friendly HTTP client with clean objects.
Project description
aioRequest
Provides asynchronous user-friendly micro HTTP client with nothing but clean objects.
Basically, it is a wrapper over requests python library with async/await approach. Represents asynchronous version of urequest package.
Tools
Production
Development
Usage
Installation
pip install aiorequest
✨ 🍰 ✨
Quick start
>>> import asyncio
>>> from typing import Tuple
>>> from aiorequest.sessions import Session, HttpSession
>>> from aiorequest.responses import HTTPStatus, Response, JsonType
>>> from aiorequest.urls import HttpUrl
>>>
>>>
>>> async def aioresponse() -> Tuple[HTTPStatus, JsonType]:
... session: Session
... async with HttpSession() as session:
... response: Response = await session.get(
... HttpUrl(host="xkcd.com", path="info.0.json")
... )
... return await response.status(), await response.as_json()
...
...
>>>
>>> asyncio.run(aioresponse())
(
<HTTPStatus.OK: 200>,
{
"month": "3",
"num": 2284,
"link": "",
"year": "2020",
"news": "",
"safe_title": "Sabotage",
"transcript": "",
"img": "https://imgs.xkcd.com/comics/sabotage.png",
"title": "Sabotage",
"day": "23",
}
)
Source code
git clone git@github.com:aiopymake/aiorequest.git
python setup.py install
Or using specific release:
pip install git+https://github.com/aiopymake/aiorequest@0.0.1
Local debug
git clone git@github.com:aiopymake/aiorequest.git
>>> import aiorequest
>>> aiorequest.__doc__
'Package provides asynchronous user-friendly HTTP client with clean objects.'
Development notes
Testing
Generally, pytest
tool is used to organize testing procedure.
Please follow next command to run unittests:
pytest
CI
Project has Travis CI integration using .travis.yml file thus code analysis (black
, pylint
, flake8
, mypy
, pydocstyle
and interrogate
) and unittests (pytest
) will be run automatically after every made change to the repository.
To be able to run code analysis, please execute command below:
./analyse-source-code.sh
The package is also covered with the installation unit tests based on bats framework. Please run the following command to launch package unit tests:
bats --pretty test-package.bats
PACKAGE_NAME
andPACKAGE_VERSION
environment variables should be specified prelimirary.
Release notes
Please check changelog file to get more details about actual versions and it's release notes.
Meta
Author – Volodymyr Yahello. Please check AUTHORS file for all contributors.
Distributed under the MIT
license. See LICENSE for more information.
You can reach out me at:
- vyahello@gmail.com
- https://twitter.com/vyahello
- https://www.linkedin.com/in/volodymyr-yahello-821746127
Contributing
I would highly appreciate any contribution and support. If you are interested to add your ideas into project please follow next simple steps:
- Clone the repository
- Configure
git
for the first time after cloning with yourname
andemail
pip install -r requirements.txt
to install all project dependenciespip install -r requirements-dev.txt
to install all development project dependencies- Create your feature branch (git checkout -b feature/fooBar)
- Commit your changes (git commit -am 'Add some fooBar')
- Push to the branch (git push origin feature/fooBar)
- Create a new Pull Request
What's next
All recent activities and ideas are described at project issues page. If you have ideas you want to change/implement please do not hesitate and create an issue.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file aiorequest-0.0.2-py3-none-any.whl
.
File metadata
- Download URL: aiorequest-0.0.2-py3-none-any.whl
- Upload date:
- Size: 8.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 84ea9e34c24a134dc7bef7cb9730b0a4ff2a4a6af2ec0dc3b2aaec6f07cee4b1 |
|
MD5 | 7191932741e30765ddea6da0b6643dcf |
|
BLAKE2b-256 | 17281ee00ab079c7f16d81cd76132b8e973d3d26738c2a0da35469fc9de65627 |