1
0
Fork 0
commitizen/pyproject.toml
Daniel Baumann 167a3f8553
Adding upstream version 4.6.0+dfsg.
Signed-off-by: Daniel Baumann <daniel@debian.org>
2025-04-21 11:40:48 +02:00

277 lines
7.5 KiB
TOML

[project]
name = "commitizen"
version = "4.6.0"
description = "Python commitizen client tool"
authors = [{ name = "Santiago Fraire", email = "santiwilly@gmail.com" }]
maintainers = [
{ name = "Wei Lee", email = "weilee.rx@gmail.com" },
{ name = "Axel H.", email = "noirbizarre@gmail.com" },
]
license = { file = "LICENSE" }
readme = "docs/README.md"
requires-python = ">=3.9,<4.0"
dependencies = [
"questionary (>=2.0,<3.0)",
"decli (>=0.6.0,<1.0)",
"colorama (>=0.4.1,<1.0)",
"termcolor (>=1.1,<3)",
"packaging>=19",
"tomlkit (>=0.5.3,<1.0.0)",
"jinja2>=2.10.3",
"pyyaml>=3.08",
"argcomplete >=1.12.1,<3.6",
"typing-extensions (>=4.0.1,<5.0.0) ; python_version < '3.11'",
"charset-normalizer (>=2.1.0,<4)",
# Use the Python 3.11 and 3.12 compatible API: https://github.com/python/importlib_metadata#compatibility
"importlib_metadata (>=8.0.0,<9) ; python_version < '3.10'",
]
keywords = ["commitizen", "conventional", "commits", "git"]
# See also: https://pypi.org/classifiers/
classifiers = [
"Development Status :: 5 - Production/Stable",
"Environment :: Console",
"Intended Audience :: Developers",
"Natural Language :: English",
"Operating System :: OS Independent",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"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 :: Implementation :: CPython",
"License :: OSI Approved :: MIT License",
]
[project.urls]
Homepage = "https://github.com/commitizen-tools/commitizen"
Documentation = "https://commitizen-tools.github.io/commitizen/"
Repository = "https://github.com/commitizen-tools/commitizen"
Issues = "https://github.com/commitizen-tools/commitizen/issues"
Changelog = "https://github.com/commitizen-tools/commitizen/blob/master/CHANGELOG.md"
[project.scripts]
cz = "commitizen.cli:main"
git-cz = "commitizen.cli:main"
[project.entry-points."commitizen.plugin"]
cz_conventional_commits = "commitizen.cz.conventional_commits:ConventionalCommitsCz"
cz_jira = "commitizen.cz.jira:JiraSmartCz"
cz_customize = "commitizen.cz.customize:CustomizeCommitsCz"
[project.entry-points."commitizen.changelog_format"]
markdown = "commitizen.changelog_formats.markdown:Markdown"
asciidoc = "commitizen.changelog_formats.asciidoc:AsciiDoc"
textile = "commitizen.changelog_formats.textile:Textile"
restructuredtext = "commitizen.changelog_formats.restructuredtext:RestructuredText"
[project.entry-points."commitizen.provider"]
cargo = "commitizen.providers:CargoProvider"
commitizen = "commitizen.providers:CommitizenProvider"
composer = "commitizen.providers:ComposerProvider"
npm = "commitizen.providers:NpmProvider"
pep621 = "commitizen.providers:Pep621Provider"
poetry = "commitizen.providers:PoetryProvider"
scm = "commitizen.providers:ScmProvider"
uv = "commitizen.providers:UvProvider"
[project.entry-points."commitizen.scheme"]
pep440 = "commitizen.version_schemes:Pep440"
semver = "commitizen.version_schemes:SemVer"
semver2 = "commitizen.version_schemes:SemVer2"
[build-system]
requires = ["poetry-core>=2.0"]
build-backend = "poetry.core.masonry.api"
[tool.commitizen]
version = "4.6.0"
tag_format = "v$version"
version_files = [
"pyproject.toml:version",
"commitizen/__version__.py",
".pre-commit-config.yaml:rev:.+Commitizen",
]
version_scheme = "pep440"
[tool.poetry]
packages = [{ include = "commitizen" }, { include = "commitizen/py.typed" }]
[tool.poetry.requires-plugins]
"poethepoet" = ">=0.32.2"
[tool.poetry.group.dev.dependencies]
ipython = "^8.0"
tox = ">4"
[tool.poetry.group.test.dependencies]
pytest = ">=7.2,<9.0"
pytest-cov = ">=4,<7"
pytest-mock = "^3.10"
pytest-regressions = "^2.4.0"
pytest-freezer = "^0.4.6"
pytest-xdist = "^3.1.0"
deprecated = "^1.2.13"
[tool.poetry.group.linters.dependencies]
ruff = ">=0.5.0,<0.10.0"
pre-commit = ">=2.18,<5.0"
mypy = "^1.4"
types-deprecated = "^1.2.9.2"
types-python-dateutil = "^2.8.19.13"
types-PyYAML = ">=5.4.3,<7.0.0"
types-termcolor = "^0.1.1"
[tool.poetry.group.documentation.dependencies]
mkdocs = "^1.4.2"
mkdocs-material = "^9.1.6"
[tool.poetry.group.script.dependencies]
# for scripts/gen_cli_help_screenshots.py
rich = "^13.7.1"
[tool.coverage]
[tool.coverage.report]
show_missing = true
exclude_lines = [
# Have to re-enable the standard pragma
'pragma: no cover',
# Don't complain about missing debug-only code:
'def __repr__',
'if self\.debug',
# Don't complain if tests don't hit defensive assertion code:
'raise AssertionError',
'raise NotImplementedError',
# Don't complain if non-runnable code isn't run:
'if 0:',
'if __name__ == .__main__.:',
'if TYPE_CHECKING:',
]
omit = [
'env/*',
'venv/*',
'.venv/*',
'*/virtualenv/*',
'*/virtualenvs/*',
'*/tests/*',
]
[tool.pytest.ini_options]
addopts = "--strict-markers"
testpaths = ["tests/"]
[tool.tox]
requires = ["tox>=4.22"]
env_list = ["3.9", "3.10", "3.11", "3.12", "3.13"]
[tool.tox.env_run_base]
description = "Run tests suite against Python {base_python}"
skip_install = true
deps = ["poetry>=2.0"]
commands_pre = [["poetry", "install", "--only", "main,test"]]
commands = [["pytest", { replace = "posargs", extend = true }]]
[tool.ruff]
line-length = 88
[tool.ruff.lint]
select = [
# pycodestyle
"E",
# Pyflakes
"F",
# pyupgrade
"UP",
# isort
"I",
]
ignore = ["E501", "D1", "D415"]
[tool.ruff.lint.isort]
known-first-party = ["commitizen", "tests"]
[tool.ruff.lint.pydocstyle]
convention = "google"
[tool.mypy]
files = "commitizen"
disallow_untyped_decorators = true
disallow_subclassing_any = true
warn_return_any = true
warn_redundant_casts = true
warn_unused_ignores = true
warn_unused_configs = true
[[tool.mypy.overrides]]
module = "py.*" # Legacy pytest dependencies
ignore_missing_imports = true
[tool.codespell]
# Ref: https://github.com/codespell-project/codespell#using-a-config-file
skip = '.git*,*.svg,*.lock'
check-hidden = true
ignore-words-list = 'asend'
[tool.poe]
poetry_command = ""
[tool.poe.tasks]
format.help = "Format the code"
format.sequence = [
{ cmd = "ruff check --fix commitizen tests" },
{ cmd = "ruff format commitizen tests" },
]
lint.help = "Lint the code"
lint.sequence = [
{ cmd = "ruff check commitizen/ tests/ --fix" },
{ cmd = "mypy commitizen/ tests/" },
]
check-commit.help = "Check the commit message"
check-commit.cmd = "cz -nr 3 check --rev-range origin/master.."
test.help = "Run the test suite"
test.cmd = "pytest -n 3 --dist=loadfile"
"test:all".help = "Run the test suite on all supported Python versions"
"test:all".cmd = "tox --parallel"
cover.help = "Run the test suite with coverage"
cover.ref = "test --cov-report term-missing --cov-report=xml:coverage.xml --cov=commitizen"
all.help = "Run all tasks"
all.sequence = [
"format",
"lint",
"cover",
"check-commit",
]
"doc:screenshots".help = "Render documentation screeenshots"
"doc:screenshots".script = "scripts.gen_cli_help_screenshots:gen_cli_help_screenshots"
"doc:build".help = "Build the documentation"
"doc:build".cmd = "mkdocs build"
doc.help = "Live documentation server"
doc.cmd = "mkdocs serve"
ci.help = "Run all tasks in CI"
ci.sequence = [
{ cmd = "pre-commit run --all-files" },
"cover",
]
ci.env = { SKIP = "no-commit-to-branch" }
setup-pre-commit.help = "Install pre-commit hooks"
setup-pre-commit.cmd = "pre-commit install"