krz/nba-scores

clone: git clone https://gitbay.org/krz/nba-scores.git

main: pyproject.toml · raw

 1[project]
 2name = "nba-scores"
 3version = "0.2.3"
 4authors = [
 5  { name="Christian Cleberg", email="hello@cleberg.net" },
 6]
 7description = "A CLI interface to get current NBA scores and standings."
 8readme = "README.md"
 9requires-python = ">=3.9"
10license = "GPL-3.0-or-later"
11classifiers = [
12    "Programming Language :: Python :: 3",
13    "Operating System :: OS Independent",
14]
15dependencies = [
16    "nba_api",
17    "tabulate",
18    "argparse",
19    "textual>=0.89.1,<7.0"
20]
21
22[project.urls]
23Homepage = "https://git.cleberg.net/nba-scores.git"
24Issues = "https://git.cleberg.net/nba-scores.git"
25
26[project.scripts]
27nba = "nba.cli:nba"
28
29[build-system]
30requires = ["setuptools>=68"]
31build-backend = "setuptools.build_meta"
32
33[tool.uv]
34package = true
35
36[tool.setuptools.packages.find]
37where = ["."]
38include = ["nba*"]
39
40[tool.setuptools.package-data]
41"nba.tui" = ["*.tcss"]
42
43[tool.ruff.lint]
44# ruff's defaults widen with each release, and the workflow installs whatever is
45# newest — which is how this repo went from green in May to sixteen findings in
46# August without a line of its own code changing. The rules below are the two
47# that fight the code rather than improve it; everything else ruff flags is
48# treated as worth fixing.
49ignore = [
50  # Blind `except Exception`. Deliberate here: a duration parser that falls back
51  # to the raw string, and TUI handlers that render "Error loading …" instead of
52  # taking the whole app down. Narrowing them would make the app crash on the
53  # cases they exist to absorb.
54  "BLE001",
55]
56
57[tool.ruff.lint.per-file-ignores]
58# Textual's compose() nests `with` blocks because the nesting *is* the widget
59# tree. Collapsing them into a single `with A, B:` would flatten a hierarchy
60# that is meant to be read as one.
61"nba/tui/app.py" = ["SIM117"]