[build-system] requires = ["maturin>=0.14,<0.15"] build-backend = "maturin" [project] name = "pyargus" requires-python = ">=3.7" 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", ] [tool.maturin] features = ["pyo3/extension-module"] module-name = "argus._argus" [tool.pyright] include = ["argus/", "examples/"] [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 src_paths = ["argus", "examples/"] 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