-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
134 lines (124 loc) · 3.98 KB
/
pyproject.toml
File metadata and controls
134 lines (124 loc) · 3.98 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
[build-system]
requires = [
"setuptools",
"wheel"
]
build-backend = "setuptools.build_meta"
[project]
name = "pttools-gw"
version = "0.10.0"
description = "PTtools simulation framework for phase transitions in the early universe"
readme = "README.md"
# PTtools is licensed under the MIT License in accordance with the University of Helsinki recommendations.
# https://www.helsinki.fi/en/helsinki-university-library/library-researchers/copyright-and-licenses
# "We primarily recommend the MIT licence."
# https://blogs.helsinki.fi/thinkopen/open-source-at-the-university-of-helsinki/
license = "MIT"
license-files = ["LICENSE"]
keywords = [
"cosmology",
"phase transitions",
"gravitational waves",
"hydrodynamics",
"relativistic hydrodynamics",
"sound shell model"
]
# When updating these, also update acknowledgements.rst, AUTHORS, CITATION.cff and codemeta.json
authors = [
{name = "Mark Hindmarsh", email = "mark.hindmarsh@helsinki.fi"},
{name = "Chloe Hopling", email = "c.hopling@sussex.ac.uk"},
{name = "Mika Mäki", email = "mika.x.maki@helsinki.fi"},
{name = "Lorenzo Giombi", email = "lorenzo.giombi@helsinki.fi"}
]
maintainers = [
{name = "Mark Hindmarsh", email = "mark.hindmarsh@helsinki.fi"},
{name = "Mika Mäki", email = "mika.x.maki@helsinki.fi"}
]
classifiers = [
"Framework :: Matplotlib",
"Intended Audience :: Developers",
"Intended Audience :: Education",
"Intended Audience :: Science/Research",
"Operating System :: OS Independent",
"Programming Language :: Python",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Topic :: Scientific/Engineering",
"Topic :: Scientific/Engineering :: Physics",
"Topic :: Scientific/Engineering :: Visualization",
"Topic :: Software Development :: Libraries",
]
# Keep this up to date with requirements.txt
dependencies = [
"h5py >= 3.15.1",
"kaleido >= 1.1.0",
"matplotlib >= 3.10.7",
"numba >= 0.62.1",
"numpy >= 2.3.4",
"orjson >= 3.11.4",
"plotly >= 6.3.1",
"scipy >= 1.16.3",
]
# Note: LISA ProtoLab uses Python 3.13, and PTtools should therefore probably stay compliant with it.
# https://gitlab.esa.int/mika.x.maki/lisa-protolab
requires-python = ">= 3.11"
# dynamic = ["version"]
[project.optional-dependencies]
numbalsoda = ["numbalsoda >= 0.3.4"]
performance = [
"icc-rt >= 2019.0; platform_machine != 'arm64'",
"intel-openmp >= 2020.0.133; sys_platform == 'darwin' and platform_machine != 'arm64'",
"tbb >= 2021.10.0; platform_machine != 'arm64'",
]
[project.urls]
documentation = "https://pttools.readthedocs.io"
issues = "https://github.com/CFT-HY/pttools/issues"
repository = "https://github.com/CFT-HY/pttools"
[tool.coverage.run]
branch = true
command_line = "manage.py test --noinput --parallel"
concurrency = [
"thread",
"multiprocessing"
]
source = ["."]
omit = [
"**/envs/*",
"**/venv/*"
]
parallel = true
[tool.coverage.report]
exclude_lines = [
"pragma: no cover",
"if TYPE_CHECKING:",
"if __name__ == .__main__.:"
]
show_missing = true
[tool.mypy]
[[tool.mypy.overrides]]
module = ["h5py.*", "numba.*", "numbalsoda.*", "plotly.*"]
ignore_missing_imports = true
[tool.pytest.ini_options]
# On clusters "--numprocesses=auto" creates processes according to the total number of CPU cores
# instead of the number of cores available to the job.
# Therefore, it may be wise to set the number of processes manually.
addopts = "--alluredir=test-results/allure --cov=. --cov-report=html --cov-report=term --cov-report=term-missing --cov-report=xml --dist=loadscope --html=test-results/html/test-report.html --numprocesses=auto"
norecursedirs = "test_data"
# python_paths = "tests"
testpaths = [
"tests"
]
# log_cli = true
# log_cli_level = "INFO"
# [tool.setuptools.dynamic]
# version = {attr = "docs.conf.version"}
[tool.setuptools.packages.find]
include = [
"pttools*",
]
exclude = [
"docs",
"examples",
"tests",
]