-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathpyproject.toml
More file actions
94 lines (81 loc) · 2.57 KB
/
Copy pathpyproject.toml
File metadata and controls
94 lines (81 loc) · 2.57 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
[tool.poetry]
name = "pleque"
version = "0.0.9"
description = "PLEQUE is a Python module allowing simple visualisation and manipulation of tokamak plasma equilibria."
authors = ["Lukáš Kripner <kripner@ipp.cas.cz>"]
license = "MIT"
readme = "README.md"
repository = "https://github.com/kripnerl/pleque"
documentation = "https://github.com/kripnerl/pleque"
[tool.poetry.dependencies]
#python = ">=3.9, <3.12"
python = "^3.10"
xarray = "^2023.3.0"
shapely = "^2.0.1"
netcdf4 = "^1.6.3"
h5py = "^3.8.0"
scikit-image = ">0.20.0"
matplotlib = { version = "^3.7.1", optional = false }
pydantic-settings = { version = "^2.10.1", extras = ["toml"] }
pydantic = "^2.13.4"
[tool.poetry.group.dev.dependencies]
nbsphinx-link = "^1.3.0"
pytest = "^7.2.2"
pytest-cov = "^4.0.0"
pylint = "^2.17.1"
flake8 = "^6.0.0"
ruff = ">=0.9.0"
ty = ">=0.0.1"
ipython = "^7.34.0"
cython = "^3.0.11"
jupyter = "^1.1.1"
# setuptools = "^67.6.1"
#[tool.poetry.group.omas]
#optional = true
#[tool.poetry.group.omas.dependencies]
#omas = "^0.91.0"
#botocore = "1.29.0"
[tool.poetry.group.compass]
optional = true
[tool.poetry.group.compass.dependencies]
pycdb-compass = { git = "https://repo.tok.ipp.cas.cz/compass-tokamak/CDB.git" }
# pymysql = "^1.1.0"
decorator = "^5.1.1"
#[tool.poetry.group.omfit-test.dependencies]
#omfit-classes = {version = "^3.2025.3.2", optional = true}
#uncertainties = "^3.2.2"
#contourpy = {path = "/home/kripner/Projects/external/omas"}
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
[tool.ruff]
line-length = 120
target-version = "py310"
[tool.ruff.lint]
select = [
"E", # pycodestyle errors
"W", # pycodestyle warnings
"F", # pyflakes
"I", # isort
"B", # flake8-bugbear
"UP", # pyupgrade
"RUF", # ruff-specific rules
]
ignore = [
"E501", # line too long – handled by formatter; long docstrings are exempt
"B905", # zip() without explicit strict= – caller intent is clear in physics code
"UP028", # yield-in-for-loop – readability preference
]
[tool.ruff.lint.per-file-ignores]
"pleque/core/__init__.py" = ["F401", "I001"] # import order is load-order-dependent due to circular imports
"pleque/io/__init__.py" = ["F401"] # public API re-exports (read_geqdsk, write_geqdsk, ...)
"pleque/io/jet/__init__.py" = ["F401"]
"pleque/__init__.py" = ["F401", "F403"]
"tests/**/*.py" = ["F841"]
[tool.ruff.format]
quote-style = "double"
indent-style = "space"
[tool.ty]
# ty is Astral's type checker; minimal config – strict mode is not yet feasible
# due to the largely un-annotated legacy codebase.
python-version = "3.10"