-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathpyproject.toml
141 lines (122 loc) · 3.93 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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
[project]
name = "pyOMA_2"
version = "1.1.1"
description = "Python module for conducting Operational Modal Analysis"
authors = [
{name = "Dag Pasca", email = "dpa@treteknisk.no"},
{name = "Angelo Aloisio", email = "angelo.aloisio1@univaq.it"},
{name = "Marco Martino Rosso", email = "marco.rosso@polito.it"},
{name = "Diego Federico Margoni", email = "diegofederico.margoni@studenti.polito.it"},
]
dependencies = [
"numpy>=1.20,<1.25; python_version < '3.9'",
"numpy>=1.25; python_version >= '3.9'",
"pandas>=2.0.3",
"scipy>=1.9.3",
"pydantic>=2.5.1",
"tqdm>=4.66.1",
"matplotlib>=3.7.4",
]
requires-python = ">=3.8,<3.13"
readme = "README.md"
license = {text = "MIT"}
[project.urls]
Homepage = "https://github.com/dagghe/pyOMA2"
Documentation = "https://pyoma.readthedocs.io/en/main/"
Repository = "https://github.com/dagghe/pyOMA2"
Changelog = "https://github.com/dagghe/pyOMA2/blob/main/CHANGELOG.md"
Contributing = "https://github.com/dagghe/pyOMA2/blob/main/CONTRIBUTING.md"
[project.optional-dependencies]
pyvista = [
"pyvista[all]",
"pyvistaqt",
"PyQt5==5.15.10",
"PyQt5-Qt5==5.15.2; sys_platform != 'darwin'",
"PyQt5-Qt5==5.15.14; sys_platform == 'darwin'",
"PyQt5-sip==12.15.0",
# # For macOS with Python 3.8, users will need to manually install the specific vtk wheel
# "vtk @ https://files.pythonhosted.org/packages/b3/15/40f8264f1b5379f12caf0e5153006a61c1f808937877c996e907610e8f23/vtk-9.3.1-cp38-cp38-macosx_10_10_x86_64.whl ; python_version == '3.8' and sys_platform == 'darwin'",
"vtk==9.3.1; python_version != '3.8' or sys_platform != 'darwin'",
]
openpyxl = [
"openpyxl>=3.1.3",
]
[build-system]
requires = ["pdm-backend"]
build-backend = "pdm.backend"
[tool.ruff]
# Exclude common directories that are typically not part of the source code or are generated by tools.
exclude = [
".direnv",
".eggs",
".git",
".git-rewrite",
".hg",
".mypy_cache",
".nox",
".pants.d",
".pytype",
".ruff_cache",
".svn",
".tox",
"__pypackages__",
"_build",
"build",
"dist",
"venv",
".venv",
]
# Set the maximum line length to 90 characters.
line-length = 90
# Define the number of spaces used for indentation, aligning with Black's style.
indent-width = 4
# The minimum Python version to target, e.g., when considering automatic code upgrades,
# like rewriting type annotations
target-version = "py38"
[tool.ruff.lint]
# Enable Pyflakes (F) and a subset of the pycodestyle (E) codes by default.
# pycodestyle warnings (W)
# Activate Security Rules (S) to replace bandit
# Enable the isort rules (I) to replace isort
# flake8-bugbear (B)
# flake8-simplify (SIM)
select = ["F", "E4", "E7", "E9", "W", "S", "I", "B","SIM"]
ignore = [
"S101", # User of assert in code
"B011", # assert False
] # List any rules to be ignored, currently empty.
# Allow auto-fixing of all enabled rules when using the `--fix` option.
fixable = ["ALL"]
unfixable = [] # Specify rules that cannot be auto-fixed, if any.
# Define a regex pattern for allowed unused variables (typically underscore-prefixed).
dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
[tool.ruff.format]
# Enforce double quotes for strings, following Black's style.
quote-style = "double"
# Use spaces for indentation, in line with Black's formatting style.
indent-style = "space"
# Keep magic trailing commas, a feature of Black's formatting.
skip-magic-trailing-comma = false
# Automatically detect and use the appropriate line ending style.
line-ending = "auto"
[tool.ruff.lint.per-file-ignores]
"__init__.py" = [
"E402", # import violations
"F401", # imported but unused
]
[tool.pdm.dev-dependencies]
docs = [
"sphinx>=7.1.2",
"sphinx-rtd-theme>=2.0.0",
"ghp-import>=2.1.0",
"nbsphinx>=0.9.3",
"pandoc>=2.3",
]
qa = [
"pre-commit>=3.5.0",
"ipdb>=0.13.13",
"pytest>=7.4.4",
"pytest-cov>=4.1.0",
"notebook>=7.1.2",
"tox>=4.14.2",
]