-
Notifications
You must be signed in to change notification settings - Fork 78
/
pyproject.toml
141 lines (129 loc) · 3.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
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
[build-system]
requires = ["setuptools>=61.0", "setuptools_scm[toml]>=6.2"]
build-backend = "setuptools.build_meta"
[tool.setuptools_scm]
[project]
name = "libpysal"
dynamic = ["version"]
authors = [ # in alphabetical order
{ name = "Serge Rey", email = "[email protected]" },
{ name = "Levi Wolf", email = "[email protected]" },
]
maintainers = [{ name = "PySAL Developers" }]
license = { text = "BSD 3-Clause" }
description = "Core components of PySAL - A library of spatial analysis functions"
keywords = ["spatial statistics", "spatial graphs"]
readme = "README.md"
classifiers = [
"Programming Language :: Python :: 3",
"License :: OSI Approved :: BSD License",
"Operating System :: OS Independent",
"Intended Audience :: Science/Research",
"Topic :: Scientific/Engineering :: GIS",
]
requires-python = ">=3.10"
dependencies = [
"beautifulsoup4>=4.10",
"geopandas>=0.10.0",
"numpy>=1.22",
"packaging>=22",
"pandas>=1.4",
"platformdirs>=2.0.2",
"requests>=2.27",
"scipy>=1.8",
"shapely>=2.0.1",
"scikit-learn>=1.1",
]
[project.urls]
Home = "https://github.com/pysal/libpysal/"
Repository = "https://github.com/pysal/libpysal"
[project.optional-dependencies]
plus = [
"joblib>=1.2",
"networkx>=2.7",
"numba>=0.55",
"pyarrow>=7.0",
"sqlalchemy>=2.0",
"xarray>=2022.3",
"zstd",
]
dev = [
"pre-commit",
"ruff",
"watermark",
]
docs = [
"myst-parser",
"nbsphinx",
"numpydoc",
"pandoc",
"sphinx",
"sphinxcontrib-bibtex",
"sphinx_bootstrap_theme",
]
tests = [
"codecov",
"geodatasets>=2023.3.0",
"matplotlib>=3.6",
"pytest",
"pytest-mpl",
"pytest-cov",
"pytest-xdist",
]
[tool.setuptools.packages.find]
include = ["libpysal", "libpysal.*"]
[tool.ruff]
line-length = 88
lint.select = ["E", "F", "W", "I", "UP", "N", "B", "A", "C4", "SIM", "ARG"]
target-version = "py310"
exclude = [
"libpysal/tests/*",
"libpysal/cg/tests/fast_point_in_polygon_algorithm.ipynb"
]
include = ["*.py", "*.ipynb"]
[tool.ruff.lint.per-file-ignores]
"*__init__.py" = [
"F401", # imported but unused
"F403", # star import; unable to detect undefined names
]
"*.ipynb" = [
"C408", # Unnecessary `dict` call
"E402", # Module level import not at top of cell
]
"docs/conf.py" = [
"A001", # Variable `copyright` is shadowing a Python builtin
"E501", # Line too long
"UP031", # Use format specifiers instead of percent format
]
[tool.coverage.run]
source = ["./libpysal"]
[tool.coverage.report]
exclude_lines = [
"raise NotImplementedError",
"except ModuleNotFoundError:",
"except ImportError",
]
ignore_errors = true
omit = ["libpysal/tests/*", "docs/conf.py"]
[tool.pytest.ini_options]
filterwarnings = [
"ignore:The numba package is used",
"ignore:numba cannot be imported",
"ignore:Numba not imported",
"ignore:The weights matrix is not fully connected",
"ignore:You are trying to build a full W object from",
"ignore:Multiple layers detected. Using first layer as default",
"ignore:Geometry is in a geographic CRS",
"ignore:`use_index` defaults to False",
"ignore:Objects based on the `Geometry` class will deprecated",
"ignore:PolygonLocator is deprecated",
"ignore:SegmentGrid is deprecated",
"ignore:In the next version of libpysal, observations with no neighbors",
"ignore:divide by zero encountered",
"ignore:invalid value encountered",
"ignore:Passing a SingleBlockManager", # https://github.com/geopandas/geopandas/issues/3060
"ignore:Passing a BlockManager", # https://github.com/geopandas/geopandas/issues/3060
]
markers = [
"network: marks tests that require a network connection"
]