{"id":13557407,"url":"https://github.com/jellyfin/mopidy-jellyfin","last_synced_at":"2025-04-09T18:18:52.699Z","repository":{"id":34907183,"uuid":"183521834","full_name":"jellyfin/mopidy-jellyfin","owner":"jellyfin","description":"Jellyfin Extension for Mopidy","archived":false,"fork":false,"pushed_at":"2025-02-22T22:15:05.000Z","size":283,"stargazers_count":100,"open_issues_count":15,"forks_count":15,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-04-09T18:18:47.749Z","etag":null,"topics":["hacktoberfest","jellyfin","mopidy"],"latest_commit_sha":null,"homepage":"https://jellyfin.org","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jellyfin.png","metadata":{"funding":{"open_collective":"jellyfin"},"files":{"readme":"README.rst","changelog":"CHANGELOG.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2019-04-25T23:08:01.000Z","updated_at":"2025-04-04T04:15:59.000Z","dependencies_parsed_at":"2023-02-12T11:48:18.427Z","dependency_job_id":"bad95db5-7122-45a3-80a9-a9bd8067238d","html_url":"https://github.com/jellyfin/mopidy-jellyfin","commit_stats":{"total_commits":232,"total_committers":12,"mean_commits":"19.333333333333332","dds":0.2931034482758621,"last_synced_commit":"95b89aaeb0252857e271a38cef9a38fa1832c0dc"},"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jellyfin%2Fmopidy-jellyfin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jellyfin%2Fmopidy-jellyfin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jellyfin%2Fmopidy-jellyfin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jellyfin%2Fmopidy-jellyfin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jellyfin","download_url":"https://codeload.github.com/jellyfin/mopidy-jellyfin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248085325,"owners_count":21045139,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hacktoberfest","jellyfin","mopidy"],"created_at":"2024-08-01T12:04:20.085Z","updated_at":"2025-04-09T18:18:52.673Z","avatar_url":"https://github.com/jellyfin.png","language":"Python","funding_links":["https://opencollective.com/jellyfin"],"categories":["Python","hacktoberfest"],"sub_categories":[],"readme":"****************************\nMopidy-Jellyfin\n****************************\n\n.. image:: https://img.shields.io/pypi/v/Mopidy-Jellyfin.svg?style=flat\n    :target: https://pypi.python.org/pypi/Mopidy-Jellyfin/\n    :alt: Latest PyPI version\n\n\nMopidy extension for playing audio files from Jellyfin\n\nNotes:\n\n- Supports both \"Music\" and \"Book\" media types\n- Tested using `ncmpcpp \u003chttps://rybczak.net/ncmpcpp/\u003e`_, `M.A.L.P. \u003chttps://play.google.com/store/apps/details?id=org.gateshipone.malp\u003e`_, and various mopidy `web frontends \u003chttps://mopidy.com/ext/\u003e`_.\n    - When using ncmpcpp, it's recommended to set ``mpd_connection_timeout = 30``, particularly if browsing folders that have a large number of items inside them\n    - There is some inconsistency in M.A.L.P. where you may have to go to the menu and select 'Show All Tracks' for the library to populate properly\n- MPDroid on Android does not work properly\n\n\nInstallation\n============\n\nInstall by running::\n\n    pip install Mopidy-Jellyfin\n\nMopidy-Jellyfin has officially moved to Python 3 with the release of `Mopidy 3.0 \u003chttps://mopidy.com/blog/2019/12/22/mopidy-3.0/\u003e`_.  All future updates will target this newer version.\n\n\nConfiguration\n=============\n\nBefore starting Mopidy, you must add configuration for\nMopidy-Jellyfin to your Mopidy configuration file::\n\n    [jellyfin]\n    hostname = Jellyfin server hostname\n    username = username\n    password = password\n    user_id = userid (Optional: Needed for token authentication)\n    token = token (Optional: Use for authentication instead of username and password)\n    libraries = Library1, Library2 (Optional: will default to \"Music\" if left undefined)\n    albumartistsort = False (Optional: will default to True if left undefined)\n    album_format = {ProductionYear} - {Name} (Optional: will default to \"{Name}\" if left undefined)\n    max_bitrate = number\n\n* ``libraries`` determines what is populated into Mopidy's internal library (view by Artists/Album/etc).  Using the file browser will show all libraries in the Jellyfin server that have a 'music' type.\n\n* ``albumartistsort`` changes whether the media library populates based on \"Artist\" or \"Album Artist\" metadata\n\n* ``album_format`` can be used to change the display format of music albums when using the file browser view.  Currently the only really usable fields are ProductionYear and Name\n\n  ``max_bitrate`` is used to trigger transcoding if a file is over a given bitrate (in kbps)\n\n\nDevelopment\n===========\n\n1. Install mopidy to your host system, preferably using the native package manager.  This handles all of the required dependencies.\n\n2. Clone the repo to your local workstation\n\n   ``$ git clone git@github.com:jellyfin/mopidy-jellyfin.git \u0026\u0026 cd mopidy-jellyfin``\n\n2. Set up a virtualenv.  We need to include system packages since some things don't behave well inside of a virtualenv (such as ``PyGObject`` or interacting with pulseaudio).  Note that with the release of Mopidy 3.0 only Python 3.7 or newer is supported.\n\n   ``$ python -m venv env --system-site-packages``\n\n3. Install mopidy-jellyfin to the virtualenv.\n\n   ``$ env/bin/python setup.py develop``\n\n4. Do your thing.\n\n   Mopidy can be launched from the virtualenv with ``env/bin/mopidy``\n\n\nProject resources\n=================\n\n- `Source code \u003chttps://github.com/jellyfin/mopidy-jellyfin\u003e`_\n- `Issue tracker \u003chttps://github.com/jellyfin/mopidy-jellyfin/issues\u003e`_\n\n\nCredits\n=======\n\n- Current maintainer: `Matt Carlton \u003chttps://github.com/mcarlton00\u003e`_\n- Original author: `Marvin Steadfast \u003chttps://github.com/xsteadfastx\u003e`_\n- `Contributors \u003chttps://github.com/jellyfin/mopidy-jellyfin/graphs/contributors\u003e`_\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjellyfin%2Fmopidy-jellyfin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjellyfin%2Fmopidy-jellyfin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjellyfin%2Fmopidy-jellyfin/lists"}