{"id":19754951,"url":"https://github.com/mopidy/mopidy-beets","last_synced_at":"2025-04-30T11:31:48.047Z","repository":{"id":8151362,"uuid":"9571418","full_name":"mopidy/mopidy-beets","owner":"mopidy","description":"Mopidy extension for playing music from a Beets collection","archived":false,"fork":false,"pushed_at":"2024-01-22T11:13:48.000Z","size":133,"stargazers_count":49,"open_issues_count":10,"forks_count":14,"subscribers_count":14,"default_branch":"main","last_synced_at":"2024-04-14T07:45:11.286Z","etag":null,"topics":["beets","mopidy","mopidy-backend","python"],"latest_commit_sha":null,"homepage":"https://mopidy.com/ext/beets/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mopidy.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-04-20T22:15:20.000Z","updated_at":"2023-12-29T00:28:19.000Z","dependencies_parsed_at":"2023-02-10T11:32:42.044Z","dependency_job_id":null,"html_url":"https://github.com/mopidy/mopidy-beets","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mopidy%2Fmopidy-beets","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mopidy%2Fmopidy-beets/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mopidy%2Fmopidy-beets/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mopidy%2Fmopidy-beets/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mopidy","download_url":"https://codeload.github.com/mopidy/mopidy-beets/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224208101,"owners_count":17273674,"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":["beets","mopidy","mopidy-backend","python"],"created_at":"2024-11-12T03:06:57.217Z","updated_at":"2025-04-30T11:31:48.028Z","avatar_url":"https://github.com/mopidy.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"************\nMopidy-Beets\n************\n\n.. image:: https://img.shields.io/pypi/v/Mopidy-Beets\n    :target: https://pypi.org/project/Mopidy-Beets/\n    :alt: Latest PyPI version\n\n.. image:: https://img.shields.io/github/actions/workflow/status/mopidy/mopidy-beets/ci.yml?branch=main\n    :target: https://github.com/mopidy/mopidy-beets/actions\n    :alt: CI build status\n\n.. image:: https://img.shields.io/codecov/c/gh/mopidy/mopidy-beets\n    :target: https://codecov.io/gh/mopidy/mopidy-beets\n    :alt: Test coverage\n\n`Mopidy \u003chttps://mopidy.com/\u003e`_ extension for browsing, searching and\nplaying music from a music collection managed via `Beets \u003chttps://beets.io/\u003e`_.\nThis extension uses the\n`Beets plugin \"web\" \u003chttps://beets.readthedocs.io/en/latest/plugins/web.html\u003e`_.\n\n\nInstallation\n============\n\nInstall by running::\n\n    sudo python3 -m pip install Mopidy-Beets\n\nSee https://mopidy.com/ext/beets/ for alternative installation methods.\n\n\nConfiguration\n=============\n\n#. Setup the `Beets web plugin\n   \u003chttps://beets.readthedocs.org/en/latest/plugins/web.html\u003e`_.\n\n#. Tell Mopidy where to find the Beets web interface by adding the following to\n   your ``mopidy.conf``::\n\n    [beets]\n    hostname = 127.0.0.1\n    port = 8337\n\n#. Restart Mopidy.\n\n#. The Beets library is now accessible in the \"browser\" section of your Mopidy\n   client. Additionally searches in Mopidy return results from your Beets\n   library.\n\nProxy configuration for OGG files (optional)\n--------------------------------------------\n\nIn case you use a beets version older than 1.6.1, you may need to configure\nan HTTP reverse-proxy server in front of the Beets web plugin (not mopidy)\nbecause `it does not handle HTTP \"Range\" requests properly \u003chttps://github.com/beetbox/beets/pull/5057\u003e`_.\nIf you don't apply this workaround, mopidy may not be able to stream/play\nlarge audio files and/or does not allow you to seek.\nThe is the case for OGG files in particular.\n\nThe following Nginx configuration snippet is sufficient::\n\n    server {\n        listen 127.0.0.1:8338;\n        root /usr/share/beets/beetsplug/web;\n        server_name beets.local;\n        location / {\n            proxy_pass http://localhost:8337;\n            # this statement forces Nginx to emulate \"Range\" responses\n            proxy_force_ranges on;\n            # Hide Range header from beets/flask, preventing range handling\n            proxy_set_header \"Range\" \"\";\n        }\n    }\n\nNow you should change the mopidy configuration accordingly to point to the\nNginx port above instead of the Beets port. Afterwards mopidy will be able to\nplay file formats that require seeking.\n\n\nUsage\n=====\n\n#. Run ``beet web`` to start the Beets web interface.\n\n#. Start Mopidy and access your Beets library via any Mopidy client:\n\n   * Browse your collection by album\n\n   * Search for tracks or albums\n\n   * Let the music play!\n\n\nProject resources\n=================\n\n- `Source code \u003chttps://github.com/mopidy/mopidy-beets\u003e`_\n- `Issue tracker \u003chttps://github.com/mopidy/mopidy-beets/issues\u003e`_\n- `Changelog \u003chttps://github.com/mopidy/mopidy-beets/releases\u003e`_\n\n\nCredits\n=======\n\n- Original author: `Janez Troha \u003chttps://github.com/dz0ny\u003e`_\n- Current maintainer: `Lars Kruse \u003cdevel@sumpfralle.de\u003e`_\n- `Contributors \u003chttps://github.com/mopidy/mopidy-beets/graphs/contributors\u003e`_\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmopidy%2Fmopidy-beets","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmopidy%2Fmopidy-beets","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmopidy%2Fmopidy-beets/lists"}