We are pleased to announce the release of Snowplow Python Tracker version 0.9.0 .
This release includes a community contribution (many thanks @vicrep ), which allows for a custom JSON encoder to be passed as a Tracker initialization parameter.
It also introduces the ability to track multiple subjects in a thread-safe way, by making
event_subject an optional parameter supported by all track methods.
Additionally it allows the optional timestamp argument to only set the
true_tstamp of the event, in accordance with the Snowplow Tracker Protocol.
The array of successfully sent events is now the argument being passed to
on_success callback to allow users to inspect it if required, similar to how the
on_failure callback works.
Redis and Celery are now optional dependencies, so that users who don’t use the related functionality do not install them as dependencies. Users who want to use the RedisEmitter or the CeleryEmitter, will need to install snowplow-tracker as:
# redis $ pip install snowplow-tracker[redis] # celery $ pip install snowplow-tracker[celery] # both $ pip install snowplow-tracker[redis,celery]
Other changes include:
- Unicode support
- Python 3 wheel published in PyPI
- Updated dependencies
- Improved test coverage
- Switch to GitHub Actions