-
Notifications
You must be signed in to change notification settings - Fork 7
/
pyproject.toml
111 lines (100 loc) · 3.22 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
106
107
108
109
110
111
[build-system]
requires = [
"setuptools>=61.0",
"wheel",
"setuptools-git-versioning",
"cython",
"numpy>=2.0.0rc1",
]
build-backend = "setuptools.build_meta"
[project]
name = "draco"
description = "Analysis and simulation tools for driftscan radio interferometers"
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 = [
"caput @ git+https://github.com/radiocosmology/caput.git",
"caput[compression] @ git+https://github.com/radiocosmology/caput.git",
"cora @ git+https://github.com/radiocosmology/cora.git",
"cython>0.18",
"driftscan @ git+https://github.com/radiocosmology/driftscan.git",
"mpi4py",
"numpy>=1.24",
"scikit-image",
"scipy>=0.10",
"skyfield",
"pywavelets",
]
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]
lint = ["black", "ruff"]
test = ["pytest", "wheel"]
docs = ["Sphinx>=5.0", "sphinx_rtd_theme"]
[project.urls]
Documentation = "https://radiocosmology.github.io/draco"
Repository = "https://github.com/radiocosmology/draco"
[tool.setuptools.dynamic]
readme = { file = ["README.md"], content-type = "text/markdown" }
[tool.setuptools-git-versioning]
enabled = true
[tool.setuptools.packages]
find = {}
[tool.pytest.ini_options]
minversion = "6"
addopts = "--strict-markers"
markers = ["mpi: mark a test that should be run under MPI"]
[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"]
# E203, W503
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
]
# Ignore the following directories
exclude = [
".git",
".github",
"build",
"doc",
"test",
"*/__init__.py",
]
target-version = "py39"