Metadata-Version: 2.1
Name: esi-requests
Version: 0.0.1.8
Summary: A simple library for asynchronous ESI requests
Author-email: Hanbo <hb.evetools@gmail.com>
License: BSD-3-Clause
Keywords: python,esi,eve-online,asyncio
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE

# esi_requests

esi_requests tries to use **requests** style methods:

```python
>>> import esi_requests
>>> r = esi_requests.get("/markets/{region_id}/orders/", region_id=10000002, type_id=1403)
>>> r.status
200
>>> r.json()
{[{'duration': 90, 'is_buy_order': False, ...}
```

with **async** enabled and simplified:

```python
>>> resps = esi_requests.get("/markets/{region_id}/orders/", region_id=10000002, type_id=[1403, 12005, 626])
# equivalent to: esi_requests.get("/markets/{region_id}/orders/", region_id=10000002, params={"type_id": [1403, 12005, 626]})
>>> resps
[<Response [200]>, <Response [200]>, <Response [200]>]
>>> resps[0].status
200
>>> resps[0].url
'https://esi.evetech.net/latest/markets/10000002/orders/?datasource=tranquility&order_type=all&page=1&type_id=1403'
```

which internally uses *aiohttp* to send requests asynchronously. 

### Features

* One-line `async` enabled: no need to master *aiohttp* and *asyncio*
* Simple `requests`-like api
* Simplified `OAuth2` SSO authentication: all you need is to log in your account
* Support `ETag` headers: compliant with [ESI recommendation](https://developers.eveonline.com/blog/article/esi-etag-best-practices)
