# A Python client for Tautulli's API
[![PyPi](https://img.shields.io/pypi/dm/tautulli?label=Downloads&logo=pypi)](https://pypi.org/project/tautulli)
[![License](https://img.shields.io/pypi/l/tautulli?color=orange&style=flat-square)](https://github.com/nwithan8/pytulli/blob/master/LICENSE)
[![Open Issues](https://img.shields.io/github/issues-raw/nwithan8/pytulli?color=gold&style=flat-square)](https://github.com/nwithan8/pytulli/issues?q=is%3Aopen+is%3Aissue)
[![Closed Issues](https://img.shields.io/github/issues-closed-raw/nwithan8/pytulli?color=black&style=flat-square)](https://github.com/nwithan8/pytulli/issues?q=is%3Aissue+is%3Aclosed)
[![Latest Release](https://img.shields.io/github/v/release/nwithan8/pytulli?color=red&label=latest%20release&logo=github&style=flat-square)](https://github.com/nwithan8/pytulli/releases)
[![Discord](https://img.shields.io/discord/472537215457689601?color=blue&logo=discord&style=flat-square)](https://discord.gg/7jGbCJQ)
[![Twitter](https://img.shields.io/twitter/follow/nwithan8?label=%40nwithan8&logo=twitter&style=flat-square)](https://twitter.com/nwithan8)
Interact with Tautulli's API in Python
# Installation
- From PyPi (recommended): ``python -m pip install tautulli``
- From GitHub ``python -m pip install git+https://github.com/nwithan8/pytulli.git``
- This is not recommended, as the version will always default to 0.0.0
# Usage
This client covers nearly 100% of all Tautulli's available API calls, including type checks and enforcing required variables.
More details about Tautulli's API can be found on the [Tautulli's GitHub wiki page](https://github.com/Tautulli/Tautulli/wiki/Tautulli-API-Reference).
Most API call functions that return data return raw JSON data. Some return strings or file contents (in the case of downloads).
API calls functions that do not return data return `True`/`False` booleans to confirm that the API call was successful.
Import the ``tautulli`` package as initialize the API
Example:
```python
from tautulli import RawAPI
api = RawAPI(base_url="http://myipaddress:port", api_key="thisisanapikey")
```
You can optionally pass ``verbose=True`` into the API declaration to produce verbose debugging logs and error messages.
Additional utilities and shortcuts can be accessed via the `tautulli.tools` module.
# Documentation
Documentation available on [ReadTheDocs](https://pytulli.readthedocs.io/en/latest/documentation.html)
Raw data
{
"_id": null,
"home_page": "https://github.com/nwithan8/pytulli",
"name": "tautulli",
"maintainer": null,
"docs_url": null,
"requires_python": "<4,>=3.8",
"maintainer_email": null,
"keywords": "Tautulli, API, client, Plex, PMS, Plex Media Server, media, server, JSON",
"author": "Nate Harris",
"author_email": "n8gr8gbln@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/74/89/ccec8c1c9595607812f24d3a92b51c8d6f1ef85aa552b154a5063ead2547/tautulli-4.6.1.2142.tar.gz",
"platform": null,
"description": "# A Python client for Tautulli's API\n\n[![PyPi](https://img.shields.io/pypi/dm/tautulli?label=Downloads&logo=pypi)](https://pypi.org/project/tautulli)\n[![License](https://img.shields.io/pypi/l/tautulli?color=orange&style=flat-square)](https://github.com/nwithan8/pytulli/blob/master/LICENSE)\n\n[![Open Issues](https://img.shields.io/github/issues-raw/nwithan8/pytulli?color=gold&style=flat-square)](https://github.com/nwithan8/pytulli/issues?q=is%3Aopen+is%3Aissue)\n[![Closed Issues](https://img.shields.io/github/issues-closed-raw/nwithan8/pytulli?color=black&style=flat-square)](https://github.com/nwithan8/pytulli/issues?q=is%3Aissue+is%3Aclosed)\n[![Latest Release](https://img.shields.io/github/v/release/nwithan8/pytulli?color=red&label=latest%20release&logo=github&style=flat-square)](https://github.com/nwithan8/pytulli/releases)\n\n[![Discord](https://img.shields.io/discord/472537215457689601?color=blue&logo=discord&style=flat-square)](https://discord.gg/7jGbCJQ)\n[![Twitter](https://img.shields.io/twitter/follow/nwithan8?label=%40nwithan8&logo=twitter&style=flat-square)](https://twitter.com/nwithan8)\n\nInteract with Tautulli's API in Python\n\n# Installation\n\n- From PyPi (recommended): ``python -m pip install tautulli``\n- From GitHub ``python -m pip install git+https://github.com/nwithan8/pytulli.git``\n - This is not recommended, as the version will always default to 0.0.0\n\n\n# Usage\n\nThis client covers nearly 100% of all Tautulli's available API calls, including type checks and enforcing required variables.\n\nMore details about Tautulli's API can be found on the [Tautulli's GitHub wiki page](https://github.com/Tautulli/Tautulli/wiki/Tautulli-API-Reference).\n\nMost API call functions that return data return raw JSON data. Some return strings or file contents (in the case of downloads).\n\nAPI calls functions that do not return data return `True`/`False` booleans to confirm that the API call was successful.\n\nImport the ``tautulli`` package as initialize the API\nExample:\n```python\nfrom tautulli import RawAPI\n\napi = RawAPI(base_url=\"http://myipaddress:port\", api_key=\"thisisanapikey\")\n```\n\nYou can optionally pass ``verbose=True`` into the API declaration to produce verbose debugging logs and error messages.\n\nAdditional utilities and shortcuts can be accessed via the `tautulli.tools` module.\n\n# Documentation\n\nDocumentation available on [ReadTheDocs](https://pytulli.readthedocs.io/en/latest/documentation.html)\n",
"bugtrack_url": null,
"license": "GNU General Public License v3 (GPLv3)",
"summary": "A complete Python client for Tautulli's API",
"version": "4.6.1.2142",
"project_urls": {
"Download": "https://github.com/nwithan8/pytulli/archive/refs/tags/4.6.1.2142.tar.gz",
"Homepage": "https://github.com/nwithan8/pytulli"
},
"split_keywords": [
"tautulli",
" api",
" client",
" plex",
" pms",
" plex media server",
" media",
" server",
" json"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "6f41a91e262caee20d2197bc14d7cee6834ddc723024ca0bda506bf7db4aefed",
"md5": "f99620a14f8a4934bf98ccc57484ba18",
"sha256": "4ee03642ae8996c872c8b5c21aae121dabf2d18437133c76399a368db253c004"
},
"downloads": -1,
"filename": "tautulli-4.6.1.2142-py3-none-any.whl",
"has_sig": false,
"md5_digest": "f99620a14f8a4934bf98ccc57484ba18",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4,>=3.8",
"size": 89519,
"upload_time": "2024-12-18T17:26:22",
"upload_time_iso_8601": "2024-12-18T17:26:22.947155Z",
"url": "https://files.pythonhosted.org/packages/6f/41/a91e262caee20d2197bc14d7cee6834ddc723024ca0bda506bf7db4aefed/tautulli-4.6.1.2142-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7489ccec8c1c9595607812f24d3a92b51c8d6f1ef85aa552b154a5063ead2547",
"md5": "d67479c2eaf403811d4eb092345a3561",
"sha256": "8171df7fcb5a992c80cf766e6255109fae4cbe6a558d11b34d83f289e5074cfa"
},
"downloads": -1,
"filename": "tautulli-4.6.1.2142.tar.gz",
"has_sig": false,
"md5_digest": "d67479c2eaf403811d4eb092345a3561",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4,>=3.8",
"size": 69551,
"upload_time": "2024-12-18T17:26:25",
"upload_time_iso_8601": "2024-12-18T17:26:25.494415Z",
"url": "https://files.pythonhosted.org/packages/74/89/ccec8c1c9595607812f24d3a92b51c8d6f1ef85aa552b154a5063ead2547/tautulli-4.6.1.2142.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-18 17:26:25",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "nwithan8",
"github_project": "pytulli",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "objectrest",
"specs": [
[
"==",
"2.0.*"
]
]
},
{
"name": "pydantic",
"specs": [
[
"==",
"2.6.*"
]
]
},
{
"name": "pytz",
"specs": [
[
"==",
"2024.*"
]
]
},
{
"name": "python-dotenv",
"specs": [
[
"==",
"1.0.*"
]
]
},
{
"name": "packaging",
"specs": [
[
"==",
"24.*"
]
]
},
{
"name": "typing-extensions",
"specs": []
},
{
"name": "PlexAPI",
"specs": [
[
"==",
"4.15.*"
],
[
">=",
"4.15.14"
]
]
}
],
"tox": true,
"lcname": "tautulli"
}