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
|
[build-system]
requires = ["setuptools>=61.0", "setuptools_scm[toml]>=6.2"]
build-backend = "setuptools.build_meta"
[tool.setuptools_scm]
[project]
name = "mapclassify"
dynamic = ["version"]
maintainers = [
{ name = "Serge Rey", email = "sjsrey@gmail.com" },
{ name = "Wei Kang", email = "weikang9009@gmail.com" },
]
license = { text = "BSD 3-Clause" }
description = "Classification Schemes for Choropleth Maps."
keywords = ["spatial statistics", "geovisualization"]
readme = { text = """\
`mapclassify` implements a family of classification schemes for choropleth maps.
Its focus is on the determination of the number of classes, and the assignment
of observations to those classes. It is intended for use with upstream mapping
and geovisualization packages (see `geopandas`_ and `geoplot`_)
that handle the rendering of the maps.
For further theoretical background see "`Choropleth Mapping`_" in Rey, S.J., D. Arribas-Bel, and L.J. Wolf (2020) "Geographic Data Science with PySAL and the PyData Stackā.
.. _geopandas: https://geopandas.org/mapping.html
.. _geoplot: https://residentmario.github.io/geoplot/user_guide/Customizing_Plots.html
.. _Choropleth Mapping: https://geographicdata.science/book/notebooks/05_choropleth.html
""", content-type = "text/x-rst" }
classifiers = [
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"License :: OSI Approved :: BSD License",
"Operating System :: OS Independent",
"Intended Audience :: Science/Research",
"Topic :: Scientific/Engineering :: GIS",
]
requires-python = ">=3.9"
dependencies = [
"networkx>=2.7",
"numpy>=1.23",
"pandas>=1.4,!=1.5.0",
"scikit-learn>=1.0",
"scipy>=1.8",
]
[project.urls]
Home = "https://pysal.org/mapclassify/"
Repository = "https://github.com/pysal/mapclassify"
[project.optional-dependencies]
speedups = [
"numba>=0.54"
]
dev = [
"ruff",
"pre-commit",
"watermark",
]
docs = [
"nbsphinx",
"numpydoc",
"sphinx>=1.4.3",
"sphinx-gallery",
"sphinxcontrib-bibtex",
"sphinx_bootstrap_theme",
]
tests = [
"geopandas",
"libpysal",
"matplotlib",
"pytest",
"pytest-cov",
"pytest-xdist",
"pytest-doctestplus",
"pytest-mpl"
]
all = ["numba[speedups,dev,docs,tests]"]
[tool.setuptools.packages.find]
include = ["mapclassify", "mapclassify.*"]
[tool.ruff]
line-length = 88
lint.select = ["E", "F", "W", "I", "UP", "N", "B", "A", "C4", "SIM", "ARG"]
lint.ignore = [
"B006",
"B008",
"B009",
"B010",
"C408",
"E731",
"F401",
"F403",
"F405",
"N803",
"N806",
"N999",
"UP007"
]
exclude = ["mapclassify/tests/*", "docs/*"]
[tool.coverage.run]
source = ["./mapclassify"]
[tool.coverage.report]
exclude_lines = [
"if self.debug:",
"pragma: no cover",
"raise NotImplementedError",
"except ModuleNotFoundError:",
"except ImportError",
]
ignore_errors = true
omit = ["mapclassify/tests/*", "docs/conf.py"]
|