60 lines
1.6 KiB
TOML
60 lines
1.6 KiB
TOML
[build-system]
|
|
requires = ["setuptools>=68"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "FastenGen"
|
|
version = "0.2.0"
|
|
description = "Генератор параметрического крепёжа с каталогом и STEP-библиотекой (self-contained, без КОМПАСА)"
|
|
readme = "README.md"
|
|
requires-python = ">=3.10"
|
|
license = "MIT"
|
|
license-files = ["LICENSE*"]
|
|
dependencies = [
|
|
"cadquery>=2.4",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
dev = ["pytest>=8.0"]
|
|
|
|
[project.scripts]
|
|
fastengen = "fastengen.cli:main"
|
|
fasten-gen = "fastengen.cli:main"
|
|
|
|
[tool.setuptools.packages.find]
|
|
where = ["src"]
|
|
|
|
[tool.pytest.ini_options]
|
|
testpaths = ["tests"]
|
|
addopts = "-q"
|
|
|
|
[tool.coverage.run]
|
|
source = ["fastengen"]
|
|
omit = ["src/fastengen/gui.py"]
|
|
|
|
[tool.ruff]
|
|
line-length = 100
|
|
target-version = "py310"
|
|
|
|
[tool.ruff.lint]
|
|
select = [
|
|
"E", # pycodestyle errors
|
|
"W", # pycodestyle warnings
|
|
"F", # pyflakes (unused imports/vars)
|
|
"I", # isort
|
|
"B", # flake8-bugbear (only safe ones)
|
|
"RUF", # ruff-specific
|
|
]
|
|
ignore = [
|
|
"BLE001", # blind-except: CAD geometry code catches broad Exception by design
|
|
"B008", # function call in default arg (argparse defaults)
|
|
"E501", # line too long: Russian docstrings/help strings + GOST literals
|
|
"RUF001", # ambiguous Cyrillic in strings (intentional, ГОСТ designators)
|
|
"RUF002", # ambiguous Cyrillic in docstrings
|
|
"RUF003", # ambiguous Cyrillic in comments
|
|
"RUF100", # unused noqa directives (we use them intentionally)
|
|
]
|
|
|
|
[tool.ruff.lint.per-file-ignores]
|
|
tests = ["F841"] # unused locals in tests are acceptable (assert scaffolding)
|