[project] name = "bsv" authors = [ {name="Simon Boyé", email="sim.boye@gmail.com"}, ] description = "Backup, Synchronization, Versioning." readme = "README.md" # Might relax this in the future, but requires testing requires-python = ">=3.11" classifiers = [ # TODO ] dynamic = ["version"] dependencies = [ "click", "fastcdc", "rich", "tomlkit", "typing-extensions" ] [project.optional-dependencies] dev = [ "hypothesis", "pytest", "pytest-cov" ] [project.urls] "Homepage" = "https://git.draklia.net/draklaw/pybsv" "Bug Tracker" = "https://git.draklia.net/draklaw/pybsv/issues" [project.scripts] bsv = "bsv.cli:cli" [tool.ruff] target-version = "py311" [tool.ruff.lint] select = [ "B", # flake8-bugbear "D", # pydocstyle "DOC", # pydoclint "E", # pycodestyle "EM", # flake8-errmsg "F", # Pyflakes "FURB", # refurb "G", # flake8-logging-format "I", # isort "ISC", # flake8-implicit-str-concat "LOG", # flake8-logging "N", # pep8-naming "PERF", # Perflint "PT", # flake8-pytest-style "PTH", # flake8-use-pathlib "S", # flake8-bandit "SIM", # flake8-simplify "TC", # flake8-type-checking "UP", # pyupgrade "W", # pycodestyle ] ignore = [ "UP038", # Deprecated rule; bad idea. ] [tool.ruff.lint.per-file-ignores] "**/tests/*" = [ "D103", # Missing docstring in public function "S101", # Use of assert detected ] [tool.ruff.lint.isort] force-sort-within-sections = true lines-after-imports = 2 required-imports = ["from __future__ import annotations"] [tool.ruff.lint.pydocstyle] convention = "google" [tool.coverage.report] exclude_also = [ "if TYPE_CHECKING:", ] [build-system] requires = ["setuptools", "setuptools-scm"] build-backend = "setuptools.build_meta" [tool.setuptools_scm] version_file = "src/bsv/_version.py"