-
Notifications
You must be signed in to change notification settings - Fork 33
/
pyproject.toml
99 lines (89 loc) · 2.77 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
[build-system]
requires = ["setuptools>=61.0"]
build-backend = "setuptools.build_meta"
[project]
name = "wafer_map"
version = "1.2.0"
description = "Semiconductor Wafer Mapping"
readme = "README.md"
requires-python = ">=3.8"
license = {file = "LICENSE"}
authors = [
{name = "Douglas Thor"}, # so that package core metadata "Author" field gets populated.
{name = "Douglas Thor", email = "[email protected]"},
]
maintainers = []
keywords = []
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Manufacturing",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
"Topic :: Scientific/Engineering",
"Topic :: Scientific/Engineering :: Information Analysis",
"Topic :: Scientific/Engineering :: Visualization",
]
dependencies = [
"wxPython>=4.0.0,<4.3",
"numpy>=1.12.1,<2.0",
"colour>=0.1.4,<0.2"
]
[project.optional-dependencies]
dev = [
"coverage[toml]==7.3.2",
"pre-commit==3.5.0",
"pytest-cov==4.1.0",
"pytest==7.4.3",
]
docs = [
"sphinx==7.1.2",
"sphinx_rtd_theme==1.3.0",
]
build = [
"build==1.0.3",
"setuptools==68.2.2",
"wheel==0.41.3",
]
# It seems like this works... Not sure how stable it is though.
all = [
"wafer_map[dev,docs,build]",
]
[project.urls]
"Source Code" = "https://github.com/dougthor42/wafer_map"
"Changelog" = "https://github.com/dougthor42/wafer_map/blob/master/CHANGELOG.md"
"Bug Tracker" = "https://github.com/dougthor42/wafer_map/issues"
[tool.setuptools]
package-dir = {"" = "src"}
[tool.setuptools.packages.find]
where = ["src"]
[tool.mypy]
show_error_codes = true
[tool.pytest.ini_options]
# Note: We use the pytest-cov option "--cov-context test" here instead of the
# coverage option "dynamic_context = test_function" in [tool.coverage.run] because
# then the contexts will include the full pytest name and account for
# parametrized fuctions.
# Basically the difference between this (`pytest-cov`)
# tests/test_cli.py::TestCli::test_cli[test_args0]|run
# tests/test_cli.py::TestCli::test_cli[test_args1]|run
# tests/test_cli.py::TestCli::test_cli_invalid_args[invalid_args2]|run
# tests/test_cli.py::TestCli::test_cli_invalid_args[invalid_args3]|run
# and this (just plain `coverage`)
# tests.test_cli.TestCli.test_cli_invalid_args
# tests.test_cli.TestCli.test_cli_prompts_for_days
# The full pytest name shows us that the first two parametrized tests of
# test_cli_invalid_args do NOT test the line.
addopts = """\
-ra \
--cov wafer_map \
--cov-report html \
--cov-context test \
"""
[tool.coverage.html]
show_contexts = true
[tool.coverage.run]
branch = true
[tool.ruff]
target-version = "py38"