A simple yet powerful wrapper for the YouTube Analytics API.
- Pythonic syntax lets you feel right at home
- Dynamic error handling saves hours of troubleshooting, and makes sure only valid requests count toward your API quota
- A clever interface allows you to make multiple requests across multiple sessions without reauthorising
- Extra support allows the native saving of CSV files and conversion to DataFrame objects
- Easy enough for beginners, but powerful enough for advanced users
You need Python 3.6.0 or greater to run analytix. It is recommended you install analytix in a virtual environment. Note: While analytix supports Python 3.10, pandas does not. You will be able to retrieve reports and save them locally, but you won't be able to convert them to DataFrame objects.
To install the latest stable version of analytix, use the following command:
pip install analytix
To install with optional dependencies, use the following command:
pip install "analytix[opt]"
You can also install the latest development version using the following command:
pip install git+https://github.com/parafoxia/[email protected]
You may need to prefix these commands with a call to the Python interpreter depending on your OS and Python configuration.
Before you begin, you will need to have a Google Developers project with the YouTube Analytics API enabled. You can find instructions on how to do that in the API setup guide.
Once you've done that, retrieving reports is easy. The below example loads credentials from a secrets file, and gets as much information as possible from the last 28 days.
import datetime as dt from analytix import YouTubeAnalytics client = YouTubeAnalytics.from_file("./secrets.json") start_date = dt.date.today() - dt.timedelta(days=28) report = client.retrieve(start_date, dimensions=("day",)) report.to_csv("./analytics-28d.csv")
From version 2.1, you can do the same operation in an easier way.
from analytix import YouTubeAnalytics client = YouTubeAnalytics.from_file("./secrets.json") report = client.daily_analytics().to_csv("./analytics-28d.csv")
To read up further, have a look at the documentation.
analytix is open to contributions. To find out where to get started, have a look at the contributing guide.
The analytix module for Python is licensed under the BSD 3-Clause License.