mirror of
https://github.com/copier-org/copier.git
synced 2025-05-05 15:32:54 +00:00
- Provide a dev shell. - Provide a nix package. - Provide a nix flake. - Development environment based on direnv. - Docs. - Configure Gitpod to use direnv and nix. - Configure Cachix out of the box, and document how to use it. - Add direnv and nix to CI. - Satisfy some linters that came from Precommix, even when Precommix was later discarded. - Mark some tests as impure. - Run only pure tests when building Copier with Nix. - Add poetry loader to direnv. - Update contribution guide.
135 lines
3.4 KiB
TOML
135 lines
3.4 KiB
TOML
[tool.poetry]
|
|
name = "copier"
|
|
# This version is a placeholder autoupdated by poetry-dynamic-versioning
|
|
version = "0.0.0"
|
|
description = "A library for rendering project templates."
|
|
license = "MIT"
|
|
classifiers = [
|
|
"Development Status :: 5 - Production/Stable",
|
|
"Intended Audience :: Developers",
|
|
"License :: OSI Approved :: MIT License",
|
|
"Programming Language :: Python :: 3",
|
|
"Programming Language :: Python :: 3.7",
|
|
"Programming Language :: Python :: 3.8",
|
|
"Programming Language :: Python :: 3.9",
|
|
"Programming Language :: Python :: 3.10",
|
|
]
|
|
authors = ["Ben Felder <ben@felder.io>"]
|
|
homepage = "https://github.com/copier-org/copier"
|
|
repository = "https://github.com/copier-org/copier"
|
|
readme = "README.md"
|
|
|
|
[tool.poetry.scripts]
|
|
copier = "copier.__main__:copier_app_run"
|
|
|
|
[tool.poetry.urls]
|
|
"Bug Tracker" = "https://github.com/copier-org/copier/issues"
|
|
|
|
[tool.poetry.dependencies]
|
|
python = ">=3.7,<4.0" # HACK https://github.com/PyCQA/isort/issues/1945
|
|
"backports.cached-property" = { version = ">=1.0.0", python = "<3.8" }
|
|
colorama = ">=0.4.3"
|
|
dunamai = ">=1.7.0"
|
|
funcy = ">=1.17"
|
|
importlib-metadata = { version = ">=3.4,<5.0", python = "<3.8" }
|
|
jinja2 = ">=3.1.1"
|
|
jinja2-ansible-filters = ">=1.3.1"
|
|
packaging = ">=21.0" # packaging is needed when installing from PyPI
|
|
pathspec = ">=0.9.0"
|
|
plumbum = ">=1.6.9"
|
|
pydantic = ">=1.10.2"
|
|
pygments = ">=2.7.1"
|
|
pyyaml = ">=5.3.1"
|
|
pyyaml-include = ">=1.2"
|
|
questionary = ">=1.8.1"
|
|
typing-extensions = { version = ">=3.7.4,<5.0.0", python = "<3.8" }
|
|
|
|
[tool.poetry.group.dev]
|
|
optional = true
|
|
|
|
[tool.poetry.group.dev.dependencies]
|
|
mypy = ">=0.931"
|
|
pexpect = ">=4.8.0"
|
|
poethepoet = ">=0.12.3"
|
|
pre-commit = ">=2.17.0"
|
|
pytest = ">=7.2.0"
|
|
pytest-cov = ">=3.0.0"
|
|
pytest-xdist = ">=2.5.0"
|
|
types-backports = ">=0.1.3"
|
|
types-pyyaml = ">=6.0.4"
|
|
types-psutil = "*"
|
|
|
|
[tool.poetry.group.docs]
|
|
optional = true
|
|
|
|
[tool.poetry.group.docs.dependencies]
|
|
mkdocs-material = ">=8.2,<9.0.0"
|
|
mkdocstrings = { version = ">=0.19.0", extras = ["python"] }
|
|
|
|
[tool.poe.tasks.clean]
|
|
script = "devtasks:clean"
|
|
help = "remove build/python artifacts"
|
|
|
|
[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]
|
|
cmd = "pre-commit run --all-files"
|
|
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.poetry-dynamic-versioning]
|
|
enable = true
|
|
style = "pep440"
|
|
vcs = "git"
|
|
|
|
[tool.black]
|
|
target-version = ["py37"]
|
|
|
|
[tool.isort]
|
|
profile = "black"
|
|
combine_as_imports = true
|
|
known_first_party = ["copier"]
|
|
|
|
[tool.mypy]
|
|
ignore_missing_imports = true
|
|
plugins = ["pydantic.mypy"]
|
|
warn_no_return = false
|
|
|
|
[tool.pydocstyle]
|
|
match_dir = "^copier"
|
|
add_ignore = ["D105", "D107"]
|
|
|
|
[tool.pytest.ini_options]
|
|
addopts = "-n auto -ra"
|
|
markers = [
|
|
"impure: needs network or is not 100% reproducible"
|
|
]
|
|
|
|
[tool.commitizen]
|
|
annotated_tag = true
|
|
changelog_incremental = true
|
|
tag_format = "v$version"
|
|
update_changelog_on_bump = true
|
|
version = "7.1.0a0"
|
|
|
|
[build-system]
|
|
requires = ["poetry-core>=1.0.0", "poetry-dynamic-versioning"]
|
|
build-backend = "poetry_dynamic_versioning.backend"
|