105 lines
2.2 KiB
TOML
105 lines
2.2 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",
|
|
"xdg-base-dirs>=6.0.1",
|
|
"pytomlpp>=1.0.13",
|
|
"apischema>=0.18.1",
|
|
"yarl>=1.9.4",
|
|
]
|
|
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'
|
|
|
|
[build-system]
|
|
requires = ["pdm-backend"]
|
|
build-backend = "pdm.backend"
|
|
|
|
[tool.mypy]
|
|
mypy_path = 'stubs'
|
|
|
|
[tool.ruff.lint]
|
|
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"
|
|
|
|
[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'], keep_going = true}
|
|
|
|
[tool.pdm.version]
|
|
source = "scm"
|
|
write_to = 'mpd_now_playable/__version__.py'
|
|
write_template = "__version__ = '{}'"
|
|
|
|
[tool.pdm.build]
|
|
excludes = ["**/.mypy_cache"]
|
|
|
|
[tool.pdm.dev-dependencies]
|
|
dev = [
|
|
"mypy>=1.7.1",
|
|
"ruff>=0.1.6",
|
|
"class-doc>=0.2.6",
|
|
]
|
|
|
|
|