83 lines
2.4 KiB
TOML
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"
|