-
Notifications
You must be signed in to change notification settings - Fork 41
Expand file tree
/
Copy pathpyproject.toml
More file actions
162 lines (147 loc) · 3.87 KB
/
pyproject.toml
File metadata and controls
162 lines (147 loc) · 3.87 KB
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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
[build-system]
requires = ["setuptools>=46.1.0", "setuptools_scm[toml]>=5", "wheel", "cython", "numpy"]
build-backend = "setuptools.build_meta"
[tool.setuptools_scm]
version_scheme = "no-guess-dev"
[project]
name = "pylife"
description = "General Fatigue library"
authors = [{name = "pyLife developer team @ Bosch Research", email = "johannes.mueller4@de.bosch.com"}]
license = {text = "Apache-2"}
classifiers = [
"Development Status :: 4 - Beta",
"Programming Language :: Python :: 3",
"License :: OSI Approved :: Apache Software License",
"Operating System :: OS Independent",
]
requires-python = ">=3.9"
dependencies = [
"numpy>=1.23.5",
"scipy",
"pandas>=2.2",
"h5py!=3.7.0",
"pickleshare>=0.7.5 ; python_full_version < '3.11'",
]
dynamic = ["version"]
[dependency-groups]
dev = [
"setuptools",
"pytest",
"pytest-cov",
"pytest-timeout",
"hypothesis",
"pytest-xdist>=3.8.0",
# For demo notebooks
"testbook",
"ipykernel",
"ipywidgets",
"matplotlib"
]
visuals = [
"pyvista",
"xvfbwrapper",
"ipykernel",
"ipywidgets",
"ipython",
"pickleshare",
]
testing = [
{include-group = "dev"},
{include-group = "visuals"}
]
docs = [
"sphinx<9.0.0",
"nbsphinx",
"nbsphinx-link",
"sphinx_rtd_theme>=1.0",
"plotly",
"jupyter_sphinx",
"myst_parser",
"pyvista[all,jupyter]",
"trame",
"trame-vtk<2.10.3",
{include-group = "visuals"}
]
[project.readme]
file = "README.md"
content-type = "text/markdown; charset=UTF-8"
# Add here related links, for example:
[project.urls]
Homepage = "https://github.com/boschresearch/pylife/"
Documentation = "https://pylife.readthedocs.io"
Source = "https://github.com/boschresearch/pylife/"
Changelog = "https://pylife.readthedocs.io/en/stable/CHANGELOG.html"
Tracker = "https://github.com/boschresearch/pylife/issues"
Download = "https://pypi.org/project/pylife/#files"
[project.optional-dependencies]
tsfresh = [
"tsfresh>=0.21.0",
"numba>=0.60",
]
all = [
"tsfresh>=0.21.0",
"numba>=0.60",
]
extras = [
"jupyter",
"matplotlib",
"pyvista",
"plotly",
"ansys-mapdl-reader",
]
[tool.setuptools]
zip-safe = false
include-package-data = true
package-dir = {"" = "src"}
# Require a min/specific Python version (comma-separated conditions)
# Add here dependencies of your project (line-separated), e.g. requests>=2.2,<3.0.
# Version specifiers like >=2.2,<3.0 avoid problems due to API changes in
# new major versions. This works if the required packages follow Semantic Versioning.
# For more information, check out https://semver.org/.
platforms = ["any"]
[tool.setuptools.packages.find]
where = ["src"]
exclude = [
"tests",
"demos",
"tools",
"docs",
"batch_scripts",
]
namespaces = false
[tool.pytest.ini_options]
# Specify command line options as you would do when invoking pytest directly.
# e.g. --cov-report html (or xml) for html/xml output or --junitxml junit.xml
# in order to write a coverage file that can be read by Jenkins.
# CAUTION: --cov flags may prohibit setting breakpoints while debugging.
# Comment those flags to avoid this py.test issue.
addopts = '''
-m "not slow_acceptance and not demos"
--doctest-modules
--ignore=src/pylife/materialdata/woehler/bayesian.py
--ignore=src/pylife/strength/helpers.py
--ignore=src/pylife/strength/sn_curve.py'''
testpaths = ["tests", "src/pylife"]
markers = [
"slow_acceptance: long running acceptance test (not run by default)",
"demos: demo notebooks by testbook",
]
doctest_optionflags = "NORMALIZE_WHITESPACE IGNORE_EXCEPTION_DETAIL"
[tool.distutils.bdist_wheel]
# Use this option if your package is pure-python
universal = 1
[tool.flake8]
# Some sane defaults for the code style checker flake8
max_line_length = "120"
extend_ignore = "E203, W503"
# ^ Black-compatible
# E203 and W503 have edge cases handled by black
exclude = """
.tox
build
dist
.eggs
docs/source/conf.py
.venv"""
[tool.cibuildwheel]
environment = "CI=true"