[project] name = "musicmuster" version = "4.1.10" description = "Music player for internet radio" authors = [{ name = "Keith Edmunds", email = "kae@midnighthax.com" }] requires-python = ">=3.13,<4" readme = "README.md" dependencies = [ "alchemical>=1.0.2", "alembic>=1.14.0", "colorlog>=6.9.0", "fuzzywuzzy>=0.18.0", "mutagen>=1.47.0", "mysqlclient>=2.2.5", "obs-websocket-py>=1.0", "psutil>=6.1.0", "pydub>=0.25.1", "pydymenu>=0.5.2", "pyfzf>=0.3.1", "pygame>=2.6.1", "pyqt6>=6.7.1", "pyqt6-webengine>=6.7.0", "pyqtgraph>=0.13.3", "python-levenshtein>=0.26.1", "python-slugify>=8.0.4", "python-vlc>=3.0.21203", "SQLAlchemy>=2.0.36", "stackprinter>=0.2.10", "tinytag>=1.10.1", "types-psutil>=6.0.0.20240621", "pyyaml (>=6.0.2,<7.0.0)", "audioop-lts>=0.2.1", "types-pyyaml>=6.0.12.20241230", "dogpile-cache>=1.3.4", "pdbpp>=0.10.3", "filetype>=1.2.0", "black>=25.1.0", "slugify>=0.0.1", ] [dependency-groups] dev = [ "flakehell>=0.9.0,<0.10", "ipdb>=0.13.9,<0.14", "line-profiler>=4.2.0,<5", "mypy>=1.15.0,<2", "pudb", "pydub-stubs>=0.25.1,<0.26", "pytest>=8.3.4,<9", "pytest-qt>=4.4.0,<5", "black>=25.1.0,<26", "pytest-cov>=6.0.0,<7", ] [tool.uv] package = false [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.mypy] mypy_path = "/home/kae/git/musicmuster/app" explicit_package_bases = true python_version = 3.11 warn_unused_configs = true disallow_incomplete_defs = true [tool.pylsp.plugins.pycodestyle] maxLineLength = 88 [tool.pytest.ini_options] addopts = "--exitfirst --showlocals --capture=no" pythonpath = [".", "app"] filterwarnings = ["ignore:'audioop' is deprecated", "ignore:pkg_resources"] [tool.vulture] exclude = ["migrations", "app/ui", "archive"] paths = ["app"] make_whitelist = true