High-level changes:
- Dropped
aiohttp
library in favor of usingasks
. - This adds support for asyncio, trio, and curio async loops.
- Dropped synchronous interface on FieldClimateClient. This means all client methods must now be awaited.
Implementation changes:
- Moved url validation functions from
fieldclimate.utils
tofieldclimate.clean
. These functions now raiseAssertionError
explicitly, asassert
statements can be switched off. - FieldClimateClient now inherits from
asks.Session
, which provides async context manager usage and connection rate limiting. - Removed BaseClient and HmacClient classes, unifying their functionality in FieldClimateClient.
- Added tests for trio and curio event loops.
Bonus changes:
- Added DjangoFieldClimateClient. This subclass gets your HMAC authentication keys from django's settings, which can save you a few lines of code if you already use django.