mpd-now-playable/pyproject.toml

66 lines
1.3 KiB
TOML

[project]
name = "mpd-now-playable"
version = "0.0.1"
description = "Expose your MPD server as a 'now playable' app on MacOS"
authors = [
{name = "Danielle McLean", email = "dani@00dani.me"},
]
dependencies = [
"async-lru>=2.0.4",
"attrs>=23.1.0",
"pyobjc-framework-MediaPlayer>=10.0",
"python-mpd2>=3.1.0",
]
requires-python = ">=3.12"
readme = "README.md"
license = {text = "MIT"}
[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.dev-dependencies]
dev = [
"mypy>=1.7.1",
"ruff>=0.1.6",
]
[tool.mypy]
mypy_path = 'typings'
[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"