confuse>=1.5.0
jellyfish
mediafile>=0.12.0
munkres>=1.0.0
musicbrainzngs>=0.4
pyyaml
typing_extensions
unidecode>=1.3.6

[absubmit]
requests

[beatport]
requests-oauthlib>=0.6.1

[bpd]
PyGObject

[chroma]
pyacoustid

[discogs]
python3-discogs-client>=2.3.15

[docs]
pydata_sphinx_theme
sphinx

[embedart]
Pillow

[embyupdate]
requests

[fetchart]
requests
Pillow
beautifulsoup4

[import]
rarfile
py7zr

[kodiupdate]
requests

[lastgenre]
pylast

[lastimport]
pylast

[lint]
flake8
flake8-docstrings
pep8-naming

[lyrics]
requests
beautifulsoup4
langdetect

[metasync]
dbus-python

[mpdstats]
python-mpd2>=0.4.2

[mypy]
mypy
types-beautifulsoup4
types-Flask-Cors
types-Pillow
types-PyYAML
types-requests
types-urllib3

[plexupdate]
requests

[reflink]
reflink

[replaygain]
PyGObject

[scrub]
mutagen>=1.33

[sonosupdate]
soco

[test]
beautifulsoup4
flask
mock
pylast
pytest
pytest-cov
python-mpd2
python3-discogs-client>=2.3.15
py7zr
pyxdg
rarfile
reflink
requests_oauthlib
responses>=0.3.0

[thumbnails]
pyxdg
Pillow

[web]
flask
flask-cors
