mirror of
https://github.com/copier-org/copier.git
synced 2025-05-05 15:32:54 +00:00
186 lines
4.0 KiB
TOML
186 lines
4.0 KiB
TOML
[project]
|
|
name = "copier"
|
|
dynamic = ["version"]
|
|
description = "A library for rendering project templates."
|
|
license = { text = "MIT" }
|
|
requires-python = ">=3.9"
|
|
classifiers = [
|
|
"Development Status :: 5 - Production/Stable",
|
|
"Intended Audience :: Developers",
|
|
"License :: OSI Approved :: MIT License",
|
|
"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",
|
|
]
|
|
authors = [{ name = "Ben Felder", email = "ben@felder.io" }]
|
|
readme = "README.md"
|
|
dependencies = [
|
|
"colorama>=0.4.6",
|
|
"dunamai>=1.7.0",
|
|
"funcy>=1.17",
|
|
"jinja2>=3.1.5",
|
|
"jinja2-ansible-filters>=1.3.1",
|
|
"packaging>=23.0",
|
|
"pathspec>=0.9.0",
|
|
"plumbum>=1.6.9",
|
|
"pydantic>=2.4.2",
|
|
"pygments>=2.7.1",
|
|
"pyyaml>=5.3.1",
|
|
"questionary>=1.8.1",
|
|
"eval-type-backport>=0.1.3,<0.3.0; python_version < '3.10'",
|
|
"platformdirs>=4.3.6",
|
|
"typing-extensions>=4.0.0,<5.0.0; python_version < '3.11'",
|
|
]
|
|
|
|
[project.urls]
|
|
homepage = "https://github.com/copier-org/copier"
|
|
repository = "https://github.com/copier-org/copier"
|
|
"Bug Tracker" = "https://github.com/copier-org/copier/issues"
|
|
|
|
[project.scripts]
|
|
copier = "copier.__main__:CopierApp.run"
|
|
|
|
[dependency-groups]
|
|
dev = [
|
|
"mypy==1.15.0",
|
|
"pexpect==4.9.0",
|
|
"poethepoet==0.33.1",
|
|
"pre-commit==4.2.0",
|
|
"pytest==8.3.5",
|
|
"pytest-cov==6.1.1",
|
|
"pytest-gitconfig==0.7.0",
|
|
"pytest-xdist==3.6.1",
|
|
"types-backports==0.1.3",
|
|
"types-colorama==0.4.15.20240311",
|
|
"types-pygments==2.19.0.20250305",
|
|
"types-pyyaml==6.0.12.20250402",
|
|
"typing-extensions==4.13.1; python_version < '<3.10'",
|
|
]
|
|
docs = [
|
|
"markdown-exec==1.10.3",
|
|
"mkdocs-material==9.6.11",
|
|
"mkdocstrings[python]==0.29.1",
|
|
]
|
|
|
|
[tool.poe.tasks.coverage]
|
|
cmd = "pytest --cov-report html --cov copier copier tests"
|
|
help = "generate an HTML report of the coverage"
|
|
|
|
[tool.poe.tasks.dev-setup]
|
|
script = "devtasks:dev_setup"
|
|
help = "set up local development environment"
|
|
|
|
[tool.poe.tasks.docs]
|
|
cmd = "mkdocs serve"
|
|
help = "start local docs server"
|
|
|
|
[tool.poe.tasks.lint]
|
|
script = "devtasks:lint"
|
|
help = "check (and auto-fix) style with pre-commit"
|
|
|
|
[tool.poe.tasks.test]
|
|
cmd = "pytest --color=yes"
|
|
help = "run tests"
|
|
|
|
[tool.poe.tasks.types]
|
|
cmd = "mypy ."
|
|
help = "run the type (mypy) checker on the codebase"
|
|
|
|
[tool.ruff.lint]
|
|
extend-select = [
|
|
"ARG",
|
|
"B",
|
|
"C90",
|
|
"D",
|
|
"E",
|
|
"F",
|
|
"FA",
|
|
"I",
|
|
"PERF",
|
|
"PGH",
|
|
"PTH",
|
|
"UP",
|
|
]
|
|
extend-ignore = ['B028', "B904", "D105", "D107", "E501"]
|
|
|
|
[tool.ruff.lint.per-file-ignores]
|
|
"tests/**" = ["D"]
|
|
|
|
[tool.ruff.lint.isort]
|
|
combine-as-imports = true
|
|
known-first-party = ["copier"]
|
|
|
|
[tool.ruff.lint.pydocstyle]
|
|
convention = "google"
|
|
|
|
[tool.ruff.lint.pyupgrade]
|
|
keep-runtime-typing = true
|
|
|
|
[tool.mypy]
|
|
strict = true
|
|
plugins = ["pydantic.mypy"]
|
|
|
|
[[tool.mypy.overrides]]
|
|
module = [
|
|
"coverage.tracer",
|
|
"funcy",
|
|
"pexpect.*",
|
|
"plumbum.*",
|
|
"poethepoet.app",
|
|
]
|
|
ignore_missing_imports = true
|
|
|
|
[[tool.mypy.overrides]]
|
|
module = [
|
|
"copier._subproject",
|
|
"copier._template",
|
|
"copier._tools",
|
|
"copier._user_data",
|
|
"copier._vcs",
|
|
"copier.subproject",
|
|
"copier.template",
|
|
"copier.tools",
|
|
"copier.user_data",
|
|
"copier.vcs",
|
|
]
|
|
warn_return_any = false
|
|
|
|
[[tool.mypy.overrides]]
|
|
module = ["tests.test_cli", "tests.test_prompt"]
|
|
disable_error_code = ["no-untyped-def"]
|
|
|
|
[tool.pytest.ini_options]
|
|
addopts = "-n auto -ra"
|
|
markers = ["impure: needs network or is not 100% reproducible"]
|
|
|
|
[tool.coverage.run]
|
|
omit = [
|
|
# Ignore deprecated modules
|
|
"copier/cli.py",
|
|
"copier/jinja_ext.py",
|
|
"copier/main.py",
|
|
"copier/subproject.py",
|
|
"copier/template.py",
|
|
"copier/tools.py",
|
|
"copier/types.py",
|
|
"copier/user_data.py",
|
|
"copier/vcs.py",
|
|
]
|
|
|
|
[tool.commitizen]
|
|
annotated_tag = true
|
|
changelog_incremental = true
|
|
tag_format = "v$version"
|
|
update_changelog_on_bump = true
|
|
version = "9.7.0"
|
|
|
|
[tool.hatch.version]
|
|
source = "vcs"
|
|
|
|
[build-system]
|
|
requires = ["hatchling", "hatch-vcs"]
|
|
build-backend = "hatchling.build"
|