copier/pyproject.toml
Jairo Llopis 67cc4ffde3
feat: nix support
- 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.
2023-01-18 09:40:08 +00:00

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"