-
Notifications
You must be signed in to change notification settings - Fork 0
/
pyproject.toml
125 lines (114 loc) · 2.68 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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
[build-system]
requires = ["setuptools", "lsst-versions >= 1.3.0"]
build-backend = "setuptools.build_meta"
[project]
name = "lsst-multiprofit"
description = "Astronomical image and source model fitting code."
license = {file = "LICENSE"}
readme = "README.rst"
authors = [
{name="Rubin Observatory Data Management", email="[email protected]"},
]
classifiers = [
"Intended Audience :: Science/Research",
"License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Topic :: Scientific/Engineering :: Astronomy",
]
keywords = [
"astronomy",
"astrophysics",
"fitting",
"lsst",
"models",
"modeling",
]
requires-python = ">=3.10.0"
dependencies = [
"astropy",
"lsst-gauss2d",
"lsst-gauss2d-fit",
"lsst-pex-config",
"lsst-utils",
"importlib_resources",
"matplotlib",
"numpy",
"pydantic",
"scipy",
]
dynamic = ["version"]
[project.urls]
"Homepage" = "https://github.com/lsst-dm/multiprofit"
[project.optional-dependencies]
galsim = ["galsim"]
test = [
"pytest",
]
[tool.setuptools.packages.find]
where = ["python"]
[tool.setuptools.dynamic]
version = { attr = "lsst_versions.get_lsst_version" }
[tool.black]
line-length = 110
target-version = ["py311"]
force-exclude = [
"examples/fithsc.py",
]
[tool.isort]
profile = "black"
line_length = 110
force_sort_within_sections = true
[tool.ruff]
exclude = [
"__init__.py",
"examples/fithsc.py",
"examples/test_utils.py",
"tests/*.py",
]
ignore = [
"N802",
"N803",
"N806",
"N812",
"N815",
"N816",
"N999",
"D107",
"D105",
"D102",
"D104",
"D100",
"D200",
"D205",
"D400",
]
line-length = 110
select = [
"E", # pycodestyle
"F", # pycodestyle
"N", # pep8-naming
"W", # pycodestyle
"D", # pydocstyle
]
target-version = "py311"
[tool.ruff.pycodestyle]
max-doc-length = 79
[tool.ruff.pydocstyle]
convention = "numpy"
[tool.numpydoc_validation]
checks = [
"all", # All except the rules listed below.
"ES01", # No extended summary required.
"EX01", # Example section.
"GL01", # Summary text can start on same line as """
"GL08", # Do not require docstring.
"PR04", # numpydoc parameter types are redundant with type hints
"RT01", # Unfortunately our @property trigger this.
"RT02", # Does not want named return value. DM style says we do.
"SA01", # See Also section.
"SS05", # pydocstyle is better at finding infinitive verb.
"SS06", # Summary can go into second line.
]