argus/pyargus/pyproject.toml
2023-08-30 16:02:37 -07:00

97 lines
2 KiB
TOML

[project]
name = "pyargus"
version = "0.1.0"
requires-python = ">=3.8"
classifiers = [
"Programming Language :: Rust",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",
]
[project.optional-dependencies]
dev = [
# Type check
"mypy",
# Lint code
"Flake8-pyproject",
"ruff",
# Find likely bugs
"flake8-bugbear",
# Sort imports
"isort",
# Reformat
"black",
]
test = ["pytest", "pytest-cov", "hypothesis"]
[build-system]
requires = ["maturin>=1.0,<2.0"]
build-backend = "maturin"
[tool.maturin]
features = ["pyo3/extension-module"]
module-name = "argus._argus"
[tool.pytest.ini_options]
addopts = ["--import-mode=importlib"]
[tool.mypy]
# ignore_missing_imports = true
show_error_codes = true
[tool.ruff]
line-length = 127
select = ["E", "F", "W", "N"]
ignore = ["F403"]
[tool.flake8]
# line breaks before and after binary operators
# ignore explicit stack level
ignore = ["W503", "W504", "E203", "E231", "C901", "F403"]
# Ignore import not used when aliases are defined
exclude = [
# No need to traverse our git directory
".git/",
# There's no value in checking cache directories
"__pycache__/",
# Don't check the doc
"docs/",
# This contains our built documentation
"build/",
# This contains builds of flake8 that we don't want to check
"dist/",
"*.egg-info",
# Artifacts generated by linters and type checkers
".mypy_cache/",
".ruff_cache/",
]
max-complexity = 10
max-line-length = 127
[tool.isort]
profile = "black"
line_length = 127
skip_gitignore = false
group_by_package = true
extend_skip = [
# No need to traverse our git directory
".git/",
# There's no value in checking cache directories
"__pycache__/",
# Don't check the doc
"docs/",
# This contains our built documentation
"build/",
# This contains builds of flake8 that we don't want to check
"dist/",
"*.egg-info",
# Artifacts generated by linters and type checkers
".mypy_cache/",
".ruff_cache/",
]
[tool.black]
line-length = 127