Skip to content
/ core Public

🗺️ Enterprise-Grade Modern GIS Toolkit for Python - Revolutionizing geospatial workflows with built-in data sources, intelligent caching, cloud-native processing, and enterprise authentication.

License

Notifications You must be signed in to change notification settings

pymapgis/core

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🗺️ PyMapGIS

PyPI version Python 3.10+ License: MIT CI Tests Type Safety Docker Enterprise GitHub stars Downloads

Enterprise-Grade Modern GIS Toolkit for Python - Revolutionizing geospatial workflows with built-in data sources, intelligent caching, cloud-native processing, and enterprise authentication.

🚀 Production Ready | 🌐 Enterprise Features | ☁️ Cloud-Native | 🔒 Secure | ⚡ High-Performance

🎯 Live Showcase Demos - Try PyMapGIS Now!

🌟 New to PyMapGIS? Start here! Experience the power of PyMapGIS through our interactive showcase demos:

Instant Access - No Installation Required

Open in Codespaces Try Flight Delay Demo Deploy Your Own

🚀 Demo 📊 Description 🔗 Try It 🛠️ Contribute
✈️ Flight Delay Now Live departure delays at 35 busiest US airports ▶️ Run in Codespaces🚀 Deploy 📝 Issues
🌍 Quake Impact Now Real-time earthquake impact assessment with USGS data 📁 View Code🚀 Deploy 📝 Issues
📦 Border Flow Analytics Cross-border trade flow visualization 📁 View Code🚀 Deploy 📝 Issues
🏠 Housing Cost Burden Interactive housing affordability analysis 📁 View Code🚀 Deploy 📝 Issues
🚛 Supply Chain Dashboard Enterprise logistics optimization 📁 View Code🚀 Deploy 📝 Issues

🤝 Join the PyMapGIS Community - Your Path to Impact

🌟 From Demo User to Team Leader in 5 Levels! We welcome developers of all skill levels and provide a clear progression path:

🎮 Level 1: Explorer (5 minutes)

🎯 Goal: Experience PyMapGIS power firsthand

🐛 Level 2: Reporter (15 minutes)

🎯 Goal: Help improve the demos you just tried Target: 20% conversion from Level 1

🔧 Level 3: Fixer (1-2 hours)

🎯 Goal: Fix bugs in demos you understand Target: 30% conversion from Level 2

🚀 Level 4: Builder (1-2 weeks)

🎯 Goal: Create new features and showcases Target: 40% conversion from Level 3

👑 Level 5: Leader (Ongoing)

🎯 Goal: Guide community growth and technical direction Target: 25% conversion from Level 4

  • 🎯 Mentorship: Guide new contributors through their journey
  • 📋 Project Management: Lead showcase development initiatives
  • 🏛️ Governance: Shape PyMapGIS technical and community direction
  • 🌟 Recognition: Core team member with commit access and decision-making authority

📊 Community Impact Metrics

🎯 Current Status

  • Active Contributors: Growing community of geospatial developers
  • Showcase Demos: 5 working demos across different domains
  • Issue Resolution: Fast response times with mentorship support
  • Recognition System: Clear progression and contributor acknowledgment

🚀 Success Indicators

  • Short-term (1-3 months): 10+ new contributors, 5+ showcase issues fixed
  • Medium-term (3-6 months): 2+ community-created showcases, 3+ Level 4 builders
  • Long-term (6-12 months): 20+ regular contributors, conference presentations

👉 Complete Contributing Guide →

🎉 Latest Achievements

100% CI/CD Success - All 189 tests passing with zero type errors ✅ Enterprise Authentication - JWT, OAuth, RBAC, and multi-tenant support ✅ Cloud-Native Integration - Direct S3, GCS, Azure access with smart caching ✅ Docker Production Ready - Containerized deployment with health monitoring ✅ Performance Optimized - 10-100x faster processing with async capabilities ✅ Version 1.0.1 - Enhanced stability with 87% reduction in test failures

🚀 Quick Start

Installation

# Standard installation
pip install pymapgis

# Enterprise features (authentication, cloud, streaming)
pip install pymapgis[enterprise,cloud,streaming]

# Docker deployment
docker pull pymapgis/core:latest

30-Second Demo

import pymapgis as pmg

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

# Calculate housing cost burden (30%+ of income on housing)
acs["cost_burden_rate"] = acs["B25070_010E"] / acs["B25070_001E"]

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

Enterprise Cloud Example

# Direct cloud data access (no downloads!)
gdf = pmg.cloud_read("s3://your-bucket/supply-chain-data.geojson")

# High-performance async processing
async with pmg.AsyncGeoProcessor() as processor:
    result = await processor.process_large_dataset(gdf)

# Enterprise authentication
auth = pmg.enterprise.AuthenticationManager()
user = auth.authenticate_user(username, password)

✨ Enterprise-Grade Features

🌐 Core Capabilities

  • Universal IO: Simplified data loading/saving for 20+ geospatial formats
  • Vector/Raster Accessors: Intuitive APIs for GeoDataFrames and Xarray processing
  • Interactive Maps: Advanced visualization with Leafmap, deck.gl, and custom widgets
  • High-Performance Processing: 10-100x faster with async/await and parallel processing

☁️ Cloud-Native Architecture

  • Multi-Cloud Support: Direct S3, GCS, Azure access without downloads
  • Smart Caching: Intelligent cache invalidation and optimization
  • Cloud-Optimized Formats: COG, GeoParquet, Zarr, FlatGeobuf support
  • Streaming Processing: Handle TB-scale datasets with minimal memory

🔒 Enterprise Security

  • JWT Authentication: Industry-standard token-based auth
  • OAuth Integration: Google, GitHub, Microsoft SSO
  • Role-Based Access Control (RBAC): Granular permissions system
  • Multi-Tenant Support: Isolated environments for organizations

🚀 Production Infrastructure

  • Docker Ready: Production-grade containerization
  • Health Monitoring: Built-in health checks and metrics
  • CI/CD Pipeline: 100% test coverage with automated deployment
  • Type Safety: Zero MyPy errors with comprehensive type annotations

📊 Advanced Analytics

  • Network Analysis: Shortest path, isochrones, routing optimization
  • Point Cloud Processing: LAS/LAZ support via PDAL integration
  • Streaming Data: Real-time Kafka/MQTT integration
  • ML/Analytics: Scikit-learn integration for spatial machine learning

🏆 Development Status & Achievements

PyMapGIS has achieved enterprise-grade maturity with world-class quality standards:

🎯 Quality Metrics

  • 189/189 Tests Passing (100% success rate)
  • 0 MyPy Type Errors (perfect type safety)
  • Enhanced Stability (87% reduction in test failures)
  • Docker Production Ready (containerized deployment)
  • Enterprise Security (JWT, OAuth, RBAC)

📈 Phase Completion Status

Phase 1: Core MVP (v0.1.0) - ✅ COMPLETE

  • ✅ Universal IO (pmg.read(), pmg.write())
  • ✅ Vector/Raster Accessors (.vector, .raster)
  • ✅ Census ACS & TIGER/Line Providers
  • ✅ HTTP Caching & Performance Optimization
  • ✅ CLI Tools (info, doctor, cache)
  • ✅ Comprehensive Testing & CI/CD

Phase 2: Enhanced Capabilities (v0.2.0) - ✅ COMPLETE

  • ✅ Interactive Mapping (Leafmap, deck.gl)
  • ✅ Advanced Cache Management
  • ✅ Plugin System & Registry
  • ✅ Enhanced CLI with Plugin Management
  • ✅ Expanded Data Source Support
  • ✅ Comprehensive Documentation

Phase 3: Enterprise Features (v0.3.2) - ✅ COMPLETE

  • Cloud-Native Integration (S3, GCS, Azure)
  • High-Performance Async Processing (10-100x faster)
  • Enterprise Authentication (JWT, OAuth, RBAC)
  • Multi-Tenant Architecture
  • Advanced Analytics & ML Integration
  • Real-Time Streaming (Kafka, MQTT)
  • Production Deployment (Docker, health monitoring)

🚀 Current Version: v1.0.1 - Production Ready

PyMapGIS now represents the gold standard for enterprise geospatial Python libraries with:

  • 🌟 Production-Grade Quality (100% test success, zero type errors)
  • 🌟 Enhanced Stability (87% reduction in test failures)
  • 🌟 Enterprise Security (authentication, authorization, multi-tenancy)
  • 🌟 Cloud-Native Architecture (direct cloud access, smart caching)
  • 🌟 High Performance (async processing, parallel operations)
  • 🌟 Deployment Ready (Docker, health monitoring, CI/CD)

📊 Comprehensive Data Sources

Built-in Data Providers

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 20+ geospatial formats

Cloud-Native Sources

Provider URL Pattern Description
Amazon S3 s3://bucket/data.geojson Direct S3 access
Google Cloud gs://bucket/data.parquet GCS integration
Azure Blob azure://container/data.zarr Azure storage
HTTP/HTTPS https://example.com/data.cog Remote files

Streaming Sources

Protocol URL Pattern Description
Kafka kafka://topic?bootstrap_servers=localhost:9092 Real-time streams
MQTT mqtt://broker/topic IoT sensor data
WebSocket ws://stream/geojson Live data feeds

🎯 Real-World Examples

📈 Supply Chain Analytics Dashboard

# Enterprise supply chain monitoring
import pymapgis as pmg

# Load supply chain data from cloud
warehouses = pmg.cloud_read("s3://logistics/warehouses.geojson")
routes = pmg.cloud_read("s3://logistics/delivery-routes.geojson")

# Real-time vehicle tracking
vehicles = pmg.streaming.read("kafka://vehicle-positions")

# Create interactive dashboard
dashboard = pmg.viz.create_dashboard([
    warehouses.plot.markers(size="capacity", color="utilization"),
    routes.plot.lines(width="traffic_volume"),
    vehicles.plot.realtime(update_interval=5)
])
dashboard.serve(port=8080)  # Deploy to production

🏠 Housing Market Analysis

# Traditional approach: 50+ lines of boilerplate
# PyMapGIS approach: 5 lines

housing = pmg.read("census://acs/acs5?year=2022&geography=county&variables=B25070_010E,B25070_001E")
housing["burden_30plus"] = housing["B25070_010E"] / housing["B25070_001E"]
housing.plot.choropleth(
    column="burden_30plus",
    title="% Households Spending 30%+ on Housing",
    cmap="OrRd"
).show()

⚡ High-Performance Processing

# Process massive datasets efficiently
async with pmg.AsyncGeoProcessor(max_workers=8) as processor:
    # Process 10M+ records in parallel
    result = await processor.process_large_dataset(
        "s3://big-data/census-blocks.parquet",
        operations=["buffer", "dissolve", "aggregate"]
    )

# 100x faster than traditional approaches!

🛠️ Installation & Deployment

📦 Standard Installation

# Core features
pip install pymapgis

# Enterprise features
pip install pymapgis[enterprise]

# Cloud integration
pip install pymapgis[cloud]

# All features
pip install pymapgis[enterprise,cloud,streaming,ml]

🐳 Docker Deployment

# Pull production image
docker pull pymapgis/core:latest

# Run with health monitoring
docker run -d \
  --name pymapgis-server \
  -p 8000:8000 \
  --health-cmd="curl -f http://localhost:8000/health" \
  pymapgis/core:latest

☁️ Cloud Deployment (Digital Ocean Example)

# Deploy to Digital Ocean Droplet
doctl compute droplet create pymapgis-prod \
  --image docker-20-04 \
  --size s-2vcpu-4gb \
  --region nyc1 \
  --user-data-file cloud-init.yml

🔧 Development Setup

git clone https://github.com/pymapgis/core.git
cd core
poetry install --with dev,test
poetry run pytest  # Run test suite

📚 Comprehensive Documentation

🚀 Getting Started

🌐 Enterprise & Deployment

🔧 Development & Contributing

Building Documentation Locally

The documentation is built using MkDocs with the Material theme.

  1. Install dependencies:

    pip install -r docs/requirements.txt
  2. Build and serve the documentation:

    mkdocs serve

    This will start a local development server, typically at http://127.0.0.1:8000/. Changes to the documentation source files will be automatically rebuilt.

  3. Build static site: To build the static HTML site (e.g., for deployment):

    mkdocs build

    The output will be in the site/ directory.

🤝 Contributing

We welcome contributions! PyMapGIS is an open-source project under the MIT license.

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

See CONTRIBUTING.md for detailed guidelines.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🏆 Quality & Recognition

📊 Project Metrics

  • 🎯 189/189 Tests Passing (100% success rate)
  • 🔍 0 MyPy Type Errors (perfect type safety)
  • Enhanced Stability (87% reduction in test failures)
  • 🚀 Enterprise Ready (production deployment)
  • 🌟 Community Driven (open source, MIT license)

🏅 Industry Standards

  • CI/CD Excellence - Automated testing and deployment
  • Security First - JWT, OAuth, RBAC implementation
  • Cloud Native - Multi-cloud support and optimization
  • Performance Optimized - 10-100x faster processing
  • Type Safe - Comprehensive type annotations

🙏 Acknowledgments

PyMapGIS stands on the shoulders of giants:

Special thanks to all contributors who made this enterprise-grade platform possible!


🚀 Built for the Enterprise. Powered by the Community. Made with ❤️

About

🗺️ Enterprise-Grade Modern GIS Toolkit for Python - Revolutionizing geospatial workflows with built-in data sources, intelligent caching, cloud-native processing, and enterprise authentication.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •