# A Python client for Tautulli's API
[](https://pypi.org/project/tautulli)
[](https://github.com/nwithan8/pytulli/blob/master/LICENSE)
[](https://github.com/nwithan8/pytulli/issues?q=is%3Aopen+is%3Aissue)
[](https://github.com/nwithan8/pytulli/issues?q=is%3Aissue+is%3Aclosed)
[](https://github.com/nwithan8/pytulli/releases)
[](https://discord.gg/7jGbCJQ)
[](https://twitter.com/nwithan8)
Interact with Tautulli's API in Python
# Installation
From PyPi: ``python -m pip install tautulli``
From GitHub ``python -m pip install git+https://github.com/nwithan8/pytulli.git``
# 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/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": "",
"docs_url": null,
"requires_python": ">=3.7, <4",
"maintainer_email": "",
"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/92/5d/451c05b23524677e1891a11ee9b35dfe0ceba264eb476e32aaef0e977ffa/tautulli-3.3.0.2120.tar.gz",
"platform": null,
"description": "# A Python client for Tautulli's API\n[](https://pypi.org/project/tautulli)\n[](https://github.com/nwithan8/pytulli/blob/master/LICENSE)\n\n[](https://github.com/nwithan8/pytulli/issues?q=is%3Aopen+is%3Aissue)\n[](https://github.com/nwithan8/pytulli/issues?q=is%3Aissue+is%3Aclosed)\n[](https://github.com/nwithan8/pytulli/releases)\n\n[](https://discord.gg/7jGbCJQ)\n[](https://twitter.com/nwithan8)\n\nInteract with Tautulli's API in Python\n\n# Installation\nFrom PyPi: ``python -m pip install tautulli``\n\nFrom GitHub ``python -m pip install git+https://github.com/nwithan8/pytulli.git``\n\n# Usage\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/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\n\n",
"bugtrack_url": null,
"license": "GNU General Public License v3 (GPLv3)",
"summary": "A complete Python client for Tautulli's API",
"version": "3.3.0.2120",
"project_urls": {
"Download": "https://github.com/nwithan8/pytulli/archive/refs/tags/3.3.0.2120.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": "7aaed163f260c6eae8eae781888ff43ce1839bb2465a0f1287dea3cb01712776",
"md5": "52051284427beb9683306010777009bd",
"sha256": "910c079cad970590d2192e2351c37bb9aa20462d94cfbe5b56e515d4570c03b1"
},
"downloads": -1,
"filename": "tautulli-3.3.0.2120-py3-none-any.whl",
"has_sig": false,
"md5_digest": "52051284427beb9683306010777009bd",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7, <4",
"size": 84632,
"upload_time": "2023-05-31T00:22:17",
"upload_time_iso_8601": "2023-05-31T00:22:17.047722Z",
"url": "https://files.pythonhosted.org/packages/7a/ae/d163f260c6eae8eae781888ff43ce1839bb2465a0f1287dea3cb01712776/tautulli-3.3.0.2120-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "925d451c05b23524677e1891a11ee9b35dfe0ceba264eb476e32aaef0e977ffa",
"md5": "906a1811e6d00d89c8ff77f2f18a7bfe",
"sha256": "cb09c8dbff8dd6332506713bd8199ea1d281e8f955b7d1a7d6d5f9713cb2b406"
},
"downloads": -1,
"filename": "tautulli-3.3.0.2120.tar.gz",
"has_sig": false,
"md5_digest": "906a1811e6d00d89c8ff77f2f18a7bfe",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7, <4",
"size": 60569,
"upload_time": "2023-05-31T00:22:19",
"upload_time_iso_8601": "2023-05-31T00:22:19.205226Z",
"url": "https://files.pythonhosted.org/packages/92/5d/451c05b23524677e1891a11ee9b35dfe0ceba264eb476e32aaef0e977ffa/tautulli-3.3.0.2120.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-05-31 00:22:19",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "nwithan8",
"github_project": "pytulli",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "tautulli"
}