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"]