-
Notifications
You must be signed in to change notification settings - Fork 21
/
pyproject.toml
105 lines (97 loc) · 2.95 KB
/
pyproject.toml
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
[build-system]
requires = [
"setuptools",
"wheel",
"setuptools-git-versioning",
"cython",
"numpy>=2.0.0rc1",
]
build-backend = "setuptools.build_meta"
[project]
name = "caput"
description = "Cluster Astronomical Python Utilities"
license = { file = "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.9"
dependencies = [
"cachetools",
"click",
"cython",
"h5py",
"numpy>=1.24",
"psutil",
"PyYAML",
"scipy",
"skyfield>=1.31",
]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
]
[project.optional-dependencies]
mpi = ["mpi4py>=1.3"]
compression = ["bitshuffle", "numcodecs>=0.7.3", "zarr>=2.11.0"]
profiling = ["pyinstrument"]
docs = ["Sphinx>=5.0", "sphinx_rtd_theme", "funcsigs", "mock"]
lint = ["ruff", "black"]
test = ["pytest", "pytest-lazy-fixtures"]
fftw = ["pyfftw"]
[project.urls]
Documentation = "https://caput.readthedocs.io/"
Repository = "https://github.com/radiocosmology/caput"
[project.scripts]
caput-pipeline = "caput.scripts.runner:cli"
[tool.setuptools.dynamic]
readme = { file = ["README.md"], content-type = "text/markdown" }
[tool.setuptools-git-versioning]
enabled = true
[tool.setuptools.packages]
find = {}
[tool.ruff]
# Enable:
# pycodestyle ('E')
# pydocstyle ('D')
# pyflakes ('F')
# isort ('I')
# pyupgrade ('UP')
# numpy-specific ('NPY')
# ruff-specific ('RUF')
# flake8-blind-except ('BLE')
# flake8-comprehensions ('C4')
# flake8-return ('RET')
lint.select = ["E", "D", "F", "I", "UP", "NPY", "RUF", "BLE", "C4", "RET"]
lint.ignore = [
"E501", # E501: line length violations. Enforce these with `black`
"E741", # E741: Ambiguous variable name
"D105", # D105: Missing docstring in magic method
"D107", # D107: Missing docstring in init
"D203", # D203: 1 blank line required before class docstring
"D213", # D213: Multi-line docstring summary should start at the second line
"D400", # D400: First line should end with a period (only ignoring this because there's another error that catches the same thing)
"D401", # D401: First line should be in imperative mood
"D402", # D402: First line should not be the function’s “signature”
"D413", # D413: Missing blank line after last section
"D416", # D416: Section name should end with a colon
"NPY002", # NPY002: replace legacy numpy.random calls with np.random.Generator
]
exclude = [
".git",
".github",
"build",
"doc",
"tests",
]
target-version = "py39"