[build-system]
requires = ["hatchling>=1.21.0", "hatch-vcs>=0.3.0"]
build-backend = "hatchling.build"

[project]
name = "pingkit"
description = "Workshop toolkit for mobile location (GPS ping) data: I/O, QC, OD matrices, and quick maps."
readme = { file = "README.md", content-type = "text/markdown" }
license = { file = "LICENSE" }
keywords = ["mobility", "gps", "transport", "od-matrix", "geospatial", "training"]
authors = [{ name = "Development Data Partnership", email = "datapartnership@worldbank.org" }]
classifiers = [
	"Programming Language :: Python :: 3",
	"Programming Language :: Python :: 3.10",
	"Programming Language :: Python :: 3.11",
	"Programming Language :: Python :: 3.12",
	"Programming Language :: Python :: 3 :: Only",
	"License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)",
	"Operating System :: OS Independent",
	"Intended Audience :: Science/Research",
	"Topic :: Scientific/Engineering :: GIS",
]
dynamic = ["version"]

requires-python = ">=3.10"
dependencies = [
	"pandas>=2",
	"numpy>=1.24",
	"pyarrow>=14",
	"shapely>=2",
	"geopandas>=0.14",
	"folium>=0.16",
	"h3>=4",
	"mapclassify>=2.6",
	"matplotlib>=3.7",
	"ipykernel>=6",
]
[project.optional-dependencies]
docs = [
	"docutils==0.17.1", # pinned to docutils==0.17.1 due to https://github.com/worldbank/template/issues/60. See also: https://jupyterbook.org/en/stable/content/citations.html?highlight=docutils#citations-and-bibliographies
	"jupyter-book>=1,<2",
]

[project.urls]
"Homepage" = "https://github.com/datapartnership/pingkit"
"Bug Reports" = "https://github.com/datapartnership/pingkit/issues"
"Source" = "https://github.com/datapartnership/pingkit"

[tool.codespell]
skip = 'docs/_build,docs/bibliography.bib,*.png,*.gz,*.whl'
ignore-regex = '^\s*"image\/png":\s.*'
ignore-words-list = "gost,Nd"

[tool.hatch.build.targets.sdist]
include = [
    "src/**/*"
]

[tool.hatch.build.targets.wheel]
packages = ["src/pingkit"]

[tool.hatch.version]
source = "vcs"

[tool.ruff.lint.pydocstyle]
convention = "numpy"
