Snowplow Python Tracker 0.9.0 released

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

On GitHub: Release Snowplow Python Tracker v0.9.0 · snowplow/snowplow-python-tracker · GitHub
On PyPI: snowplow-tracker · PyPI


Awesome work @Ada. The Python tracker hasn’t historically seen quite the same love as some the other trackers so it’s great to see some updates on something we use frequently.

1 Like