-
Notifications
You must be signed in to change notification settings - Fork 17
Expand file tree
/
Copy pathpyproject.toml
More file actions
112 lines (103 loc) · 2.84 KB
/
Copy pathpyproject.toml
File metadata and controls
112 lines (103 loc) · 2.84 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
[build-system]
requires = [
"setuptools>=77",
"wheel",
"setuptools-git-versioning",
"cython",
"numpy>=2.0.0rc1",
]
build-backend = "setuptools.build_meta"
[project]
name = "caput"
description = "Cluster Astronomical Python Utilities"
license = "GPL-2.0-or-later"
license-files = ["LICENSE"]
authors = [
{ name = "The CHIME Collaboration", email = "lgray@phas.ubc.ca" }
]
maintainers = [
{ name = "Liam Gray", email = "lgray@phas.ubc.ca" },
{ name = "Don Wiebe", email = "dvw@phas.ubc.ca" }
]
dynamic = ["readme", "version"]
requires-python = ">=3.10"
dependencies = [
"cachetools",
"click",
"cython",
"h5py",
"numpy>=1.24",
"psutil",
"PyYAML",
"toml",
"scipy>=1.13",
"skyfield>=1.31",
]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
]
[project.optional-dependencies]
mpi = ["mpi4py>=1.3"]
compression = ["bitshuffle"]
zarr = ["zarr>=2.11.0,<3", "numcodecs>=0.7.3"]
fftw = ["pyfftw>=0.13.1"]
profiling = ["pyinstrument>5"]
# Install all optional extras
complete = ["caput[mpi,zarr,compression,fftw]"]
# Extras for tests and documentation
test = [
"caput[complete]",
"pre-commit",
"pytest",
"pytest-cov",
"pytest-mpi",
"pytest-lazy-fixtures",
]
docs = [
"caput[complete]",
"gitpython",
"Sphinx>=5.0,<9",
"pydata_sphinx_theme",
"sphinx-autoapi",
"sphinx-copybutton",
"numpydoc",
]
dev = ["caput[test]", "caput[docs]", "caput[profiling]", "ruff"]
[project.urls]
Documentation = "https://caput.readthedocs.io/"
Repository = "https://github.com/radiocosmology/caput"
[project.scripts]
caput-pipeline = "caput.pipeline.runner._cli:cli"
# setuptools configuration
[tool.setuptools.dynamic]
readme = { file = ["README.md"], content-type = "text/markdown" }
[tool.setuptools-git-versioning]
enabled = true
[tool.setuptools.packages]
find = {}
[tool.setuptools.package-data]
caput = ["py.typed", "*.pyi"]
"caput.pipeline.runner._scheduler" = ["_default_systems.toml"]
# pytest configuration
[tool.pytest.ini_options]
# Required to use pyproject.toml for pytest configuration
minversion = "6.0"
# Uses recommended importlib mode for test discovery, which
# is not the default for compatibility reasons
addopts = [
"--import-mode=importlib",
"--verbose",
"--strict-markers",
]
# This isn't really necessary, but it makes it explicit
# that pytest should only look in these directories for tests
# `caput` is included to allow doctest discovery in the main package
testpaths = ["tests", "caput"]