Update all docs with Poetry

This commit is contained in:
Šarūnas Nejus 2024-05-13 07:03:47 +01:00
parent e30ee3f490
commit 7bbd215efc
No known key found for this signature in database
GPG key ID: DD28F6704DBE3435
25 changed files with 176 additions and 181 deletions

View file

@ -65,30 +65,24 @@ Programming
Getting the Source
^^^^^^^^^^^^^^^^^^
The easiest way to get started with the latest beets source is to use
`pip`_ to install an “editable” package. This
can be done with one command:
.. code-block:: bash
$ pip install -e git+https://github.com/beetbox/beets.git#egg=beets
Or, equivalently:
The easiest way to get started with the latest beets source is to clone the
repository and install ``beets`` in a local virtual environment using `poetry`_.
This can be done with:
.. code-block:: bash
$ git clone https://github.com/beetbox/beets.git
$ cd beets
$ pip install -e .
$ poetry install
This will install ``beets`` and all development dependencies into its own
virtual environment in your ``$POETRY_CACHE_DIR``. See ``poetry install
--help`` for installation options, including installing ``extra`` dependencies
for plugins.
In order to run commands within this virtual environment, prepend ``poetry
run`` to them, for example ``poetry run pytest``.
If you already have a released version of beets installed, you may need
to remove it first by typing ``pip uninstall beets``. The pip command
above will put the beets source in a ``src/beets`` directory and install
the ``beet`` CLI script to a standard location on your system. You may
want to use the ``--src`` option to specify the parent directory where
the source will be checked out and the ``--user`` option such that the
package will be installed to your home directory (compare with the
output of ``pip install --help``).
Code Contribution Ideas
^^^^^^^^^^^^^^^^^^^^^^^
@ -310,15 +304,12 @@ that reveal ordering dependencies—which are bad news!
Test Dependencies
^^^^^^^^^^^^^^^^^
The tests have a few more dependencies than beets itself. (The
additional dependencies consist of testing utilities and dependencies of
non-default plugins exercised by the test suite.) The dependencies are
listed under 'test' in ``extras_require`` in `setup.py`_.
To install the test dependencies, run ``python -m pip install .[test]``.
Or, just run a test suite with ``tox`` which will install them
automatically.
The tests have a few more dependencies than beets itself. (The additional
dependencies consist of testing utilities and dependencies of non-default
plugins exercised by the test suite.) The dependencies are listed under the
``tool.poetry.group.test.dependencies`` section in `pyproject.toml`_.
.. _setup.py: https://github.com/beetbox/beets/blob/master/setup.py
.. _pyproject.toml: https://github.com/beetbox/beets/blob/master/pyproject.toml
Writing Tests
-------------
@ -359,5 +350,5 @@ others. See `unittest.mock`_ for more info.
.. _integration test: https://github.com/beetbox/beets/actions?query=workflow%3A%22integration+tests%22
.. _unittest.mock: https://docs.python.org/3/library/unittest.mock.html
.. _documentation: https://beets.readthedocs.io/en/stable/
.. _pip: https://pip.pypa.io/en/stable/
.. _poetry: https://python-poetry.org/docs/
.. _vim: https://www.vim.org/

View file

@ -149,18 +149,19 @@ it's helpful to run on the "bleeding edge". To run the latest source:
and ``python3`` instead of ``pip`` and ``python`` respectively.
- Use ``pip`` to install the latest snapshot tarball. Type:
``pip install https://github.com/beetbox/beets/tarball/master``
- Grab the source using git. First, clone the repository:
``git clone https://github.com/beetbox/beets.git``.
Then, ``cd beets`` and ``python setup.py install``.
- Use ``pip`` to install an "editable" version of beets based on an
automatic source checkout. For example, run
``pip install -e git+https://github.com/beetbox/beets#egg=beets``
to clone beets and install it, allowing you to modify the source
in-place to try out changes.
- Combine the previous two approaches, cloning the source yourself,
and then installing in editable mode:
``git clone https://github.com/beetbox/beets.git`` then
``pip install -e beets``. This approach lets you decide where the
- Clone source code and install it in editable mode
.. code-block:: shell
git clone https://github.com/beetbox/beets.git
poetry install
This approach lets you decide where the
source is stored, with any changes immediately reflected in your
environment.

View file

@ -21,13 +21,12 @@ to run. Its source can be found on `GitHub`_, and while it is possible to
compile the extractor from source, AcousticBrainz would prefer if you used
their binary (see the AcousticBrainz `FAQ`_).
The ``absubmit`` plugin also requires `requests`_, which you can install
using `pip`_ by typing::
Then, install ``beets`` with ``absubmit`` extra
pip install requests
pip install "beets[absubmit]"
Lastly, enable the plugin in your configuration (see :ref:`using-plugins`).
After installing both the extractor binary and requests you can enable
the plugin ``absubmit`` in your configuration (see :ref:`using-plugins`).
Submitting Data
---------------

View file

@ -12,19 +12,10 @@ read the :ref:`aura-issues` section.
Install
-------
The ``aura`` plugin depends on `Flask`_, which can be installed using
``python -m pip install flask``. Then you can enable the ``aura`` plugin in
your configuration (see :ref:`using-plugins`).
To use the ``aura`` plugin, first enable it in your configuration (see
:ref:`using-plugins`). Then, install ``beets`` with ``aura`` extra
It is likely that you will need to enable :ref:`aura-cors`, which introduces
an additional dependency: `flask-cors`_. This can be installed with
``python -m pip install flask-cors``.
If `Pillow`_ is installed (``python -m pip install Pillow``) then the optional
``width`` and ``height`` attributes are included in image resource objects.
.. _flask-cors: https://flask-cors.readthedocs.io
.. _Pillow: https://pillow.readthedocs.io
pip install "beets[aura]"
Usage

View file

@ -10,13 +10,12 @@ both MusicBrainz and (to a lesser degree) `Discogs`_ show no matches.
Installation
------------
To use the ``beatport`` plugin, first enable it in your configuration (see
:ref:`using-plugins`). Then, install the `requests`_ and `requests_oauthlib`_
libraries (which we need for querying and authorizing with the Beatport API)
by typing::
:ref:`using-plugins`). Then, install ``beets`` with ``beatport`` extra
pip install requests requests_oauthlib
.. code-block:: bash
pip install "beets[beatport]"
You will also need to register for a `Beatport`_ account. The first time you
run the :ref:`import-cmd` command after enabling the plugin, it will ask you
@ -41,6 +40,4 @@ Configuration
This plugin can be configured like other metadata source plugins as described in :ref:`metadata-source-plugin-configuration`.
.. _requests: https://requests.readthedocs.io/en/master/
.. _requests_oauthlib: https://github.com/requests/requests-oauthlib
.. _Beatport: https://www.beatport.com/

View file

@ -26,6 +26,13 @@ You will also need the various GStreamer plugin packages to make everything
work. See the :doc:`/plugins/chroma` documentation for more information on
installing GStreamer plugins.
Once you have system dependencies installed, install ``beets`` with ``bpd``
extra which installs Python bindings for ``GStreamer``:
.. code-block:: console
pip install "beets[bpd]"
.. _GStreamer: https://gstreamer.freedesktop.org/download
.. _Homebrew: https://brew.sh

View file

@ -23,18 +23,23 @@ If you're willing to pay the performance cost for fingerprinting, read on!
Installing Dependencies
-----------------------
To get fingerprinting working, you'll need to install three things: the
`Chromaprint`_ library or command-line tool, an audio decoder, and the
`pyacoustid`_ Python library (version 0.6 or later).
To get fingerprinting working, you'll need to install three things:
First, install pyacoustid itself. You can do this using `pip`_, like so::
1. `pyacoustid`_ Python library (version 0.6 or later). You can install it by
installing ``beets`` with ``chroma`` extra
$ pip install pyacoustid
.. code-block:: bash
.. _pip: https://pip.pypa.io
pip install "beets[chroma]"
Then, you will need to install `Chromaprint`_, either as a dynamic library or
in the form of a command-line tool (``fpcalc``).
2. the `Chromaprint`_ library_ or |command-line-tool|_
3. an |audio-decoder|_
.. |command-line-tool| replace:: command line tool
.. |audio-decoder| replace:: audio decoder
.. _command-line-tool:
Installing the Binary Command-Line Tool
'''''''''''''''''''''''''''''''''''''''
@ -47,6 +52,8 @@ executable somewhere like ``/usr/local/bin``.
.. _download: https://acoustid.org/chromaprint
.. _library:
Installing the Library
''''''''''''''''''''''
@ -58,6 +65,11 @@ chromaprint``.
.. _Homebrew: https://brew.sh/
.. _audio-decoder:
Audio Decoder
'''''''''''''
You will also need a mechanism for decoding audio files supported by the
`audioread`_ library:

View file

@ -15,11 +15,11 @@ Installation
------------
To use the ``discogs`` plugin, first enable it in your configuration (see
:ref:`using-plugins`). Then, install the `python3-discogs-client`_ library by typing:
:ref:`using-plugins`). Then, install ``beets`` with ``discogs`` extra
.. code-block:: console
.. code-block:: bash
$ pip install python3-discogs-client
pip install "beets[discogs]"
You will also need to register for a `Discogs`_ account, and provide
authentication credentials via a personal access token or an OAuth2

View file

@ -10,10 +10,15 @@ displaying album art in some media players (iPods, for example).
Embedding Art Automatically
---------------------------
To automatically embed discovered album art into imported files, just enable
the ``embedart`` plugin (see :doc:`/plugins/index`). You'll also want to enable the
:doc:`/plugins/fetchart` to obtain the images to be embedded. Art will be
embedded after each album has its cover art set.
To use the ``embedart`` plugin, first enable it in your configuration (see
:ref:`using-plugins`). Then, install ``beets`` with ``embedart`` extra
.. code-block:: bash
pip install "beets[embedart]"
You'll also want to enable the :doc:`/plugins/fetchart` to obtain the images to
be embedded. Art will be embedded after each album has its cover art set.
This behavior can be disabled with the ``auto`` config option (see below).

View file

@ -1,9 +1,20 @@
EmbyUpdate Plugin
=================
``embyupdate`` is a plugin that lets you automatically update `Emby`_'s library whenever you change your beets library.
``embyupdate`` is a plugin that lets you automatically update `Emby`_'s library
whenever you change your beets library.
To use ``embyupdate`` plugin, enable it in your configuration (see :ref:`using-plugins`). Then, you'll want to configure the specifics of your Emby server. You can do that using an ``emby:`` section in your ``config.yaml``, which looks like this::
To use it, first enable the your configuration (see :ref:`using-plugins`).
Then, install ``beets`` with ``embyupdate`` extra
.. code-block:: bash
pip install "beets[embyupdate]"
Then, you'll want to configure the specifics of your Emby server. You can do
that using an ``emby`` section in your ``config.yaml``
.. code-block:: yaml
emby:
host: localhost
@ -11,14 +22,9 @@ To use ``embyupdate`` plugin, enable it in your configuration (see :ref:`using-p
username: user
apikey: apikey
To use the ``embyupdate`` plugin you need to install the `requests`_ library with::
pip install requests
With that all in place, you'll see beets send the "update" command to your Emby server every time you change your beets library.
.. _Emby: https://emby.media/
.. _requests: https://requests.readthedocs.io/en/master/
Configuration
-------------

View file

@ -5,13 +5,11 @@ The ``fetchart`` plugin retrieves album art images from various sources on the
Web and stores them as image files.
To use the ``fetchart`` plugin, first enable it in your configuration (see
:ref:`using-plugins`). Then, install the `requests`_ library by typing::
:ref:`using-plugins`). Then, install ``beets`` with ``fetchart`` extra
pip install requests
.. code-block:: bash
The plugin uses `requests`_ to fetch album art from the Web.
.. _requests: https://requests.readthedocs.io/en/master/
pip install "beets[fetchart]"
Fetching Album Art During Import
--------------------------------
@ -260,10 +258,6 @@ the list of sources in your configuration.
Spotify
'''''''
Spotify backend requires `BeautifulSoup`_, which you can install using `pip`_ by typing::
pip install beautifulsoup4
Spotify backend is enabled by default and will update album art if a valid Spotify album id is found.
.. _pip: https://pip.pypa.io

View file

@ -29,18 +29,21 @@ To update multiple Kodi instances, specify them as an array::
pwd: kodi2
To use the ``kodiupdate`` plugin you need to install the `requests`_ library with::
To use the ``kodiupdate`` plugin, first enable it in your configuration (see
:ref:`using-plugins`). Then, install ``beets`` with ``kodiupdate`` extra
pip install requests
.. code-block:: bash
pip install "beets[kodiupdate]"
You'll also need to enable JSON-RPC in Kodi.
You'll also need to enable JSON-RPC in Kodi in order the use the plugin.
In Kodi's interface, navigate to System/Settings/Network/Services and choose "Allow control of Kodi via HTTP."
With that all in place, you'll see beets send the "update" command to your Kodi
host every time you change your beets library.
.. _Kodi: https://kodi.tv/
.. _requests: https://requests.readthedocs.io/en/master/
Configuration
-------------

View file

@ -10,12 +10,12 @@ to your albums and items.
Installation
------------
The plugin requires `pylast`_, which you can install using `pip`_ by typing::
To use the ``lastgenre`` plugin, first enable it in your configuration (see
:ref:`using-plugins`). Then, install ``beets`` with ``lastgenre`` extra
pip install pylast
.. code-block:: bash
After you have pylast installed, enable the ``lastgenre`` plugin in your
configuration (see :ref:`using-plugins`).
pip install "beets[lastgenre]"
Usage
-----
@ -31,8 +31,6 @@ The genre list file should contain one genre per line. Blank lines are ignored.
For the curious, the default genre list is generated by a `script that scrapes
Wikipedia`_.
.. _pip: https://pip.pypa.io
.. _pylast: https://github.com/pylast/pylast
.. _script that scrapes Wikipedia: https://gist.github.com/1241307
.. _internal whitelist: https://raw.githubusercontent.com/beetbox/beets/master/beetsplug/lastgenre/genres.txt

View file

@ -11,21 +11,18 @@ with this field.
Installation
------------
The plugin requires `pylast`_, which you can install using `pip`_ by typing::
To use the ``lastimport`` plugin, first enable it in your configuration (see
:ref:`using-plugins`). Then, install ``beets`` with ``lastimport`` extra
pip install pylast
.. code-block:: bash
After you have pylast installed, enable the ``lastimport`` plugin in your
configuration (see :ref:`using-plugins`).
pip install "beets[lastimport]"
Next, add your Last.fm username to your beets configuration file::
lastfm:
user: beetsfanatic
.. _pip: https://pip.pypa.io
.. _pylast: https://github.com/pylast/pylast
Importing Play Counts
---------------------

View file

@ -13,22 +13,19 @@ and, optionally, the Google custom search API.
Fetch Lyrics During Import
--------------------------
To automatically fetch lyrics for songs you import, enable the ``lyrics``
plugin in your configuration (see :ref:`using-plugins`).
Then, install the `requests`_ library by typing::
To automatically fetch lyrics for songs you import, first enable it in your
configuration (see :ref:`using-plugins`). Then, install ``beets`` with
``lyrics`` extra
pip install requests
.. code-block:: bash
The plugin uses `requests`_ to download lyrics.
pip install "beets[lyrics]"
When importing new files, beets will now fetch lyrics for files that don't
already have them. The lyrics will be stored in the beets database. If the
``import.write`` config option is on, then the lyrics will also be written to
the files' tags.
.. _requests: https://requests.readthedocs.io/en/master/
Configuration
-------------
@ -130,12 +127,7 @@ few suggestions.
Activate Google Custom Search
------------------------------
Using the Google backend requires `BeautifulSoup`_, which you can install
using `pip`_ by typing::
pip install beautifulsoup4
You also need to `register for a Google API key`_. Set the ``google_API_key``
You need to `register for a Google API key`_. Set the ``google_API_key``
configuration option to your key.
Then add ``google`` to the list of sources in your configuration (or use
default list, which includes it as long as you have an API key).
@ -153,17 +145,11 @@ default, beets use a list of sources known to be scrapeable.
Note that the Google custom search API is limited to 100 queries per day.
After that, the lyrics plugin will fall back on other declared data sources.
.. _pip: https://pip.pypa.io
.. _BeautifulSoup: https://www.crummy.com/software/BeautifulSoup/bs4/doc/
Activate Genius and Tekstowo.pl Lyrics
--------------------------------------
Using the Genius or Tekstowo.pl backends requires `BeautifulSoup`_, which
you can install using `pip`_ by typing::
pip install beautifulsoup4
These backends are enabled by default.
.. _lyrics-translation:
@ -171,16 +157,10 @@ These backends are enabled by default.
Activate On-the-Fly Translation
-------------------------------
Using the Bing Translation API requires `langdetect`_, which you can install
using `pip`_ by typing::
pip install langdetect
You also need to register for a Microsoft Azure Marketplace free account and
You need to register for a Microsoft Azure Marketplace free account and
to the `Microsoft Translator API`_. Follow the four steps process, specifically
at step 3 enter ``beets`` as *Client ID* and copy/paste the generated
*Client secret* into your ``bing_client_secret`` configuration, alongside
``bing_lang_to`` target `language code`.
.. _langdetect: https://pypi.python.org/pypi/langdetect
.. _Microsoft Translator API: https://docs.microsoft.com/en-us/azure/cognitive-services/translator/translator-how-to-signup

View file

@ -19,8 +19,12 @@ Installation
Enable the ``metasync`` plugin in your configuration (see
:ref:`using-plugins`).
To synchronize with Amarok, you'll need the `dbus-python`_ library. There are
packages for most major Linux distributions.
To synchronize with Amarok, you'll need the `dbus-python`_ library. In such
case, install ``beets`` with ``metasync`` extra
.. code-block:: bash
pip install "beets[metasync]"
.. _dbus-python: https://dbus.freedesktop.org/releases/dbus-python/

View file

@ -21,13 +21,10 @@ Installing Dependencies
This plugin requires the python-mpd2 library in order to talk to the MPD
server.
Install the library from `pip`_, like so::
To use the ``mpdstats`` plugin, first enable it in your configuration (see
:ref:`using-plugins`). Then, install ``beets`` with ``mpdstats`` extra
$ pip install python-mpd2
Add the ``mpdstats`` plugin to your configuration (see :ref:`using-plugins`).
.. _pip: https://pip.pypa.io
pip install "beets[mpdstats]"
Usage
-----

View file

@ -4,11 +4,15 @@ PlexUpdate Plugin
``plexupdate`` is a very simple plugin for beets that lets you automatically
update `Plex`_'s music library whenever you change your beets library.
To use ``plexupdate`` plugin, enable it in your configuration
(see :ref:`using-plugins`).
Then, you'll probably want to configure the specifics of your Plex server.
You can do that using an ``plex:`` section in your ``config.yaml``,
which looks like this:
Firstly, install ``beets`` with ``plexupdate`` extra
.. code-block:: console
pip install "beets[plexupdate]"
Then, enable ``plexupdate`` plugin it in your configuration (see :ref:`using-plugins`).
Optionally, configure the specifics of your Plex server. You can do this using
a ``plex:`` section in your ``config.yaml``:
.. code-block:: yaml
@ -19,17 +23,10 @@ which looks like this:
The ``token`` key is optional: you'll need to use it when in a Plex Home (see Plex's own `documentation about tokens`_).
To use the ``plexupdate`` plugin you need to install the `requests`_ library with:
.. code-block:: console
$ pip install beets[plexupdate]
With that all in place, you'll see beets send the "update" command to your Plex
server every time you change your beets library.
.. _Plex: https://plex.tv/
.. _requests: https://requests.readthedocs.io/en/master/
.. _documentation about tokens: https://support.plex.tv/hc/en-us/articles/204059436-Finding-your-account-token-X-Plex-Token
Configuration
@ -48,4 +45,4 @@ The available options under the ``plex:`` section are:
- **secure**: Use secure connections to the Plex server.
Default: ``False``
- **ignore_cert_errors**: Ignore TLS certificate errors when using secure connections.
Default: ``False``
Default: ``False``

View file

@ -33,8 +33,16 @@ You will need at least GStreamer 1.0 and `PyGObject 3.x`_ (a.k.a. ``python-gi``)
.. _PyGObject 3.x: https://pygobject.readthedocs.io/en/latest/
.. _GStreamer: https://gstreamer.freedesktop.org/
Then, enable the ``replaygain`` plugin (see :ref:`using-plugins`) and specify
the GStreamer backend by adding this to your configuration file::
Then, install ``beets`` with ``replaygain`` extra which installs
``GStreamer`` bindings for Python
.. code-block:: bash
pip install "beets[replaygain]"
Lastly, enable the ``replaygain`` plugin in your configuration (see
:ref:`using-plugins`) and specify the GStreamer backend by adding this to your
configuration file::
replaygain:
backend: gstreamer

View file

@ -10,11 +10,17 @@ also provides a command that lets you manually remove files' tags.
Automatic Scrubbing
-------------------
To automatically remove files' tags before writing new ones, just
enable the ``scrub`` plugin (see :ref:`using-plugins`). When importing new files (with
``import.write`` turned on) or modifying files' tags with the ``beet modify``
command, beets will first strip all types of tags entirely and then write the
database-tracked metadata to the file.
To automatically remove files' tags before writing new ones, enable ``scrub``
plugin in your configuration (see :ref:`using-plugins`) and install ``beets``
with ``scrub`` extra
.. code-block:: bash
pip install "beets[scrub]"
When importing new files (with ``import.write`` turned on) or modifying files'
tags with the ``beet modify`` command, beets will first strip all types of tags
entirely and then write the database-tracked metadata to the file.
This behavior can be disabled with the ``auto`` config option (see below).

View file

@ -7,12 +7,12 @@ library whenever you change your beets library.
To use ``sonosupdate`` plugin, enable it in your configuration
(see :ref:`using-plugins`).
To use the ``sonosupdate`` plugin you need to install the `soco`_ library with::
To use the ``sonosupdate`` plugin, first enable it in your configuration (see
:ref:`using-plugins`). Then, install ``beets`` with ``sonosupdate`` extra
pip install soco
pip install "beets[sonosupdate]"
With that all in place, you'll see beets send the "update" command to your Sonos
controller every time you change your beets library.
.. _Sonos: https://sonos.com/
.. _soco: http://python-soco.com

View file

@ -5,11 +5,15 @@ The ``thumbnails`` plugin creates thumbnails for your album folders with the
album cover. This works on freedesktop.org-compliant file managers such as
Nautilus or Thunar, and is therefore POSIX-only.
To use the ``thumbnails`` plugin, enable it (see :doc:`/plugins/index`) as well
as the :doc:`/plugins/fetchart`. You'll need 2 additional python packages:
:pypi:`pyxdg` and :pypi:`pathlib`.
To use the ``thumbnails`` plugin, enable ``thumbnails`` and
:doc:`/plugins/fetchart` in your configuration (see :ref:`using-plugins`) and
install ``beets`` with ``thumbnails`` and ``fetchart`` extras
``thumbnails`` needs to resize the covers, and therefore requires either
.. code-block:: bash
pip install "beets[fetchart,thumbnails]"
``thumbnails`` need to resize the covers, and therefore requires either
`ImageMagick`_ or `Pillow`_.
.. _Pillow: https://github.com/python-pillow/Pillow

View file

@ -15,16 +15,12 @@ drastically increase the number of people who can use beets.
Install
-------
The Web interface depends on `Flask`_. To get it, just run ``pip install
flask``. Then enable the ``web`` plugin in your configuration (see
:ref:`using-plugins`).
To use the ``web`` plugin, first enable it in your configuration (see
:ref:`using-plugins`). Then, install ``beets`` with ``web`` extra
If you need CORS (it's disabled by default---see :ref:`web-cors`, below), then
you also need `flask-cors`_. Just type ``pip install flask-cors``.
.. _flask-cors: https://github.com/CoryDolphin/flask-cors
.. _CORS: https://en.wikipedia.org/wiki/Cross-origin_resource_sharing
.. code-block:: bash
pip install "beets[web]"
Run the Server
--------------
@ -101,8 +97,7 @@ server as the API. (You will get an arcane error about ``XMLHttpRequest``
otherwise.) A technology called `CORS`_ lets you relax this restriction.
If you want to use an in-browser client hosted elsewhere (or running from a
different server on your machine), first install the `flask-cors`_ plugin by
typing ``pip install flask-cors``. Then set the ``cors`` configuration option to
different server on your machine), set the ``cors`` configuration option to
the "origin" (protocol, host, and optional port number) where the client is
served. Or set it to ``'*'`` to enable access from all origins. Note that there
are security implications if you set the origin to ``'*'``, so please research
@ -118,6 +113,7 @@ For example::
host: 0.0.0.0
cors: 'http://example.com'
.. _CORS: https://en.wikipedia.org/wiki/Cross-origin_resource_sharing
.. _reverse-proxy:
Reverse Proxy Support

5
poetry.lock generated
View file

@ -2602,13 +2602,14 @@ files = [
[extras]
absubmit = ["requests"]
aura = ["Pillow", "flask", "flask-cors"]
beatport = ["requests-oauthlib"]
bpd = ["PyGObject"]
chroma = ["pyacoustid"]
discogs = ["python3-discogs-client"]
embedart = ["Pillow"]
embyupdate = ["requests"]
fetchart = ["Pillow", "beautifulsoup4", "requests"]
fetchart = ["Pillow", "beautifulsoup4", "langdetect", "requests"]
import = ["py7zr", "rarfile"]
kodiupdate = ["requests"]
lastgenre = ["pylast"]
@ -2627,4 +2628,4 @@ web = ["flask", "flask-cors"]
[metadata]
lock-version = "2.0"
python-versions = ">=3.8,<4"
content-hash = "3c37973d479d97cb7cb4ca195fe15ede03577e4c91a88a939769aa7924ca2d3c"
content-hash = "697ebfc73bb20e4bf4ee41f639847212384102601d94b0231374f41e6932e5bd"

View file

@ -105,6 +105,7 @@ sphinx = "*"
[tool.poetry.extras]
# inline comments note required external / non-python dependencies
absubmit = ["requests"] # extractor binary from https://acousticbrainz.org/download
aura = ["flask", "flask-cors", "Pillow"]
# badfiles # mp3val and flac
beatport = ["requests-oauthlib"]
bpd = ["PyGObject"] # python-gi and GStreamer 1.0+
@ -113,7 +114,7 @@ chroma = ["pyacoustid"] # chromaprint or fpcalc
discogs = ["python3-discogs-client"]
embedart = ["Pillow"] # ImageMagick
embyupdate = ["requests"]
fetchart = ["beautifulsoup4", "Pillow", "requests"]
fetchart = ["beautifulsoup4", "langdetect", "Pillow", "requests"]
import = ["py7zr", "rarfile"]
# ipfs # go-ipfs
# keyfinder # KeyFinder