mpd-now-playable/pyproject.toml

88 lines
1.9 KiB
TOML

[project]
name = "mpd-now-playable"
dynamic = ["version"]
description = "Expose your MPD server as a 'now playable' app on MacOS"
authors = [
{name = "Danielle McLean", email = "dani@00dani.me"},
]
dependencies = [
"aiocache>=0.12.2",
"attrs>=23.1.0",
"pyobjc-framework-MediaPlayer>=10.0",
"python-mpd2>=3.1.0",
]
readme = "README.md"
requires-python = ">=3.12"
license = {text = "MIT"}
classifiers = [
"Environment :: No Input/Output (Daemon)",
"License :: OSI Approved :: MIT License",
"Operating System :: MacOS :: MacOS X",
"Programming Language :: Python :: 3.12",
"Topic :: Multimedia :: Sound/Audio :: Players",
]
[project.urls]
Homepage = "https://git.00dani.me/00dani/mpd-now-playable"
Issues = "https://git.00dani.me/00dani/mpd-now-playable/issues"
[project.scripts]
mpd-now-playable = 'mpd_now_playable.cli:main'
[tool.pdm.scripts]
start = {call = 'mpd_now_playable.cli:main'}
lint = 'ruff check src/mpd_now_playable'
typecheck = 'mypy -p mpd_now_playable'
check = {composite = ['lint', 'typecheck']}
[tool.pdm.version]
source = "scm"
[build-system]
requires = ["pdm-backend"]
build-backend = "pdm.backend"
[tool.pdm.build]
excludes = ["**/.mypy_cache"]
[tool.pdm.dev-dependencies]
dev = [
"mypy>=1.7.1",
"ruff>=0.1.6",
]
[tool.mypy]
mypy_path = 'stubs'
[tool.ruff]
ignore-init-module-imports = true
select = [
# pycodestyle
"E4", # import
"E7", # statement
"E9", # runtime
# flake8
"F", # standard flake8 rules
"A", # flake8-builtins
"ANN", # flake8-annotations
"ASYNC", # flake8-async
"B", # flake8-bugbear
"S", # flake8-bandit
"INP", # flake8-no-pep420
# isort
"I",
# mccabe
"C90",
]
ignore = [
"ANN101", # missing-type-self
]
[tool.ruff.lint.flake8-annotations]
mypy-init-return = true
[tool.ruff.format]
# I prefer tabs for accessibility reasons.
indent-style = "tab"