Skip to content

Releases: parafoxia/analytix

v3.4.0

13 Apr 18:45
Compare
Choose a tag to compare

Feature release

This release mainly combats changes in Google's OAuth (see #33 and #34), switching to loopback IP address authorisation over manual copy/paste. This change isn't breaking, unless you absolutely need manual copy/paste auth -- in this instance, set client.legacy_auth = True before authorising.

Additions

  • The webserver module, which provides the webserver necessary to perform loopback IP address authorisation
  • A port kwarg for the authorise, refresh_token, and retrieve methods of the Analytics and AsyncAnalytics classes, defaulting to 8080
  • A legacy_auth read/write property for the Analytics and AsyncAnalytics classes which re-enables manual copy/paste authorisation (if available)

Changes

  • Privatised the log (now _log) variables in each module (this is not considered a breaking change as those should not have been accessed anyway)
  • The ReportType and DetailedReportType ABCs are now dataclasses

v3.3.2

11 Apr 22:21
Compare
Choose a tag to compare

Patch release

  • Addresses a deprecation in the Google APIs regarding manual code input
    • The current solution is a temporary one to get people up and running, but a proper fix will be released in v3.4

v3.3.1

05 Apr 20:25
Compare
Choose a tag to compare

Patch release

This release adds the py.typed file to the distribution.

v3.3.0

03 Apr 16:26
Compare
Choose a tag to compare

Feature release

This release adds and changes a lot of little things.

Additions

  • The Analytics.retrieve and AsyncAnalytics.retrieve methods now accept a token_path kwarg to allow users to save their tokens wherever without needing to manually authorise
  • The Report class now has dimensions and metrics properties, which return columns that are dimensions and those that are metrics respectively

Changes

  • The outdated version warning message was reworded
  • The token refresh check is now a little more optimised
  • Some imports are a little more optimised

Potential breaking change

  • The Report._nrows and Report._ncolumns private attributes have been merged into Report._shape, and thus no longer exist. You should use Report.shape[0] and Report.shape[1] instead. This will cause problems for those using these attributes, but as they are private, this isn't a major version change.

v3.2.0

26 Mar 15:31
Compare
Choose a tag to compare

Feature release

Additions

  • Added ability to export report as Apache Arrow Table (#28)
  • Added ability to export report as Apache Feather file (#28)
  • Added ability to export report as Apache Parquet file (#28)
  • Added analytix[arrow] install method (#28)

v3.1.0

25 Mar 23:38
Compare
Choose a tag to compare

Feature release

Additions

  • Native Modin support (#23)
  • Report.to_excel -- exports the report to an Excel spreadsheet (#24)

Changes

The Report.to_json and Report.to_csv methods can now be called in sync or async contexts. For example, both of the following calls work:

report.to_csv("analytics.csv")
await report.to_csv("analytics.csv")

The Report.ato_json and Report.ato_csv methods still remain for backwards compatibility, but are deprecated.

Deprecations

  • analytix[df] install method
  • await Report.ato_json
  • await Report.ato_csv

v3.0.1

16 Mar 22:49
Compare
Choose a tag to compare

Bugfix release

This release fixes a few issues related to refreshing tokens.

Firstly, it fixes a misunderstanding in the README about how long refresh tokens last before they expire. The README stated that this is 200 days, when actually it's, more often than not, 7. I'd read the wrong part of the Google Documentation, and Google highlighting 200 days really didn't help that, sozza.

I've also fixed a bug where analytix couldn't handle refresh tokens being invalid -- you will now simply be prompted to manually reauthorise when necessary.

v3.0.0

15 Mar 18:35
Compare
Choose a tag to compare

Version 3 release!

There are far too many changes between versions 2 and 3 to mention here; have a look at the migration guide to learn about the most important and relevant ones.

You can also see the commit history between version 2.2.0.post0 and version 3 if you like.

Open an issue if you discover any issues (:

v3.0.0rc3

13 Mar 17:37
Compare
Choose a tag to compare
v3.0.0rc3 Pre-release
Pre-release

This will DEFINITELY be the last pre-release before stable, just a fair amount has changed since the last release.

Additions

  • Added an update checker (ignore warnings on pre-releases)
  • Moved report determination to the Query class, as it better fits there
  • Declare PyPy 3.9 support

Fixes

  • Add some functionality to AsyncAnalytics I accidentally missed
  • Fixed some typos in the README
  • Fixed a bug where columns would not be correctly sorted in reports

Changes

  • Some behaviour with relation to refreshing tokens

DevOps

  • Bring test coverage up to near 100% (the rest will be done playlist support is added)
  • Added some more checks, including a dependency manager

Future plans

v3.0.0 stable will include playlist support, as that's pretty much all I need to do!

v3.0.0rc2

08 Mar 00:00
Compare
Choose a tag to compare
v3.0.0rc2 Pre-release
Pre-release

I know I said there wouldn't be another rc version but this one does quite a bit of useful stuff, so thought there should be.

Fixes

  • Fixed a bug (yes, totally a bug) where the AsyncAnalytics class couldn't retrieve reports

Changes

  • Changed all data constants to be sets natively so they don't have to be converted to sets every single request

Beyond that, it's just adding docs and stuff. Playlists and 100% test coverage needs to be done before stable v3.0.0 releases, but shouldn't be too long, in theory.