/
niceSOFT
/
python3-setuptools_scm
Обзор
Документация
Войти
/
niceSOFT
/
python3-setuptools_scm
Код
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
pyproject.toml
131 строка
4 KB
Ronny Pfannschmidt
fix lint failures from ruff 0.16 default rule set
07 авг 2026, 16:19
07 авг 2026, 16:19
8ae0c5d
Код
Авторство
О чём код?
# uv sync --all-packages --all-groups # Install all packages with all dependency groups [project] name = "vcs-versioning.workspace" description = "workspace configuration for this monorepo" version = "0.1+private" requires-python = ">=3.8" dependencies = [ "vcs-versioning", "setuptools-scm", ] [project.scripts] create-release-proposal = "vcs_versioning_workspace.create_release_proposal:main" [dependency-groups] # PP006 / uv: aggregate groups for local development (members define their own test deps) dev = [{ include-group = "docs" }, { include-group = "typing" }, { include-group = "release" }, { include-group = "coverage" }] # workspace-wide, so it lives here rather than in a member: coverage is measured # across both packages in one `uv run pytest` from the root coverage = [ "pytest-cov", ] docs = [ "mkdocs<2; python_version>='3.10'", "mkdocs-include-markdown-plugin<8; python_version>='3.10'", "mkdocs-material<10; python_version>='3.10'", "mkdocstrings[python]>=1.0.5,<2; python_version>='3.10'", # 0.29 renamed import to inventories "pygments<2.20; python_version>='3.10'", "griffe-public-wildcard-imports; python_version>='3.10'", ] typing = [ "types-setuptools", ] release = [ "towncrier>=23.11.0", "PyGithub>=2.0.0; sys_platform != 'win32'", ] [tool.pytest.ini_options] minversion = "8.2" testpaths = ["setuptools-scm/testing_scm", "vcs-versioning/testing_vcs"] xfail_strict = true addopts = ["-ra", "--strict-config", "--strict-markers", "-p", "vcs_versioning.test_api"] markers = [ "issue(id): reference to github issue", "no_init: skip initializing the VCS repository in the test fixture", "skip_commit: allows to skip committing in the helpers", ] [tool.mypy] enable_error_code = [ "ignore-without-code", "redundant-expr", "truthy-bool", ] strict = true warn_unused_configs = true warn_redundant_casts = true warn_unused_ignores = true warn_return_any = true warn_unreachable = true disallow_untyped_defs = true disallow_any_generics = true check_untyped_defs = true no_implicit_reexport = true # Workspace-specific paths mypy_path = "vcs-versioning/src:setuptools-scm/src" explicit_package_bases = true # setup.py scripts add src/ at runtime; duplicate module name "setup" across packages exclude = [ "^vcs-versioning/setup\\.py$", "^setuptools-scm/setup\\.py$", ] [tool.uv] package = true [tool.uv.workspace] members = ["vcs-versioning", "setuptools-scm"] [tool.uv.sources] vcs-versioning = { workspace = true } setuptools-scm = { workspace = true } [tool.ruff] lint.extend-select = ["UP", "I", "B"] lint.ignore = [ # version inference must degrade gracefully around user-supplied version_cls, # third-party metadata and probing subprocesses - the broad catches are the design "BLE001", "S112", # requires-python is >=3.8, which has no parenthesized context managers, so the # combined form this asks for is either a syntax error or an unreadable long line "SIM117", # __all__ is grouped by category with comments, which is more useful than sorted "RUF022", ] [tool.ruff.lint.per-file-ignores] "vcs-versioning/setup.py" = ["E402"] "setuptools-scm/setup.py" = ["E402"] # explicit `from m import x as x` re-exports for API stability # (PLC0414 only skips __init__.py; see check_api.py / griffe-public-wildcard-imports) "vcs-versioning/src/vcs_versioning/_compat.py" = ["PLC0414"] "vcs-versioning/src/vcs_versioning/_get_version_impl.py" = ["PLC0414"] "vcs-versioning/src/vcs_versioning/_version_cls.py" = ["PLC0414"] [tool.repo-review] ignore = [ "PP002", # this is a uv workspace "PP003", # this tool is drunk "PP304", # log_cli shoudltn be the default "PP309", # filterwarnings is evil unless needed, it should never be error "PY007", # no to tasks "PY005", # no tests folder for the workspace "PY003", # each subproject has one "GH103", "GH212", "MY100", "PC111", "PC160", "PC170", "PC180", "PC901", ]