llm-chat/pyproject.toml

72 lines
1.6 KiB
TOML

[tool.poetry]
name = "llm-chat"
version = "1.1.0"
description = "A general CLI interface for large language models."
authors = ["Paul Harrison <paul@harrison.sh>"]
readme = "README.md"
packages = [{include = "llm_chat", from = "src"}]
[tool.poetry.dependencies]
python = ">=3.11,<3.12"
openai = "^1.9"
pydantic = "^2.5.3"
pydantic-settings = "^2.0.2"
typer = {extras = ["all"], version = "^0.9.0"}
prompt-toolkit = "^3.0.39"
[tool.poetry.group.test.dependencies]
pytest = "^7.4.0"
black = "^23.7.0"
isort = "^5.12.0"
ruff = "^0.0.284"
mypy = "^1.5.0"
pydocstyle = "^6.3.0"
types-attrs = "^19.1.0"
[tool.poetry.scripts]
llm = "llm_chat.cli:app"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
[tool.black]
line-length = 88
target-version = ['py311']
include = '\.pyi?$'
[tool.isort]
multi_line_output = 3
profile = "black"
src_paths = ["src", "tests"]
[tool.mypy]
python_version = "3.11"
disallow_untyped_calls = false
pretty = true
show_error_codes = true
strict = true
warn_unreachable = true
[tool.pydocstyle]
ignore = "D100,D104,D107,D203,D213,D406,D407,D413"
[tool.pytest.ini_options]
addopts = ["--verbose"]
pythonpath = ["src"]
testpaths = ["tests"]
[tool.ruff]
exclude = [
".git",
".ruff_cache",
".vscode",
]
fixable = ["A", "B", "C", "D", "E", "F", "G", "I", "N", "Q", "S", "T", "W", "ANN", "ARG", "BLE", "COM", "DJ", "DTZ", "EM", "ERA", "EXE", "FBT", "ICN", "INP", "ISC", "NPY", "PD", "PGH", "PIE", "PL", "PT", "PTH", "PYI", "RET", "RSE", "RUF", "SIM", "SLF", "TCH", "TID", "TRY", "UP", "YTT"]
line-length = 88
select = ["E", "F"]
target-version = "py311"
[tool.ruff.mccabe]
max-complexity = 10