-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathpyproject.toml
More file actions
65 lines (56 loc) · 2.4 KB
/
pyproject.toml
File metadata and controls
65 lines (56 loc) · 2.4 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
[tool.poetry]
name = "pyelegant"
version = "0.16.0"
description = "Python Interface to the 6D Accelerator Program ELEGANT (ELEctron Generation ANd Tracking)"
authors = ["Yoshiteru Hidaka <yhidaka@bnl.gov>"]
maintainers = ["Yoshiteru Hidaka <yhidaka@bnl.gov>"]
license = "BSD-3-Clause"
repository = "https://github.com/NSLS2/PyELEGANT"
packages = [
{ include = "pyelegant", from = "src" },
]
[tool.poetry.dependencies]
python = ">=3.11,<4.0"
numpy = "^2.3.2"
scipy = "^1.16.1"
matplotlib = "^3.10"
#"ruamel.yaml" = ">=0.18"
"ruamel.yaml" = "0.17.*" # >=0.18 fails at "add_yaml_merge()"
Pillow = ">=10.0"
h5py = "^3.14.0"
pydantic = ">=2.12"
python-dotenv = ">=1.0.0"
#mpi4py = { version = "^3.1.0", optional = true } # must be installed via pip, not conda
mpi4py = { version = ">=3", optional = true } # must be installed via pip, not conda
dill = { version = "^0.4.0", optional = true }
QtPy = { version = "^2.4.3", optional = true }
PyQt5 = { version = "^5.15.10", optional = true }
jupyter = { version = "^1.1.1", optional = true }
#ipympl = { version = "^0.9.7", optional = true}
ipympl = { version = ">=0.9", optional = true}
PyLaTeX = { version = "^1.4.2", optional = true }
XlsxWriter = { version = "^3.2.5", optional = true }
packaging = { version = ">=25.0", optional = true }
[tool.poetry.extras]
jupy = ["jupyter", "ipympl"]
parallel = ["mpi4py", "dill", "QtPy"]
genreport = ["QtPy", "pylatex", "xlsxwriter", "packaging"]
all = ["jupyter", "ipympl", "mpi4py", "dill", "QtPy", "PyQt5", "pylatex", "xlsxwriter", "packaging"]
[tool.poetry.group.dev.dependencies]
pytest = "^8.4.1"
[tool.poetry.scripts]
# Console scripts common to all REMOTE_NAME's
pyele_zip_lte = "pyelegant.scripts.common.ziplte:zip_lte"
pyele_unzip_lte = "pyelegant.scripts.common.ziplte:unzip_lte"
pyele_report = "pyelegant.scripts.common.genreport:main"
# Console scripts specific to REMOTE_NAME (e.g., nsls2pluto)
pyele_slurm_print_queue = "pyelegant.scripts:slurm_print_queue"
pyele_slurm_print_load = "pyelegant.scripts:slurm_print_load"
pyele_slurm_scancel_regex_jobname = "pyelegant.scripts:slurm_scancel_by_regex_jobname"
pyele_slurm_nfree_change = "pyelegant.scripts:slurm_notify_on_num_free_cores_change"
# GUI scripts specific to REMOTE_NAME (e.g., nsls2pluto)
pyele_gui_slurm = "pyelegant.guis:gui_slurm_main"
pyele_gui_report_wiz = "pyelegant.guis:gui_report_wiz_main"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"