Skip to content

Releases: Kyria/EsiPy

v0.3.1

14 Feb 13:59
Compare
Choose a tag to compare
  • Added fix in client to avoid outdated results: expires header in the past (#27 thanks to @cbz)
  • Added cache for meta endpoint in EsiApp as this one was not cached
  • Prefixed cache key with esipy: to prevent easy cache key collision if someone uses its own cache.

v0.3.0

25 Dec 23:09
Compare
Choose a tag to compare

Version 0.3.0

Changes

  • Do not try to cache response if there's no expires information (#22)
  • Fix cache behavior to be the same everywhere. See details below.
  • Breaking changes :
    • Rename signal instances to be fully capitalized.
      • after_token_refresh become AFTER_TOKEN_REFRESH
      • api_call_stats become API_CALL_STATS
    • Renamed the following EsiSecurity methods:
      • get_access_token_request_params to become get_access_token_params
      • get_refresh_token_request_params to become get_refresh_token_params

New Feature: EsiApp

EsiApp is an object that will be used to play with ESI Meta Swagger spec.

That mean you will be able to easily get meta endpoints, like /verify, /status the same way as the current App object, but it allows you to also get all current swagger spec used in ESI, for versionned endpoint and others.

Please look at the doc for how to use it.

Caching behavior change

Until now, cache objects worked differently when timeout was equal to 0 or None depending on which engine you used for caching.

To prevent error if switching between engine and to have consistent behavior, if timeout now equals 0 or None, the data will not expire.

v0.2.0

22 Oct 14:27
Compare
Choose a tag to compare

Version 0.2.0

Change :

  • EsiSecurity object no longer require app object to be initialized to get SSO Urls (authorize, token).
    • You can still use it, as before and your app will still work the same as before
    • You can manually give a sso_url instead, to say whether you want SISI / TQ SSO (default is TQ) instead of the app object.
    • If both are given, priority is set to the app object.
  • Use of https://esi.tech.ccp.is/verify/ for verify instead of the sso endpoint (https://login.eveonline.com/oauth/verify)

This introduce a small breaking change if you init EsiSecurity without keyword, since app parameter is no longer the first parameter. You need to:

  • either use keywords to init
  • put app parameter in the 4th parameter [not recommended]

v0.1.8

17 Aug 12:28
Compare
Choose a tag to compare
  • Add RedisCache. This cache allows you to use EsiPy with a Redis backend. [#14]
  • Fix APIException definition [#17]

V0.1.7

15 Jul 18:21
Compare
Choose a tag to compare

Minor release to update the pyswagger version requirement as it prevents from having a bug with number/int32 format

v0.1.6

27 Jun 08:49
Compare
Choose a tag to compare
  • Update pyswagger dependency (prevents bugs)

v0.1.5

27 Apr 08:55
Compare
Choose a tag to compare
  • Catch network issue by catching requests ConnectionError.

When this happens, the request will fail, and instead of raising an exception, it will simply enter the process like another error 500. When in retry process, the request will retry, just like any other request.

The error body will contain a json object,

{
    'error': 'the http error message from the exception',
}

Thanks to @Ebag333

v0.1.4

22 Apr 14:09
Compare
Choose a tag to compare
  • Adds retries on 5xx errors, up to 5 retry. Used when EsiClient is initialized with retry_requests=True
  • Adds multiple request method with thread pool

Thanks to @a-tal and @antihax

v0.1.3

14 Feb 11:00
Compare
Choose a tag to compare
  • Allow EsiClient.request() to reuse an existing operation.
  • Update pyswagger minimum version for EsiPy to 0.8.27.

v0.1.2

31 Jan 11:30
Compare
Choose a tag to compare
  • Change logger name to use __name__ (esipy)
  • Add raw_body_only to EsiClient.__init__() to have a default value for all requests (unless you specify it in the EsiClient.request() method).
  • Add api_call_stats event to have a hook that returns elapsed time for requests (to monitor api calls / status). See https://esipy.readthedocs.io/en/latest/advance/signals/#list-of-signals
  • Add warnings.warn() and logger.warning() when warning header is found. (#3)