PyMapGIS Documentation

Modern GIS toolkit for Python - Simplifying geospatial workflows with built-in data sources, intelligent caching, and fluent APIs

View the Project on GitHub pymapgis/core

πŸ—ΊοΈ PyMapGIS Documentation

Modern GIS toolkit for Python - Simplifying geospatial workflows with built-in data sources, intelligent caching, and fluent APIs.

PyPI version Python 3.10+ License: MIT


πŸš€ Quick Start

pip install pymapgis
import pymapgis as pmg

# Load Census data with automatic geometry
data = pmg.read("census://acs/acs5?year=2022&geography=county&variables=B25070_010E,B25070_001E")

# Calculate housing cost burden
data["cost_burden_rate"] = data["B25070_010E"] / data["B25070_001E"]

# Create interactive map
data.plot.choropleth(
    column="cost_burden_rate",
    title="Housing Cost Burden by County (2022)",
    cmap="Reds"
).show()

πŸ“š Documentation

πŸš€ Quick Start

Get up and running in 5 minutes. Create your first interactive map with real Census data.

πŸ“– User Guide

Comprehensive guide covering all PyMapGIS concepts, features, and workflows.

πŸ”§ API Reference

Complete API documentation with function signatures, parameters, and examples.

πŸ’‘ Examples

Real-world examples and use cases with complete, runnable code.

πŸ§‘β€πŸ’» Developer Docs

Information for contributors: architecture, setup, and extending PyMapGIS.


✨ Key Features


πŸ“Š Supported Data Sources

Source URL Pattern Description
Census ACS census://acs/acs5?year=2022&geography=county American Community Survey data
TIGER/Line tiger://county?year=2022&state=06 Census geographic boundaries
Local Files file://path/to/data.geojson Local geospatial files

🎯 Example Use Cases

Housing Analysis

# Housing cost burden analysis
housing = pmg.read("census://acs/acs5?year=2022&geography=county&variables=B25070_010E,B25070_001E")
housing["cost_burden_rate"] = housing["B25070_010E"] / housing["B25070_001E"]
housing.plot.choropleth(column="cost_burden_rate", title="Housing Cost Burden").show()

Labor Market Analysis

# Labor force participation
labor = pmg.read("census://acs/acs5?year=2022&geography=county&variables=B23025_004E,B23025_003E")
labor["lfp_rate"] = labor["B23025_004E"] / labor["B23025_003E"]
labor.plot.choropleth(column="lfp_rate", title="Labor Force Participation").show()

Demographic Mapping

# Population density
pop = pmg.read("census://acs/acs5?year=2022&geography=county&variables=B01003_001E")
pop["density"] = pop["B01003_001E"] / (pop.geometry.area / 2589988.11)  # per sq mile
pop.plot.choropleth(column="density", title="Population Density").show()

πŸ› οΈ Installation

pip install pymapgis

From Source

git clone https://github.com/pymapgis/core.git
cd core
poetry install

🀝 Community


πŸ“„ License

PyMapGIS is open source software licensed under the MIT License.


Made with ❀️ by the PyMapGIS community