llamacppctl/pyproject.toml
dschlueter 9d47424fc1 chore(ci): add ruff and mypy, wire them into CI
Back the shipped py.typed promise with an enforced type check and a linter:

- Add ruff + mypy (+ types-requests) to the dev extras and dev requirements,
  with [tool.ruff]/[tool.mypy] config in pyproject.toml (mypy checks the
  package, not the tests).
- Add a lint job to the Forgejo workflow running ruff check + mypy.
- Fix the issues this surfaced: type FileLock.fd as TextIO | None, add a
  targeted type: ignore for the intentional socket.getaddrinfo monkeypatch,
  and drop an unused import.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-07 10:29:07 +02:00

42 lines
898 B
TOML

[build-system]
requires = ["setuptools>=68", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "llamacppctl"
version = "0.1.0"
description = "CLI to start, check, stop, and switch llama.cpp Docker server instances with a security-hardened prompt input layer."
readme = "README.md"
requires-python = ">=3.10"
license = { text = "MIT" }
authors = [{ name = "Dieter Schlueter" }]
dependencies = [
"requests>=2.31,<3",
]
[project.optional-dependencies]
dev = [
"pytest>=7.4",
"ruff>=0.6",
"mypy>=1.11",
"types-requests",
]
[project.scripts]
llamacppctl = "llamacppctl.main:main"
[tool.setuptools.packages.find]
where = ["src"]
[tool.setuptools.package-data]
llamacppctl = ["py.typed"]
[tool.ruff]
target-version = "py310"
line-length = 100
[tool.mypy]
python_version = "3.10"
files = ["src/llamacppctl"]
warn_unused_ignores = true
warn_redundant_casts = true