Releases: parafoxia/analytix
v3.4.0
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 theauthorise
,refresh_token
, andretrieve
methods of theAnalytics
andAsyncAnalytics
classes, defaulting to 8080 - A
legacy_auth
read/write property for theAnalytics
andAsyncAnalytics
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
andDetailedReportType
ABCs are now dataclasses
v3.3.2
v3.3.1
v3.3.0
Feature release
This release adds and changes a lot of little things.
Additions
- The
Analytics.retrieve
andAsyncAnalytics.retrieve
methods now accept atoken_path
kwarg to allow users to save their tokens wherever without needing to manually authorise - The
Report
class now hasdimensions
andmetrics
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
andReport._ncolumns
private attributes have been merged intoReport._shape
, and thus no longer exist. You should useReport.shape[0]
andReport.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
v3.1.0
Feature release
Additions
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 methodawait Report.ato_json
await Report.ato_csv
v3.0.1
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
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
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
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.