-
Notifications
You must be signed in to change notification settings - Fork 19
Expand file tree
/
Copy pathpyproject.toml
More file actions
105 lines (95 loc) · 3.01 KB
/
pyproject.toml
File metadata and controls
105 lines (95 loc) · 3.01 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
[project]
name = "lsdb"
license = "BSD-3-Clause"
license-files = ["LICENSE", "CITATION.bib"]
readme = "README.md"
description = "Spatial analysis for extremely large astronomical catalogs using dask"
authors = [
{ name = "LINCC Frameworks", email = "lincc-frameworks-team@lists.lsst.org" }
]
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
"Operating System :: OS Independent",
"Programming Language :: Python",
]
dynamic = ["version"]
requires-python = ">=3.11"
dependencies = [
# Includes dask[array,dataframe,distributed,diagnostics].
# dask distributed eases the creation of parallel dask clients.
# dask diagnostics is required to spin up the dashboard for profiling.
"dask[complete]>=2025.3.0",
"deprecated",
"hats>=0.9.0,<0.10",
"human_readable>=2.0.0",
"nested-pandas>=0.6.7,<0.7.0",
"numpy",
"pyarrow",
"scipy>=1.7.2", # kdtree
"tabulate>=0.7.0",
"universal-pathlib",
"tqdm>=4.59.0",
]
[project.urls]
source = "https://github.com/astronomy-commons/lsdb"
documentation = "https://lsdb.readthedocs.io/"
# On a mac, install optional dependencies with `pip install '.[dev]'` (include the single quotes)
[project.optional-dependencies]
dev = [
"asv[virtualenv]==0.6.5", # Used to compute performance benchmarks
"astropy", # Needed for testing astropy table loading
"black", # Used for static linting of files
"jupyter", # Clears output from Jupyter notebooks
"mypy", # Used for static type checking of files
"pre-commit", # Used to run checks before finalizing a git commit
"pylint", # Used for static linting of files
"pytest",
"pytest-cov", # Used to report total code coverage
"pytest-mock", # Used to mock objects in tests
"types-tabulate", # Type information for tabulate
]
s3fs = [
"s3fs>0.5",
]
full = [
"fsspec[full]", # complete file system specs.
"ipykernel", # Support for Jupyter notebooks
"ipywidgets", # useful for tqdm in notebooks.
"lancedb", # Used to write lance datasets in to_lance.py
"lsst-sphgeom ; sys_platform == 'darwin' or sys_platform == 'linux'", # To handle spherical sky polygons, not available on Windows
"matplotlib",
]
[build-system]
requires = [
"setuptools>=62", # Used to build and package the Python project
"setuptools_scm>=6.2", # Gets release version from git. Makes it available programmatically
]
build-backend = "setuptools.build_meta"
[tool.setuptools_scm]
write_to = "src/lsdb/_version.py"
[tool.pytest.ini_options]
testpaths = [
"tests",
"src",
"docs",
]
addopts = "--doctest-modules --doctest-glob=*.rst"
[tool.setuptools.package-data]
lsdb = ["py.typed"]
[tool.coverage.report]
omit = [
"src/lsdb/_version.py", # auto-generated
]
[tool.black]
line-length = 110
[tool.isort]
profile = "black"
line_length = 110
skip_glob = ["benchmarks/env/*"]
[tool.coverage.run]
omit=["src/lsdb/_version.py"]
[tool.mypy]
plugins = "pydantic.mypy"
disable_error_code = ["operator"]