/
niceSOFT
/
python3-setuptools_scm
Обзор
Документация
Войти
/
niceSOFT
/
python3-setuptools_scm
Код
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
setuptools-scm/pyproject.toml
225 строк
7 KB
Ronny Pfannschmidt
fix lint failures from ruff 0.16 default rule set
07 авг 2026, 16:19
07 авг 2026, 16:19
8ae0c5d
Код
Авторство
О чём код?
[build-system] build-backend = "setuptools.build_meta" requires = [ "setuptools>=45", "vcs-versioning>=2.2.2,<3", # https://github.com/pypa/setuptools-scm/issues/1222: was <=2.0.2 for #1090 (old pip+toml); # pip 21.2+ vendors tomli, so the workaround is no longer needed. 'tomli>=1; python_version < "3.11"', 'typing-extensions>=4.1; python_version < "3.11"', ] [project] name = "setuptools-scm" description = "the blessed package to manage your versions by scm tags" readme = "README.md" license = {text = "MIT"} authors = [ {name="Ronny Pfannschmidt", email="opensource@ronnypfannschmidt.de"} ] requires-python = ">=3.8" classifiers = [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "Programming Language :: Python", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3.14", "Topic :: Software Development :: Libraries", "Topic :: Software Development :: Version Control", "Topic :: System :: Software Distribution", "Topic :: Utilities", ] dynamic = [ "version", ] dependencies = [ # Core VCS functionality - workspace dependency # Upper pin: setuptools-scm imports vcs-versioning internals; keep in sync. "vcs-versioning>=2.2.2,<3", "packaging>=20", # https://github.com/pypa/setuptools-scm/issues/1112 - re-pin in a breaking release "setuptools", # >= 61", 'tomli>=1; python_version < "3.11"', 'typing-extensions>=4.1; python_version < "3.11"', ] [project.optional-dependencies] rich = ["rich>=13"] simple = [] toml = [] [dependency-groups] dev = [{ include-group = "test" }] docs = [ "mkdocs; python_version>='3.10'", "mkdocs-include-markdown-plugin; python_version>='3.10'", "mkdocs-material; python_version>='3.10'", "mkdocstrings[python]; python_version>='3.10'", "pygments; python_version>='3.10'", "griffe-public-wildcard-imports; python_version>='3.10'", ] test = [ "pip", "build", "pytest", "pytest-timeout", # Timeout protection for CI/CD "pytest-xdist", "rich>=13", # no ruff here on purpose: pre-commit owns the ruff version "mypy; implementation_name != 'pypy'", 'typing-extensions; python_version < "3.11"', "griffe; python_version>='3.10'", "griffe-public-wildcard-imports; python_version>='3.10'", "flake8", "griffecli; python_version>='3.10'", ] [project.urls] documentation = "https://setuptools-scm.readthedocs.io/" repository = "https://github.com/pypa/setuptools-scm/" [project.scripts] setuptools-scm = "vcs_versioning._cli:main" [project.entry-points."distutils.setup_keywords"] use_scm_version = "setuptools_scm._integration.setuptools:version_keyword" [project.entry-points."pipx.run"] setuptools-scm = "vcs_versioning._cli:main" setuptools_scm = "vcs_versioning._cli:main" [project.entry-points."setuptools.file_finders"] setuptools_scm = "vcs_versioning._file_finders:find_files" [project.entry-points."setuptools.finalize_distribution_options"] setuptools_scm = "setuptools_scm._integration.setuptools:infer_version" [project.entry-points."vcs_versioning.discover_workdir"] pkginfo = "setuptools_scm._integration._discover:discover_pkginfo" egg-info = "setuptools_scm._integration._discover:discover_egg_info_metadata" [tool.setuptools.packages.find] where = ["src"] namespaces = false [tool.setuptools.package-data] setuptools_scm = [".git_archival.txt"] [tool.setuptools_scm] root = ".." version_scheme = "towncrier-fragments" tag_regex = "^setuptools-scm-(?P<version>v?\\d+(?:\\.\\d+){0,2}[^\\+]*)(?:\\+.*)?$" fallback_version = "9.2.2" # we transition to towncrier informed here scm.git.describe_command = ["git", "describe", "--dirty", "--tags", "--long", "--match", "setuptools-scm-*"] [tool.ruff] lint.extend-select = ["YTT", "B", "C4", "DTZ", "ISC", "LOG", "G", "PIE", "PYI", "PT", "FLY", "I", "C90", "PERF", "W", "PGH", "PLE", "UP", "FURB", "RUF"] lint.ignore = ["B028", "LOG015", "PERF203"] lint.preview = true # setuptools_scm alias modules: 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). # Globs: match paths both from package dir (`src/...`) and from monorepo root (`setuptools-scm/src/...`) # when using `--config=setuptools-scm/pyproject.toml` (pre-commit). [tool.ruff.lint.per-file-ignores] "**/src/setuptools_scm/version.py" = ["PLC0414"] "**/src/setuptools_scm/git.py" = ["PLC0414"] "**/src/setuptools_scm/scm_workdir.py" = ["PLC0414"] "**/src/setuptools_scm/discover.py" = ["PLC0414"] "**/src/setuptools_scm/integration.py" = ["PLC0414"] "**/src/setuptools_scm/hg.py" = ["PLC0414"] "**/src/setuptools_scm/hg_git.py" = ["PLC0414"] "**/src/setuptools_scm/fallbacks.py" = ["PLC0414"] "**/src/setuptools_scm/_integration/pyproject_reading.py" = ["BLE001", "S112"] "**/testing_scm/conftest.py" = ["BLE001", "S110"] "**/testing_scm/test_main.py" = ["S102"] "**/testing_scm/test_regressions.py" = ["BLE001"] [tool.ruff.lint.isort] force-single-line = true from-first = false lines-between-types = 1 order-by-type = true [tool.pytest.ini_options] minversion = "8.2" testpaths = ["testing_scm"] xfail_strict = true addopts = ["-ra", "--strict-config", "--strict-markers", "-p", "vcs_versioning.test_api"] timeout = 300 filterwarnings = [ "error", "ignore:.*tool\\.setuptools_scm.*", "ignore:.*git archive did not support describe output.*:UserWarning", "ignore:.*unprocessed git archival found.*:UserWarning", "ignore:.*without VcsEnvironment.*:DeprecationWarning", "ignore:.*Passing config to workdir.*:DeprecationWarning", "ignore:.*tag_regex.*is deprecated.*:DeprecationWarning", "ignore:.*write_to_source.*:DeprecationWarning", "ignore:.*relative_to is expected to be a file.*:UserWarning", ] log_level = "debug" log_cli_level = "info" 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.uv] default-groups = ["test"] [tool.towncrier] directory = "changelog.d" filename = "CHANGELOG.md" start_string = "<!-- towncrier release notes start -->\n" template = "changelog.d/template.md" title_format = "## {version} ({project_date})" issue_format = "[#{issue}](https://github.com/pypa/setuptools-scm/issues/{issue})" underlines = ["", "", ""] [[tool.towncrier.type]] directory = "major" name = "Major Changes" showcontent = true [[tool.towncrier.type]] directory = "breaking" name = "Breaking Changes" showcontent = true [[tool.towncrier.type]] directory = "removal" name = "Removed" showcontent = true [[tool.towncrier.type]] directory = "deprecation" name = "Deprecated" showcontent = true [[tool.towncrier.type]] directory = "feature" name = "Added" showcontent = true [[tool.towncrier.type]] directory = "bugfix" name = "Fixed" showcontent = true [[tool.towncrier.type]] directory = "doc" name = "Documentation" showcontent = true [[tool.towncrier.type]] directory = "misc" name = "Miscellaneous" showcontent = true