-
Notifications
You must be signed in to change notification settings - Fork 3
/
pyproject.toml
110 lines (102 loc) · 2.91 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
[tool.poetry]
name = "power_balance"
version = "1.4.0"
description = "Python interface for the tokamak power balance model"
authors = [
"Alexander Petrov <[email protected]>",
"Kristian Zarebski <[email protected]>",
]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: GNU Lesser General Public License v2 or later (LGPLv2+)",
"Natural Language :: English",
"Operating System :: Unix",
"Programming Language :: Other",
"Programming Language :: Python :: 3",
"Topic :: Scientific/Engineering :: Physics",
"Typing :: Typed"
]
keywords = [
"tokamak",
"reactor physics",
"fusion",
"research"
]
[tool.poetry.dependencies]
python = "^3.9,<3.13"
matplotlib = "^3.9.1"
prettytable = "^3.10.0"
html2text = "^2024.2.26"
numpy = "<2"
toml = "^0.10.2"
tables = "^3.9.2"
Jinja2 = "^3.1.4"
scipy = "^1.13.1"
click = "^8.1.7"
pydantic = "^2.8.2"
bokeh = "^3.4.2"
pydelica = "<0.6.0"
pandas = "^2.2.2"
[tool.poetry.group.dev.dependencies]
readability-lxml = "^0.8.1"
coverage = "^7.6"
bandit = "^1.7.9"
anybadge = "^1.14.0"
pyinstrument = "^4.6.2"
asv = "^0.6.3"
virtualenv = "^20.26.3"
PyYAML = "^6.0"
deepdiff = "^7.0.1"
mypy = "^1.11"
types-PyYAML = "^6.0.12"
types-toml = "^0.10.8"
typed-ast = "^1.5.4"
types-Jinja2 = "^2.11.9"
pre-commit = "^3.8.0"
unimport = "^1.2.1"
pytest = "^8.2.2"
ruff = "^0.5.5"
types-setuptools = "^75.1.0.20240917"
[tool.poetry.group.docs.dependencies]
mkdocs = "^1.6.0"
mkdocs-material = "^9.5.28"
mkdocs-coverage = "^1.1.0"
pymdown-extensions = "^10.8"
mkdocs-mermaid2-plugin = "^1.1.1"
mkdocs-click = "^0.8.1"
mkdocs-git-revision-date-localized-plugin = "^1.2.6"
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
[tool.poetry.scripts]
powerbalance = 'power_balance.cli:powerbalance'
[tool.ruff]
lint.extend-select = ["C901"]
lint.mccabe.max-complexity = 11
exclude = [
"tests",
"benchmarks"
]
[tool.pytest.ini_options]
addopts = "-p no:warnings"
markers = [
"profile_gen: marker applied to profile generation tests",
"pbm_class: marker applied to PowerBalance class tests",
"consistency: marker applied to output regression tests",
"utilities: marker applied to utilities tests",
"pbm_model_list: marker applied to model list tests",
"model_stability: marker applied to model stability tests",
"parameters: parameter set class tests",
"plugins: tests related to PBM plugins",
"dormant: tests which are currently ignored due to ongoing development",
"validation: tests relating to the validation of config files",
"cli: tests relating to the command line interface",
"exceptions: test custom exceptions can be raised",
"scenarios: test run particular scenarios",
"plotting: tests for plotting functions",
"modelica_templating: tests for modelica script templating"
]
testpaths = [
"tests"
]