-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathpyproject.toml
119 lines (103 loc) · 3.19 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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
[build-system]
requires = ["setuptools>=45", "wheel", "setuptools-scm>=6.2"]
build-backend = "setuptools.build_meta"
[project]
name = "pamba"
description = "Installl pyproject/setup.cfg deps from mamba"
readme = "README.md"
requires-python = ">=3.8"
license = { file = "LICENSE" }
authors = [{ email = "[email protected]" }, { name = "Talley Lambert" }]
classifiers = [
"Development Status :: 3 - Alpha",
"License :: OSI Approved :: BSD License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
]
dynamic = ["version"]
dependencies = ["toml", "grayskull", "build", "yaspin"]
[project.optional-dependencies]
test = ["pytest>=6.0", "pytest-cov"]
dev = [
"black",
"flake8",
"flake8-docstrings",
"flake8-typing-imports",
"ipython",
"isort",
"mypy",
"pre-commit",
"pydocstyle",
"pytest-cov",
"pytest",
"rich",
"cruft",
]
[project.urls]
homepage = "https://github.com/tlambert03/pamba"
repository = "https://github.com/tlambert03/pamba"
# documentation = "readthedocs.org"
# changelog = "github.com/me/spam/blob/master/CHANGELOG.md"
[project.scripts]
pamba = "pamba.cli:main"
# https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html
[tool.setuptools]
zip-safe = false
include-package-data = true
packages = { find = { where = ["src"], exclude = [] } }
# https://github.com/pypa/setuptools_scm/#pyprojecttoml-usage
[tool.setuptools_scm]
# https://pycqa.github.io/isort/docs/configuration/options.html
[tool.isort]
profile = "black"
src_paths = ["src/pamba", "tests"]
# http://www.pydocstyle.org/en/stable/usage.html
[tool.pydocstyle]
match_dir = "src/pamba"
convention = "numpy"
add_select = "D402,D415,D417"
ignore = "D100,D213,D401,D413,D107"
# https://docs.pytest.org/en/6.2.x/customize.html
[tool.pytest.ini_options]
minversion = "6.0"
testpaths = ["tests"]
filterwarnings = ["error"]
# https://mypy.readthedocs.io/en/stable/config_file.html
[tool.mypy]
files = "src/**/"
strict = true
disallow_any_generics = false
disallow_subclassing_any = false
show_error_codes = true
pretty = true
# https://coverage.readthedocs.io/en/6.4/config.html
[tool.coverage.report]
exclude_lines = [
"pragma: no cover",
"if TYPE_CHECKING:",
"@overload",
"except ImportError",
]
# https://github.com/cruft/cruft
[tool.cruft]
skip = ["tests"]
# https://github.com/mgedmin/check-manifest#configuration
[tool.check-manifest]
ignore = [
".cruft.json",
".flake8",
".github_changelog_generator",
".pre-commit-config.yaml",
"tests/**/*",
"tox.ini",
""
]
# https://python-semantic-release.readthedocs.io/en/latest/configuration.html
[tool.semantic_release]
version_source = "tag_only"
branch = "main"
changelog_sections = "feature,fix,breaking,documentation,performance,chore,:boom:,:sparkles:,:children_crossing:,:lipstick:,:iphone:,:egg:,:chart_with_upwards_trend:,:ambulance:,:lock:,:bug:,:zap:,:goal_net:,:alien:,:wheelchair:,:speech_balloon:,:mag:,:apple:,:penguin:,:checkered_flag:,:robot:,:green_apple:,Other"
# commit_parser=semantic_release.history.angular_parser
build_command = "pip install build && python -m build"