forked from osl-incubator/scicookie
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpyproject.toml
94 lines (84 loc) · 2.01 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
[tool.poetry]
name = "scicookie"
version = "0.2.0" # semantic-release
description = "Cookiecutter template for a Python package"
authors = ["Ivan Ogasawara <[email protected]>"]
license = "BSD"
include = [
{path = "src/scicookie/cookiecutter.json"},
{path = "src/scicookie/{{cookiecutter.project_slug}}"},
{path = "src/scicookie/hooks"},
]
[tool.poetry.scripts]
"scicookie" = "scicookie.__main__:app"
[tool.poetry.dependencies]
python = "^3.8.1"
cookieninja = "1.0.0"
sh = "^2.0.4"
pyyaml = ">=5"
colorama = "^0.4.6"
inquirer = "^3.1.3"
[tool.poetry.group.dev.dependencies]
pytest = ">=7"
black = ">=22"
isort = ">=5"
pre-commit = ">=3"
ruff = ">=0.0.272"
mypy = ">=1"
pytest-cov = ">=3"
pytest-cookies = ">=0.6.1"
Sphinx = ">=4.4"
jupyterlab = ">=3.5.1"
jupyter-book = ">=0.12.3"
myst-parser = ">=0.15"
makim = "1.8.1"
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
[tool.black]
line-length = 79
# note: for support "py39", we need to update black using poetry
# currently, it has conflicts with typing-extensions.
target-version = ["py38"]
force-exclude = '''(?x)(
docs/*
| src/scicookie/{{cookiecutter.project_slug}}/*
| src/scicookie/hooks/*
|.*\\.egg-info
)''' # TOML's single-quoted strings do not require escaping backslashes
[tool.mypy]
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",
"sh",
"yaml",
]
ignore_missing_imports = true
[tool.ruff]
line-length = 79
force-exclude = true
src = ["src/scicookie"]
exclude = [
'src/scicookie/\{\{cookiecutter.project_slug\}\}',
'src/scicookie/hooks',
]
select = [
"E", # pycodestyle
"F", # pyflakes
"D", # pydocstyle
"YTT", # flake8-2020
"PL", # PL
"RUF", # Ruff-specific rules
]
[tool.ruff.pydocstyle]
convention = "numpy"
[tool.pytest.ini_options]
testpaths = [
"tests",
]