Skip to main content

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

Project description

๐Ÿ—บ๏ธ PyMapGIS

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

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

๐ŸŽ‰ Latest Achievements

โœ… 100% CI/CD Success - All 251 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

๐Ÿš€ 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

  • โœ… 251/251 Tests Passing (100% success rate)
  • โœ… 0 MyPy Type Errors (perfect type safety)
  • โœ… 100% Ruff Compliance (clean code standards)
  • โœ… 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: v0.3.2 - Enterprise Ready

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

  • ๐ŸŒŸ Production-Grade Quality (100% test success, zero type errors)
  • ๐ŸŒŸ 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

  • ๐ŸŽฏ 251/251 Tests Passing (100% success rate)
  • ๐Ÿ” 0 MyPy Type Errors (perfect type safety)
  • โœจ 100% Ruff Compliance (clean code standards)
  • ๐Ÿš€ 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 โค๏ธ

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pymapgis-1.0.0.tar.gz (172.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pymapgis-1.0.0-py3-none-any.whl (204.0 kB view details)

Uploaded Python 3

File details

Details for the file pymapgis-1.0.0.tar.gz.

File metadata

  • Download URL: pymapgis-1.0.0.tar.gz
  • Upload date:
  • Size: 172.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for pymapgis-1.0.0.tar.gz
Algorithm Hash digest
SHA256 654bf6eaf7ad13b25a96690766476d9290d789e8a0f2b7a4f74aa35abe1e57b0
MD5 74f453188a1f4f6100037265bf44a44f
BLAKE2b-256 4684b94ecb315f348e5893288e1fcc9df0b62ce679d13f16484fd44eedb8eeee

See more details on using hashes here.

File details

Details for the file pymapgis-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: pymapgis-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 204.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for pymapgis-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 35beb2674aafbeadc6d3b8407b2afa4068b9b2c203207c7bc6494e55168aca3c
MD5 eecffe30ab47afb0998234ad6c87ae34
BLAKE2b-256 3d356c42a0d52026f689e9e6e6a6674837a21667e51daff10ec19a19e19aca84

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page