Files
geo_tools/pyproject.toml
2026-03-04 17:07:07 +08:00

99 lines
3.2 KiB
TOML

[build-system]
requires = ["setuptools>=68", "wheel"]
build-backend = "setuptools.backends.legacy:build"
[project]
name = "geo-tools"
version = "0.1.0"
description = "专业地理信息数据处理工具库 —— 基于 geopandas / shapely / fiona"
readme = "README.md"
requires-python = ">=3.10"
license = { text = "MIT" }
authors = [{ name = "geo_tools contributors" }]
keywords = ["gis", "geopandas", "shapely", "fiona", "spatial", "geospatial"]
classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: Science/Research",
"Topic :: Scientific/Engineering :: GIS",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
]
dependencies = [
"geopandas>=0.14",
"shapely>=2.0",
"fiona>=1.9",
"pyproj>=3.6",
"pandas>=2.0",
"numpy>=1.24",
"pydantic>=2.0",
"pydantic-settings>=2.0",
"python-dotenv>=1.0",
]
[project.optional-dependencies]
dev = [
"pytest>=7.4",
"pytest-cov>=4.1",
"pytest-timeout>=2.1",
"black>=23.0",
"isort>=5.12",
"flake8>=6.0",
"mypy>=1.5",
]
notebook = [
"jupyter>=1.0",
"matplotlib>=3.7",
"contextily>=1.4",
"folium>=0.15",
]
raster = [
"rasterio>=1.3",
"xarray>=2023.6",
"rio-cogeo>=4.0",
]
[project.urls]
Homepage = "https://github.com/your-org/geo_tools"
Repository = "https://github.com/your-org/geo_tools"
"Bug Tracker" = "https://github.com/your-org/geo_tools/issues"
[tool.setuptools.packages.find]
where = ["."]
include = ["geo_tools*"]
# ── pytest ─────────────────────────────────────────────────────────────────
[tool.pytest.ini_options]
testpaths = ["tests"]
addopts = "-v --tb=short"
timeout = 120
# ── coverage ────────────────────────────────────────────────────────────────
[tool.coverage.run]
source = ["geo_tools"]
omit = ["tests/*", "scripts/*", "examples/*"]
[tool.coverage.report]
show_missing = true
skip_covered = false
# ── black ───────────────────────────────────────────────────────────────────
[tool.black]
line-length = 100
target-version = ["py310", "py311", "py312"]
# ── isort ───────────────────────────────────────────────────────────────────
[tool.isort]
profile = "black"
line_length = 100
# ── mypy ────────────────────────────────────────────────────────────────────
[tool.mypy]
python_version = "3.10"
ignore_missing_imports = true
warn_return_any = false