Metadata-Version: 2.4
Name: analytix
Version: 6.0.0a3
Summary: A simple yet powerful SDK for the YouTube Analytics API.
Project-URL: Homepage, https://github.com/parafoxia/analytix
Project-URL: Documentation, https://parafoxia.github.io/analytix
Project-URL: Source, https://github.com/parafoxia/analytix
Project-URL: Bug Tracker, https://github.com/parafoxia/analytix/issues
Project-URL: CI, https://github.com/parafoxia/analytix/actions
Project-URL: Changelog, https://github.com/parafoxia/analytix/releases
Author-email: Ethan Henderson <ethan.henderson.1998@gmail.com>
License-Expression: BSD-3-Clause
License-File: LICENSE
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: OSI Approved :: BSD License
Classifier: Natural Language :: English
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: OS Independent
Classifier: Operating System :: POSIX
Classifier: Operating System :: Unix
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: 3.15
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Internet
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Classifier: Topic :: Utilities
Classifier: Typing :: Typed
Requires-Python: <4.0,>=3.11
Requires-Dist: urllib3<3.0,>=2.2
Provides-Extra: dev
Requires-Dist: black>=25.1.0; extra == 'dev'
Requires-Dist: codespell>=2.4.1; extra == 'dev'
Requires-Dist: griffe>=1.4.0; extra == 'dev'
Requires-Dist: jwt>=1.3.1; extra == 'dev'
Requires-Dist: mkdocs-include-markdown-plugin>=6.2.2; extra == 'dev'
Requires-Dist: mkdocs-material>=9.7.5; extra == 'dev'
Requires-Dist: mkdocs<2.0,>=1.6.1; extra == 'dev'
Requires-Dist: mkdocstrings[python]>=0.26.1; extra == 'dev'
Requires-Dist: mypy>=1.19.1; extra == 'dev'
Requires-Dist: openpyxl>=3.1.5; extra == 'dev'
Requires-Dist: pandas-stubs>=3.0.0.260204; extra == 'dev'
Requires-Dist: pandas>=2.0.3; extra == 'dev'
Requires-Dist: polars>=1.8.2; extra == 'dev'
Requires-Dist: pyarrow>=17.0.0; extra == 'dev'
Requires-Dist: pytest-cov>=5.0.0; extra == 'dev'
Requires-Dist: pytest-randomly>=3.15.0; extra == 'dev'
Requires-Dist: pytest-sugar>=1.1.1; extra == 'dev'
Requires-Dist: pytest>=8.3.5; extra == 'dev'
Requires-Dist: pytz>=2026.1.post1; extra == 'dev'
Requires-Dist: ruff>=0.11.0; extra == 'dev'
Requires-Dist: slotscheck>=0.19.1; extra == 'dev'
Requires-Dist: types-openpyxl>=3.1.5.20250919; extra == 'dev'
Description-Content-Type: text/markdown

<!-- SPDX-FileCopyrightText: 2021-2026 Ethan Henderson -->
<!-- SPDX-License-Identifier: BSD-3-Clause -->

<div align="center">
<img alt="analytix logo" src="https://raw.githubusercontent.com/parafoxia/analytix/main/assets/logo.png" width="400px">
<br /><br />
A simple yet powerful SDK for the YouTube Analytics API.
<br /><br />
<a href="https://pypi.python.org/pypi/analytix"><img alt="PyPI - Version" src="https://img.shields.io/pypi/v/analytix"></a>
<a href="https://pypi.python.org/pypi/analytix"><img alt="PyPI - Python Version" src="https://img.shields.io/pypi/pyversions/analytix"></a>
<a href="https://pypi.python.org/pypi/analytix"><img alt="PyPI - Implementation" src="https://img.shields.io/pypi/implementation/analytix"></a>
<hr />
</div>

## Features

* 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 enables you to export reports in a variety of filetypes and to a number of DataFrame formats
* Easy enough for beginners, but powerful enough for advanced users

## Installation

### Installing analytix

To install the latest stable version of analytix, use the following command:

```sh
pip install analytix
```

You can also install the latest development version using the following command:

```sh
pip install git+https://github.com/parafoxia/analytix
```

You may need to prefix these commands with a call to the Python interpreter depending on your OS and Python configuration.

## OAuth authentication

All requests to the YouTube Analytics API need to be authorised through OAuth 2.
In order to do this, you will need a Google Developers project with the YouTube Analytics API enabled.
You can find instructions on how to do that in the [API setup guide](https://parafoxia.github.io/analytix/starting/googleapp/).

Once a project is set up, analytix handles authorisation — including token refreshing — for you.

More details regarding how and when refresh tokens expire can be found on the [Google Identity documentation](https://developers.google.com/identity/protocols/oauth2#expiration).

## Usage

This is an alpha version, and is subject to change.

## Compatibility

Python 3.11 or above is required.
The CPython and PyPy implementations are both officially supported.
Windows, MacOS, and Linux are all supported.

Support for other configurations or functionality requiring optional libraries cannot be guaranteed.

## Contributing

Contributions are very much welcome! Have a look at the [contributing guide](https://github.com/parafoxia/analytix/blob/main/CONTRIBUTING.md) to get started.

## License

This project is licensed under the [BSD 3-Clause "New" or "Revised" License](https://github.com/parafoxia/analytix/blob/main/LICENSES/BSD-3-Clause.txt).
