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
|
[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 = "sjsrey@gmail.com" },
{ name = "Levi Wolf", email = "levi.john.wolf@gmail.com" },
]
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/*", "docs/*"]
[tool.ruff.lint.per-file-ignores]
"*__init__.py" = [
"F401", # imported but unused
"F403", # star import; unable to detect undefined names
]
[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"
]
|