-
Notifications
You must be signed in to change notification settings - Fork 18
/
pyproject.toml
102 lines (89 loc) · 2.16 KB
/
pyproject.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
[tool.poetry]
name = "scicookie"
version = "0.11.0" # semantic-release
description = "Cookiecutter template for a Python package"
readme = "docs/description.md"
authors = ["Ivan Ogasawara <ivan.ogasawara@gmail.com>"]
license = "BSD-3-Clause"
include = [
{path = "src/scicookie/cookiecutter.json"},
{path = "src/scicookie/{{cookiecutter.project_slug}}"},
{path = "src/scicookie/hooks"},
{path = "src/scicookie/profiles"},
]
[tool.poetry.scripts]
"scicookie" = "scicookie.__main__:app"
[tool.poetry.dependencies]
python = ">=3.9,<4"
cookiecutter = "2.6.0"
colorama = ">=0.4.6"
inquirer = ">=3.1.3"
pyyaml = ">=6.0.1"
nodejs-wheel = ">=20.13.0-1"
pre-commit-hooks = ">=0.4.6"
[tool.poetry.group.dev.dependencies]
pytest = ">=7"
pre-commit = ">=3"
ruff = ">=0.2.0"
mypy = ">=1.5"
pytest-cov = ">=3"
pytest-cookies = ">=0.6.1"
markdown-callouts = ">=0.2"
mkdocs = ">=1.3.1"
mkdocs-include-exclude-files = ">=0.0.1"
mkdocs-jupyter = ">=0.24.7"
mkdocs-material = ">=8.3.9"
mkdocstrings-python = ">=0.7.1"
mkdocstrings-python-legacy = ">=0.2.3"
pymdown-extensions = ">=9.5"
makim = "1.19.0"
pexpect = ">=4.9.0"
ensureconda = ">=1.4"
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
[tool.mypy]
python_version = "3.9"
no_strict_optional = false
exclude = '''(?x)(
src/scicookie/{{cookiecutter.project_slug}}/
| src/scicookie/hooks/*
)''' # TOML's single-quoted strings do not require escaping backslashes
[[tool.mypy.overrides]]
module = [
"colorama",
"inquirer",
"cookiecutter.main",
"yaml",
"pre_commit_hooks",
]
ignore_missing_imports = true
[tool.ruff]
line-length = 79
force-exclude = true
src = ["./"]
exclude = [
'src/scicookie/\{\{cookiecutter.project_slug\}\}',
'src/scicookie/hooks',
]
[tool.ruff.lint]
select = [
"E", # pycodestyle
"F", # pyflakes
"D", # pydocstyle
"YTT", # flake8-2020
"PL", # PL
"RUF", # Ruff-specific rules
"I001", # isort
]
[tool.ruff.lint.pydocstyle]
convention = "numpy"
[tool.ruff.lint.isort]
# Use a single line between direct and from import
lines-between-types = 1
[tool.ruff.format]
quote-style = "double"
[tool.pytest.ini_options]
testpaths = [
"tests",
]