<div align="center" markdown="1">
<h1>Knuckles</h1>
![PyPI - Version](https://img.shields.io/pypi/v/knuckles)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/knuckles)
![GitHub Actions - PyPI Publishing](https://github.com/kutu-dev/knuckles/actions/workflows/publish.yml/badge.svg)
![GitHub Actions - Docs Deploying](https://github.com/kutu-dev/knuckles/actions/workflows/docs.yml/badge.svg)
An unopinionated [OpenSubsonic](https://opensubsonic.netlify.app/) API wrapper for Python.
</div>
## Compatiblity
Knuckles **only** works with servers compatible with the REST API version 1.4.0 onwards (Subsonic 4.2+).
It follows strictly the [OpenSubsonic API Spec](https://opensubsonic.netlify.app/docs/opensubsonic-api/), being fully retro-compatible with the original [Subsonic API](https://subsonic.org/pages/api.jsp).
## Getting Started
### Make It Available
First install the package:
```sh title="Command line"
python3 -m pip install knuckles
```
Or add it to your project:
```toml title="pyproject.toml"
project = [
"knuckles>=1.1.0"
]
```
### Using It
```python3 title="__main__.py"
import knuckles
server = knuckles.Subsonic(
# Adding https:// is done automatically,
# /rest should never be added to the URL
url = "example.com",
user = "kutu",
password = "caisopea",
client = "knuckles client"
)
ping = server.system.ping()
# Print the supported version of the OpenSubsonic REST API
print(ping.version)
```
### Learning More
To start making more complex interactions with the API make use of [the API reference](https://kutu-dev.github.io/knuckles/reference/Api/). Enjoy coding and good luck!
## Acknowledgements
Created with :heart: by [Jorge "Kutu" Dobón Blanco](https://dobon.dev).
Raw data
{
"_id": null,
"home_page": null,
"name": "knuckles",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.11.0",
"maintainer_email": null,
"keywords": "api-wrapper, api, wrapper, library, subsonic, opensubsonic",
"author": null,
"author_email": "\"Jorge \\\"Kutu\\\" Dob\u00f3n Blanco\" <code@dobon.dev>",
"download_url": "https://files.pythonhosted.org/packages/61/49/754c40fe2226a58c704a41ca65d9486e2375a3aea8d07b11adccadee0c9f/knuckles-1.1.8.tar.gz",
"platform": null,
"description": "<div align=\"center\" markdown=\"1\">\n<h1>Knuckles</h1>\n\n![PyPI - Version](https://img.shields.io/pypi/v/knuckles)\n![PyPI - Python Version](https://img.shields.io/pypi/pyversions/knuckles)\n![GitHub Actions - PyPI Publishing](https://github.com/kutu-dev/knuckles/actions/workflows/publish.yml/badge.svg)\n![GitHub Actions - Docs Deploying](https://github.com/kutu-dev/knuckles/actions/workflows/docs.yml/badge.svg)\n\nAn unopinionated [OpenSubsonic](https://opensubsonic.netlify.app/) API wrapper for Python.\n</div>\n\n## Compatiblity\nKnuckles **only** works with servers compatible with the REST API version 1.4.0 onwards (Subsonic 4.2+).\nIt follows strictly the [OpenSubsonic API Spec](https://opensubsonic.netlify.app/docs/opensubsonic-api/), being fully retro-compatible with the original [Subsonic API](https://subsonic.org/pages/api.jsp).\n\n## Getting Started\n\n### Make It Available\nFirst install the package:\n\n```sh title=\"Command line\"\npython3 -m pip install knuckles\n```\n\nOr add it to your project:\n\n```toml title=\"pyproject.toml\"\nproject = [\n \"knuckles>=1.1.0\"\n]\n```\n\n### Using It\n\n```python3 title=\"__main__.py\"\nimport knuckles\n\nserver = knuckles.Subsonic(\n # Adding https:// is done automatically,\n # /rest should never be added to the URL\n url = \"example.com\",\n user = \"kutu\",\n password = \"caisopea\",\n client = \"knuckles client\"\n)\n\nping = server.system.ping()\n\n# Print the supported version of the OpenSubsonic REST API\nprint(ping.version)\n```\n\n### Learning More\nTo start making more complex interactions with the API make use of [the API reference](https://kutu-dev.github.io/knuckles/reference/Api/). Enjoy coding and good luck!\n\n## Acknowledgements\nCreated with :heart: by [Jorge \"Kutu\" Dob\u00f3n Blanco](https://dobon.dev).\n",
"bugtrack_url": null,
"license": null,
"summary": "A Subsonic/OpenSubsonic API wrapper for Python.",
"version": "1.1.8",
"project_urls": {
"Changelog": "https://github.com/kutu-dev/knuckles/blob/master/CHANGELOG.md",
"Documentation": "https://kutu-dev.github.io/knuckles/",
"Issues": "https://github.com/kutu-dev/knuckles/issues",
"Repository": "https://github.com/kutu-dev/knuckles"
},
"split_keywords": [
"api-wrapper",
" api",
" wrapper",
" library",
" subsonic",
" opensubsonic"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "e4b71bb193cdf989bbcebb8827bcc5ad4d801a05b18b64ef3704a5213b4e9a78",
"md5": "5c62cc69c98c75e42fb798c0e2264577",
"sha256": "4fe77ade9b60a70c9b1f3cdd34d503867d412f8c1ac29c42dfcb014181c3868c"
},
"downloads": -1,
"filename": "knuckles-1.1.8-py3-none-any.whl",
"has_sig": false,
"md5_digest": "5c62cc69c98c75e42fb798c0e2264577",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11.0",
"size": 64761,
"upload_time": "2024-11-17T03:04:57",
"upload_time_iso_8601": "2024-11-17T03:04:57.078298Z",
"url": "https://files.pythonhosted.org/packages/e4/b7/1bb193cdf989bbcebb8827bcc5ad4d801a05b18b64ef3704a5213b4e9a78/knuckles-1.1.8-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6149754c40fe2226a58c704a41ca65d9486e2375a3aea8d07b11adccadee0c9f",
"md5": "29fa26407f684220718ab1873b64c413",
"sha256": "1871be4cb944e05e6dcfa87a10d701cc8cd7c64417b9f371a67e371fd9c552ec"
},
"downloads": -1,
"filename": "knuckles-1.1.8.tar.gz",
"has_sig": false,
"md5_digest": "29fa26407f684220718ab1873b64c413",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11.0",
"size": 41503,
"upload_time": "2024-11-17T03:04:59",
"upload_time_iso_8601": "2024-11-17T03:04:59.246764Z",
"url": "https://files.pythonhosted.org/packages/61/49/754c40fe2226a58c704a41ca65d9486e2375a3aea8d07b11adccadee0c9f/knuckles-1.1.8.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-17 03:04:59",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "kutu-dev",
"github_project": "knuckles",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "knuckles"
}