Files
2026-07-13 12:12:21 +08:00

83 lines
2.4 KiB
TOML

[project]
name = "llmfit"
dynamic = ["version", "license-expression"]
license-files = ["LICENSE"]
description = "Hundreds of models & providers. One command to find what runs on your hardware."
authors = [
{ name = "Alex Jones", email = "alexsimonjones@gmail.com" }
]
readme = "../README.md"
requires-python = ">=3.8"
keywords = ["llm", "cli", "machine-learning", "model-management"]
classifiers = [
"Programming Language :: Python :: 3",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
]
[project.urls]
Homepage = "https://github.com/AlexsJones/llmfit"
"Bug Tracker" = "https://github.com/AlexsJones/llmfit/issues"
[build-system]
requires = ["hatchling", "packaging", "tomli"]
build-backend = "hatchling.build"
[tool.hatch.metadata.hooks.custom]
path = "hatch_build.py"
[tool.hatch.build.hooks.custom]
path = "hatch_build.py"
[dependency-groups]
dev = [
"hatchling",
"ipython>=8.12.3",
"pytest>=8",
"ruff>=0.15.8",
"tomli",
"ty>=0.0.27",
]
[tool.pytest.ini_options]
testpaths = ["tests"]
markers = [
"rust_integration: marks tests that exercise the compiled Rust binary (run when Rust code changes)",
]
[tool.ruff]
line-length = 120
[tool.ruff.lint]
select = ["ALL"]
ignore = [
"E501", # Handled by ruff format (line-too-long)
"D100", # Missing docstring in public module
"D104", # Missing docstring in public package
"D203", # Conflicts with D211
"D212", # Conflicts with D213 (code uses second-line summary style)
"S603", # Gave too many false positives with safe uses of subprocess.run
"COM812", # This rule is redundant when using the formatter, which enforces trailing commas
"TD002", # Don't need author info on todo items
"TD003", # Don't need issues links on todo items
]
[tool.ruff.lint.per-file-ignores]
"hatch_build.py" = [
"INP001", # Standalone build script, not a package module
"T201", # Calls to print() are intentional in our build hooks
"TRY003", # Inline exception messages are fine in a build utility
"EM101", # In-line exception messages fine in a build utility
"EM102", # Same as EM101, but with f-strings
]
"tests/*" = [
"S101", # Assert statements are allowed in tests
"INP001", # No __init__.py needed in tests/
"PLR2004", # Magic values are fine in tests
]
[tool.ruff.lint.pydocstyle]
convention = "numpy"
[tool.ty.environment]
python-version = "3.8"