83 lines
1.9 KiB
TOML
83 lines
1.9 KiB
TOML
[tool.poetry]
|
||
name = "ruwiki-schoolnotes"
|
||
version = "1.0.0"
|
||
description = "Конвейер для упрощения статей RuWiki с помощью LLM"
|
||
authors = ["Leon K. <leonkl32@gmail.com>"]
|
||
readme = "README.md"
|
||
packages = [{include = "src"}]
|
||
|
||
[tool.poetry.dependencies]
|
||
python = "^3.10"
|
||
anyio = "^4.2.0"
|
||
aiohttp = "^3.9.0"
|
||
aiosqlite = "^0.19.0"
|
||
sqlmodel = "^0.0.14"
|
||
openai = "^1.13.0"
|
||
tiktoken = "^0.5.2"
|
||
mwclient = "^0.10.1"
|
||
pydantic = "^2.5.0"
|
||
pydantic-settings = "^2.1.0"
|
||
structlog = "^23.2.0"
|
||
tenacity = "^8.2.3"
|
||
click = "^8.1.7"
|
||
|
||
[tool.poetry.group.dev.dependencies]
|
||
black = "^23.12.0"
|
||
ruff = "^0.1.8"
|
||
mypy = "^1.8.0"
|
||
pytest = "^7.4.3"
|
||
pytest-asyncio = "^0.21.1"
|
||
pytest-cov = "^4.1.0"
|
||
pytest-vcr = "^1.0.2"
|
||
bandit = "^1.7.5"
|
||
pip-audit = "^2.6.2"
|
||
|
||
[tool.poetry.scripts]
|
||
schoolnotes = "src.cli:main"
|
||
|
||
[build-system]
|
||
requires = ["poetry-core"]
|
||
build-backend = "poetry.core.masonry.api"
|
||
|
||
[tool.black]
|
||
line-length = 100
|
||
target-version = ['py310']
|
||
|
||
[tool.ruff]
|
||
target-version = "py310"
|
||
line-length = 100
|
||
select = ["ALL"]
|
||
ignore = [
|
||
"D100", "D101", "D102", "D103", "D104", "D105", "D106", "D107", # missing docstrings
|
||
"ANN101", "ANN102", # missing type annotation for self/cls
|
||
"COM812", "ISC001", # incompatible with black
|
||
]
|
||
|
||
[tool.ruff.per-file-ignores]
|
||
"tests/*" = ["S101", "PLR2004", "ANN"] # allow assert, magic values, no annotations
|
||
|
||
[tool.mypy]
|
||
python_version = "3.10"
|
||
strict = true
|
||
warn_return_any = true
|
||
warn_unused_configs = true
|
||
disallow_untyped_defs = true
|
||
disallow_incomplete_defs = true
|
||
check_untyped_defs = true
|
||
disallow_untyped_decorators = true
|
||
|
||
[tool.pytest.ini_options]
|
||
asyncio_mode = "auto"
|
||
testpaths = ["tests"]
|
||
python_files = ["test_*.py"]
|
||
python_classes = ["Test*"]
|
||
python_functions = ["test_*"]
|
||
addopts = "--cov=src --cov-report=html --cov-report=term-missing --cov-fail-under=80"
|
||
|
||
[tool.coverage.run]
|
||
source = ["src"]
|
||
omit = ["tests/*"]
|
||
|
||
[tool.bandit]
|
||
exclude_dirs = ["tests"]
|
||
skips = ["B101"] |