Files
beefy-player/pyproject.toml
T

68 lines
2.0 KiB
TOML

[project]
name = "beefy-player"
version = "1.2.0"
description = "A flashy terminal player for internet radio — live spectrum analyser, MPRIS / macOS Now Playing support, song history and pluggable station catalogues (SomaFM, Radio Paradise, dublab, Rinse FM and more)"
readme = "README.md"
license = "WTFPL"
license-files = ["LICENSE"]
requires-python = ">=3.10"
authors = [{ name = "beefy-player contributors" }]
keywords = ["radio", "internet-radio", "tui", "terminal", "mpris", "audio", "somafm", "tilderadio", "bassdrive", "radioparadise", "radiobrowser", "dublab"]
classifiers = [
"Environment :: Console",
"Intended Audience :: End Users/Desktop",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Topic :: Multimedia :: Sound/Audio",
"Operating System :: POSIX :: Linux",
"Operating System :: MacOS",
"Environment :: MacOS X",
]
dependencies = [
"textual>=8.0,<9",
"rich>=14.2",
"httpx>=0.27",
"numpy>=2.0",
"pillow>=10.0",
"dbus-next>=0.2.3; sys_platform == 'linux'",
]
[project.scripts]
beefy-player = "beefy_player.__main__:main"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["beefy_player"]
[tool.hatch.build.targets.wheel.force-include]
"beefy_player/theme.tcss" = "beefy_player/theme.tcss"
[dependency-groups]
dev = [
"pytest>=8.0",
"pytest-asyncio>=0.24",
]
[tool.pytest.ini_options]
asyncio_mode = "auto"
testpaths = ["tests"]
[tool.ruff]
target-version = "py310"
line-length = 100
extend-exclude = ["dist", ".venv", "build"]
[tool.ruff.lint]
select = ["E4", "E7", "E9", "F", "I", "UP", "B", "SIM", "RUF"]
ignore = ["RUF001"] # en/em dashes are part of real station metadata
# dbus-next needs short signature strings ("s", "a{sv}", "x", …) in
# annotations; they are not Python names.
[tool.ruff.lint.per-file-ignores]
"beefy_player/mpris.py" = ["F821", "F722", "UP037"]