Skip to main content
Python Software Foundation 20th Year Anniversary Fundraiser  Donate today!

Adds Google Analytics to Jupyter notebooks

Project description

Jupyter Analytics

A simple Jupyter Notebook extension to inject Google Analytics tracking code into notebooks and JupyterHub web pages. This extension is based on yuvipanda/nbgoogleanyltics but is extended for larger JupyterHub deployments.

Installation

Install the extension as follows:

$ pip install jupyteranalytics

This should both install and enable the jupyteranalytics extension. Verify with:

$ jupyter nbextension list
$ jupyter serverextension list

There are a couple of reasons why this might not have been installed and enabled automagically. If not, you can manually install and enable as follows:

$ jupyter nbextension install --py --sys-prefix jupyteranalytics
$ jupyter nbextension enable --py --sys-prefix jupyteranalytics
$ jupyter serverextension enable --py --sys-prefix jupyteranalytics

Note that both the automatic and manual methods install jupyteranalytics to your virtualenv using the --sys-prefix flag by default. Alternatively you can omit this flag or specify --user to install the configuration to your user configuration or you can use --system to install the extension systemwide.

Warning: For Google Analytics tracking to appear on every page (including the directory listing), the configuration must be in nbconfig/common.json, the pip installer will copy a new configuration to the virtualenv location; ensure that you make a backup of any existing nbconfig.common.json file. Note that this will not affect user or system installs, which require manual enabling of the extension.

Configuration

The configuration property required by this extension is a Google Analytics Tracking ID, which can be obtained after you set up a Google Analytics property. This ID looks something like UA-#########-#.

To quickly get started you can pass this id as a command line parameter:

$ jupyter notebook --GoogleAnalytics.tracking_id="UA-#########-#"

To permenantly enable tracking on all notebook pages, check the path to your configuration using jupyter nbextension list. Then, in <config_path>/common.json add the following:

{
    "GoogleAnalytics": {
        "tracking_id": "UA-#########-#"
    }
}

Alternatively you can set the Trackig ID by storing it in the GOOGLE_ANALYTICS_TRACKING_ID environment variable, this is particularly useful if you're deploying JupyterHub with Docker or Kubernetes.

Note that the notebook logger will indicate if tracking is enabled if it can find the Tracking ID from the configuration, the environment, or the command line (resolved in that order). It will also indicate if the analytics are disabled because no tracking id could be found. Ensure that you have system logging enabled to check that your deployment is correct.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for jupyteranalytics, version 1.1
Filename, size File type Python version Upload date Hashes
Filename, size jupyteranalytics-1.1-py3-none-any.whl (8.7 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size jupyteranalytics-1.1.tar.gz (6.2 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page