97 lines
2.1 KiB
TOML
97 lines
2.1 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.optional-dependencies]
|
|
redis = ["aiocache[redis]"]
|
|
memcached = ["aiocache[memcached]"]
|
|
msgpack = [
|
|
"ormsgpack>=1.5.0",
|
|
]
|
|
all = [
|
|
"mpd-now-playable[redis,memcached,msgpack]",
|
|
]
|
|
|
|
[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"
|