معرفی شرکت ها


EsiPysi-0.9.2


Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر

توضیحات

A client for ESI, the API for Eve Online
ویژگی مقدار
سیستم عامل -
نام فایل EsiPysi-0.9.2
نام EsiPysi
نسخه کتابخانه 0.9.2
نگهدارنده []
ایمیل نگهدارنده []
نویسنده Flying Kiwi
ایمیل نویسنده github@flyingkiwibird.com
آدرس صفحه اصلی https://github.com/FlyingKiwiBird/EsiPysi
آدرس اینترنتی https://pypi.org/project/EsiPysi/
مجوز MIT
# EsiPysi EsiPysi (pronounced like "Easy Peasy") is a utility for accessing the Eve api called Esi. The goal of this project is to create a lightweight and fast tool which makes devloping with Esi easier. ## Features * Auth storage and auto refreshing * If your access token expires, EsiPysi will acquire a new one * Fast API calling and JSON parsing using [aiohttp](https://aiohttp.readthedocs.io/en/stable/) * Uses asyncio and event loops so that the API calls are non-blocking * Light input validation * Only validates that the parameters are in the Esi Swagger Spec, does not validate types/values * Caching using Redis * Automatic retries for certain error codes * Typically those pesky 501s ## Install Install with pip: ``` pip install EsiPysi ``` Requires python 3.5+ ## How to use Get familliar with the [ESI reference](https://esi.evetech.net/latest/#/) and [Eve SSO](http://eveonline-third-party-documentation.readthedocs.io/en/latest/sso/authentication.html) start with an EsiPysi object, this will keep track of global settings like which Esi version to use (_latest is reccomended) and start a session ```python from esipysi import EsiPysi esi = EsiPysi("https://esi.evetech.net/_latest/swagger.json?datasource=tranquility", user_agent="Your User Agent Here").session() await esi.start() ``` It also support the `with` syntax which will start and stop the sessions for you: ```python async with EsiPysi("https://esi.evetech.net/_latest/swagger.json?datasource=tranquility", user_agent="Your User Agent Here").session() as esi: #Do stuff here ``` Now from that object you can create operations, pass the operation ID to the get_operation function ```python op = esi.get_operation("get_search") ``` If it requires authorization you can use EsiAuth You can either get one from your client info, access token, refresh token, and expire datetime (in UTC) ```python from esipysi import EsiAuth auth = EsiAuth(CLIENT_ID, CLIENT_SECRET, ACCESS_TOKEN, REFRESH_TOKEN, EXPIRES_AT) op.set_auth(auth) ``` Or you can get it from less data such as an authorization code you got back from the callback or just a refresh token: ```python from esipysi import EsiAuth auth = await EsiAuth.from_authorization_code(CLIENT_ID, CLIENT_SECRET, AUTHORIZATION_CODE) auth = await EsiAuth.from_refresh_token(CLIENT_ID, CLIENT_SECRET, REFRESH_TOKEN) op.set_auth(auth) ``` And then you can execute that operation with parameters ```python result = await op.execute(categories="character", search="Flying Kiwi Sertan") ``` When you are finished with a session, it is reccomended to stop it: ```python await esi.stop_session() ``` ### Response Object EsiPysi returns a response object called EsiResponse, it contains the following: * `response.text` - The plain text of the body of the response * `resonse.json()` - The text decoded as json into a python Dict * `response.status` - The HTTP status code * `response.headers` - a [CIMultiDict](https://multidict.readthedocs.io/en/stable/multidict.html#cimultidict) which is a special dict cabable of holding multiple of the same key because headers are funky. They act just like a `Dict` with some extras. ### Caching EsiPysi has caching provided by redis. First create a redis client. Example from [redis-py](https://github.com/andymccurdy/redis-py) ```python import redis r = redis.StrictRedis(host='localhost', port=6379, db=0) ``` Now create a RedisCache object and pass it to the EsiPysi object ```python from esipysy import EsiPysi from esipysy.cache import RedisCache cache = RedisCache(r) esi = EsiPysi("https://esi.evetech.net/_latest/swagger.json?datasource=tranquility", user_agent="Your User Agent Here", cache=cache) ``` **Note:** By default a `DictCache` is used, if you want to disable all caching, you can manually set `cache=None` ### Contact / Links In game: Flying Kiwi Sertan GitHub: https://github.com/FlyingKiwiBird/EsiPysi PyPi: https://pypi.org/project/EsiPysi/


نحوه نصب


نصب پکیج whl EsiPysi-0.9.2:

    pip install EsiPysi-0.9.2.whl


نصب پکیج tar.gz EsiPysi-0.9.2:

    pip install EsiPysi-0.9.2.tar.gz