-
Notifications
You must be signed in to change notification settings - Fork 16
Expand file tree
/
Copy pathpyproject.toml
More file actions
130 lines (115 loc) · 3.67 KB
/
pyproject.toml
File metadata and controls
130 lines (115 loc) · 3.67 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
[project]
name = "soliket"
dynamic = ['version']
authors = [
{ name = "Simons Observatory" }
]
description = "Likelihood and Theory codes for the Simons Observatory."
readme = "README.rst"
requires-python = ">3.9,<3.14" # 3.14 is conflicting with many dependencies
license = { text = "MIT" }
dependencies = [
"requests (>=2.18)", # from cobaya
"scipy (>=1.10.0)", # from distutils
"cobaya (>=3.5.5)", # breaking change
"sacc (>=0.9)",
"camb (>=1.5)", # from cobaya
"getdist (>=1.3.1)", # from cobaya
"numpy (>=1.22.1); python_version < '3.12'", # breaking change
"numpy (>=1.25); python_version >= '3.12'", # from distutils
"astropy (>=5.3.4)", # breaking change
]
[project.urls]
Homepage = "https://github.com/simonsobs/SOLikeT/"
Documentation = "https://soliket.readthedocs.io/en/latest/"
[project.optional-dependencies]
emulator = [
"cosmopower (>=0.2.0); python_version < '3.12' and sys_platform != 'win32'", # from tensorflow
"tensorflow-probability (>=0.20.1); python_version < '3.12' and sys_platform != 'win32'", # breaking change
"tensorflow (>=2.12); python_version < '3.12' and sys_platform != 'win32'", # from python compatibility
]
pyccl = [
"pyccl>=3.1.2 ; sys_platform != 'win32' and python_version < '3.13'", # for stability
]
pyhalomodel = [
"pyhalomodel (>=1.0.1); python_version < '3.13'", # from python compatibility
]
mflike = [
"mflike (>=1.0.1); python_version < '3.13'", # breaking change
"fgspectra (>=1.3.0); python_version < '3.13'", # from mflike
"syslibrary (>=0.2.0); python_version < '3.13'", # from mflike
]
docs = [
"sphinx (<9); python_version < '3.12'", # tensorflow 2.13 pins typing-extensions==4.5.0
"sphinx; python_version >= '3.12'",
"sphinx-rtd-theme",
]
dev = [
"pytest (>=6.2.5)", # breaking change
"ruff",
"pytest-cov",
"scikit-learn (>=1.2)", # breaking change
"pre-commit",
]
all = [
"soliket[emulator]",
"soliket[pyccl]",
"soliket[pyhalomodel]",
"soliket[mflike]",
]
jupyter = [
"jupyter>=1.1.1",
]
[build-system]
requires = ["hatchling", "hatch-vcs"]
build-backend = "hatchling.build"
[tool.hatch.version]
source = "vcs"
[tool.hatch.build.hooks.vcs]
version-file = "soliket/_version.py"
[tool.hatch.build.targets.sdist]
exclude = ["notebooks/"]
[tool.hatch.build.targets.wheel]
packages = ["soliket"]
artifacts = ["soliket/_version.py"]
[tool.hatch.build]
include = [
"soliket/",
"tests/",
]
[tool.ruff.lint]
select = ["E713", "E703", "E714", "E741", "E10", "E11", "E20", "E22", "E23", "E25", "E262", "E27", "E301", "E302", "E304", "E9", "F405", "F406", "F5", "F6", "F7", "F8", "E501", "W191", "F401", "W1", "W292", "W293", "W3"]
extend-select = ["I"]
ignore = []
[tool.ruff.lint.per-file-ignores]
"*/__init__.py" = ["F401"]
"docs/*" = ["F401"]
[tool.ruff.format]
quote-style = "double"
indent-style = "space"
skip-magic-trailing-comma = false
line-ending = "auto"
[tool.ruff]
exclude = [".tox", "build", "cobaya_packages", "test", ".eggs"]
line-length = 90
[tool.coverage.run]
omit = ["tests/*", "*/tests/*"]
[tool.coverage.report]
exclude_lines = [
# Have to re-enable the standard pragma
"pragma: no cover",
# Don't complain about packages we have installed
"except ImportError",
"except ModuleNotFoundError",
"except Exception",
# Don't complain if tests don't hit assertions/raise
"raise AssertionError",
"raise LoggedError",
"raise NotImplementedError",
# Don't complain about script hooks
"def main\\(.*\\):",
# Ignore branches that don't pertain to this version of Python
"pragma: py{ignore_python_version}",
# Don't complain about IPython completion helper
"def _ipython_key_completions_",
]