Skip to content

Releases: QCaudron/pawprint

v2.1.1 - Release

28 Jan 21:27
bb17cf3
Compare
Choose a tag to compare

Fixes two critical problems:

  • Queries for events need an ORDER BY to ensure they are pulled in chronological order
  • When checking if the time between events is greater than the specified window, we need to use .total_seconds() not, as previously .seconds to get the desired behavior. .seconds was ignoring dates.

v2.1.0 - Release

17 Jan 21:44
Compare
Choose a tag to compare

This release refactors the sessions calculations to allow for events to be processed in batches. This should help save memory.

In order to implement the batching, sessions.py needed some small changes.

  • Sessions.closed_sessions now gets reset to an empty list whenever the Sessions.write_to_db() method is called. This avoids re-writing sessions that have already been written.
  • Sessions.current_sessions now gets reset to an empty dictionary whenever the Sessions.close_open_sessions() method is called. This was not strictly necessary for the new batching to work, but seems like the expected behavior.

Another change is that some methods have been renamed. CurrentUserSession.log() and Sessions.track_event() are both now .log_event()

This release also includes some new tests that use the batch_size parameter.

v2.0.0 - Release

16 Jan 22:37
1073007
Compare
Choose a tag to compare

pip install pawprint==2.0.0

This release includes a major rebuild of the way user sessions are calculated. It adds a sessions.py module that contains the UserCurrentSession and Sessions classes. These classes help track sessions during calculation and prevent memory explosion.

The new sessions database table that is created will have two new fields:

  • last_timestamp which represents the timestamp of the last event in that session
  • events which is a string of comma-separated events that make up that session

v1.2.0 - Release

17 Dec 23:25
0daa8d1
Compare
Choose a tag to compare

pip install pawprint==1.2.0

This release includes:

  • A new "event_session_map" table to enable easy connection between events and sessions
  • A major bug fix. The bug resulted in events being included in multiple sessions in some scenarios.
  • Revisions and expansions of the testing suite to allow more use of pytest.fixtures()
  • A Docker development environment to enable easier onboarding for new contributors.