Logo

πŸš€ Getting Started

  • Getting Started
    • Installation
      • Basic Installation
      • Optional Dependencies
        • For Spatial Analysis
        • For Raster Reading
        • For Complete Installation (Recommended)
        • None Dependencies
      • Development Installation
      • Verify Installation
      • Dependencies
        • Core Dependencies
        • Optional Dependencies
        • CLI Dependencies (Optional)
      • System Requirements
    • Quick Start Guide
      • 30-Second Example
      • 5-Minute Tutorial
        • Step 1: Import and Setup
        • Step 2: Search for Data
        • Step 3: Work with Results
      • Compare Providers
      • Key Concepts
      • Command Line Interface
      • Next Steps
    • Configuration Reference
      • Overview
      • Global Configuration
        • set_global_config
        • get_global_config
      • Environment-Specific Configuration
      • Performance Optimization
        • optimize_for_large_datasets
      • Configuration Profiles
      • Dynamic Configuration
      • Configuration Validation
      • Configuration Persistence
      • Best Practices
      • See Also
    • First Steps
      • Understanding Core Concepts
        • STAC (SpatioTemporal Asset Catalog)
        • Providers and Collections
      • Your First Search
        • Basic Search Parameters
        • Understanding Bounding Boxes
        • Working with Search Results
      • Understanding Assets
        • Asset Naming Conventions
        • Working with Assets
      • Getting URLs and Reading Data
        • URL Generation
        • Reading Data with Different Libraries
        • Basic Analysis Example
      • Quality Filtering
        • Cloud Cover Filtering
        • Advanced Search Filters
      • Data Organization and Download
        • Understanding Download Options
        • Folder Organization
        • Progress Tracking
      • Common Workflow Patterns
        • Pattern 1: Data Discovery
        • Pattern 2: Quality Assessment
        • Pattern 3: Progressive Download
      • Command Line Basics
        • Essential CLI Commands
        • Getting Help
      • Next Steps and Best Practices
        • Best Practices for Beginners
        • Performance Tips
        • Common Mistakes to Avoid
        • Ready for More?
    • What You’ll Learn
    • Prerequisites
    • What is Open Geodata API?
    • Supported Data Sources
    • Quick Overview
    • Learning Path
    • Next Steps
    • Need Help?
  • Installation
    • Basic Installation
    • Optional Dependencies
      • For Spatial Analysis
      • For Raster Reading
      • For Complete Installation (Recommended)
      • None Dependencies
    • Development Installation
    • Verify Installation
    • Dependencies
      • Core Dependencies
      • Optional Dependencies
      • CLI Dependencies (Optional)
    • System Requirements
  • Quick Start Guide
    • 30-Second Example
    • 5-Minute Tutorial
      • Step 1: Import and Setup
      • Step 2: Search for Data
      • Step 3: Work with Results
    • Compare Providers
    • Key Concepts
    • Command Line Interface
    • Next Steps
  • Configuration Reference
    • Overview
    • Global Configuration
      • set_global_config
        • set_global_config()
      • get_global_config
        • get_global_config()
    • Environment-Specific Configuration
    • Performance Optimization
      • optimize_for_large_datasets
        • optimize_for_large_datasets()
    • Configuration Profiles
    • Dynamic Configuration
    • Configuration Validation
    • Configuration Persistence
    • Best Practices
    • See Also
  • First Steps
    • Understanding Core Concepts
      • STAC (SpatioTemporal Asset Catalog)
      • Providers and Collections
    • Your First Search
      • Basic Search Parameters
      • Understanding Bounding Boxes
      • Working with Search Results
    • Understanding Assets
      • Asset Naming Conventions
      • Working with Assets
    • Getting URLs and Reading Data
      • URL Generation
      • Reading Data with Different Libraries
      • Basic Analysis Example
    • Quality Filtering
      • Cloud Cover Filtering
      • Advanced Search Filters
    • Data Organization and Download
      • Understanding Download Options
      • Folder Organization
      • Progress Tracking
    • Common Workflow Patterns
      • Pattern 1: Data Discovery
      • Pattern 2: Quality Assessment
      • Pattern 3: Progressive Download
    • Command Line Basics
      • Essential CLI Commands
      • Getting Help
    • Next Steps and Best Practices
      • Best Practices for Beginners
      • Performance Tips
      • Common Mistakes to Avoid
      • Ready for More?
  • Universal Catalog Quick Start
    • Installation
    • Basic Usage
    • Supported STAC APIs
    • Next Steps
  • Universal Catalog Authentication
    • Authentication Methods
      • Bearer Token Authentication
      • Custom Headers
      • Combined Authentication
      • No Authentication
    • Getting Authentication Tokens
      • DLR EOC STAC Catalog
      • OpenEO
    • Environment Variables
    • Configuration File
    • Security Best Practices
    • Troubleshooting Authentication

πŸ’‘ Examples & Tutorials

  • Examples
    • Basic Examples
      • Finding Available Data
      • Geographic Data Search
      • Working with Search Results
      • Getting Data URLs
      • Using URLs with Different Packages
    • Example Notebooks
      • Jupyter Notebooks
        • Available Notebooks
        • Quick Start
        • Notebook Descriptions
        • Requirements
        • Interactive Features
        • Contributing Notebooks
      • Sentinel-2 Analysis Notebook
        • Notebook Overview
        • Prerequisites
        • Notebook Sections
        • Download and Run
        • Key Learning Outcomes
        • Extensions
    • Quick Reference
  • Real-World Examples
    • Agricultural Monitoring
      • Crop Health Assessment with NDVI
    • Environmental Monitoring
      • Water Body Change Detection
    • Urban Development Analysis
      • Built-up Area Expansion
    • Climate Research
      • Temperature Trend Analysis
    • Disaster Response
      • Flood Extent Mapping
    • Multi-Sensor Analysis
      • Cross-Platform Data Fusion
    • Production Pipeline Example
      • Automated Monitoring System
  • Integration Examples
    • Integration with Dask
      • Parallel Processing Large Datasets
    • Integration with GeoPandas
      • Spatial Analysis with Vector Data
    • Integration with Plotly
      • Interactive Visualizations
    • Integration with Jupyter Widgets
      • Interactive Notebooks
    • Integration with MLflow
      • Experiment Tracking
    • Integration with Streamlit
      • Web Applications
  • Universal Catalog Usage Examples
    • Example 1: Basic Connection and Search
    • Example 2: Authenticated Access
    • Example 3: Multi-Provider Comparison
    • Example 4: Custom Headers and Configuration
    • Example 5: Band Name Mapping
    • Example 6: Error Handling
    • Example 7: Export and Download Workflow
    • Example 8: OpenEO Integration

πŸ“š API Reference

  • API Reference
    • Core Classes
      • STACItem
        • STACItem
      • STACItemCollection
        • STACItemCollection
      • STACAsset
        • STACAsset
      • STACSearch
        • STACSearch
      • Common Patterns
        • Working with Multiple Items
        • Provider-Agnostic Asset Access
        • Data Conversion
        • Error Handling
    • Client Classes
      • BaseAPIClient
        • BaseSTACClient
      • PlanetaryComputerCollections
        • PlanetaryComputerCollections
      • EarthSearchCollections
        • EarthSearchCollections
      • Client Comparison
        • Feature Comparison
        • When to Use Which
      • Multi-Client Workflows
        • Using Both Clients
        • Unified Search Interface
      • Error Handling
        • Client Error Patterns
        • Connection Issues
      • Best Practices
        • Client Configuration
        • Resource Management
    • Utility Functions Reference
      • Overview
      • Filtering Functions
        • filter_by_cloud_cover
        • filter_by_date_range
        • filter_by_geometry
      • Download Functions
        • download_datasets
        • download_url
        • download_items
        • download_seasonal_data
      • URL Management Functions
        • is_url_expired
        • is_signed_url
        • re_sign_url_if_needed
        • validate_urls
      • Data Processing Functions
        • create_download_summary
        • export_urls_to_json
      • Batch Processing Functions
        • process_items_in_batches
        • parallel_download
      • Analysis Helper Functions
        • calculate_ndvi
        • get_statistics
      • Error Handling Functions
        • handle_download_errors
        • validate_inputs
      • Configuration Management
        • set_global_config
        • get_global_config
      • Performance Optimization
        • optimize_for_large_datasets
      • Best Practices
      • Examples Gallery
      • See Also
    • Factory Functions
      • Client Factory Functions
        • planetary_computer
        • earth_search
        • get_clients
      • Utility Factory Functions
        • create_search_config
        • create_download_config
      • Configuration Management
        • set_global_defaults
        • get_global_config
      • Validation Functions
        • validate_bbox
        • validate_datetime
      • Helper Functions
        • info
        • check_providers
      • Advanced Factory Patterns
        • Custom Client Factory
        • Configuration Builder
      • Error Handling Patterns
        • Robust Client Creation
        • Factory with Validation
    • Usage Patterns (Full API Testing)
      • Install The Module
      • Initialize Module
      • Define Clients
      • Get Available Collections
      • STACSearch API Reference
        • Get all items from search results:
        • Get item collection from search results:
        • Get items from search results (Generator):
        • Extracting Items from Generator:
        • Get Matched Items:
        • Get Total Number of items:
        • Get Search Parameters:
        • Get all Available keys:
        • Get List of all Product IDs:
        • Get your Search Fallback Methods (used for pagination):
      • STACItemCollection API Reference
        • Get a Collection:
        • Get all Items as List:
        • Get all Items as Dictionary/JSON:
        • Get all Items as geojson (geojson module required):
        • Get all Items as DataFrame (pandas module required):
        • Filter Items by Property (date, datetime, days):
        • Get all unique collection types:
        • Get the date range of the collection:
        • Get all unique item IDs/assets:
        • Get all unique asset keys:
        • Get asset by pattern/Extensions (e.g., β€œ.xml”, β€œ.jp2”):
        • Get all unique asset keys by collection types:
        • Get all products/items in dictionary/json format with assets keys (without links):
        • Get all products/items in list format with/without links:
        • Get all unique asset keys by collection types:
        • Get all common asset keys:
        • Get all products/items in dictionary/json format with all assets keys and urls:
        • Get all products/items in list format with specific assets keys and urls:
        • Get only image/tiff assets urls:
        • Get only spectral bands urls:
        • Get only visual assets:
        • Save the collection to a file (JSON):
        • Get collection Summary:
      • STACItem API Reference
        • Choose an Item from Search Results:
        • Get Item Details in Dictionary/JSON Format:
        • Get Item All Item Keys:
        • Get Item Properties:
        • Get Item Id:
        • Get Assets List of an Item :
        • Fetch Band URLs:
        • Get All Asset URLs:
        • Get Asset List all available asset types:
        • Get Assets with URLs by Type defaulting to β€œimage/tiff”:
        • Get All Raster Assets and URLs:
        • Get All Metadata Assets and URLs:
        • Get Specific Band URLs:
        • Check if Item has Specific Asset:
        • Get RGB Bands URLs:
        • Get all Sentinel-2 Bands URLs:
        • Get Asset Informations
      • STACAsset API Reference
        • Get Asset Details:
    • Quick Navigation
    • Class Hierarchy
    • Usage Patterns
    • Downloadable Notebook of API References Testing:
  • Core Classes
    • STACItem
      • STACItem
        • STACItem.__init__()
        • STACItem.get()
        • STACItem.to_dict()
        • STACItem.copy()
        • STACItem.get_asset_url()
        • STACItem.get_all_asset_urls()
        • STACItem.get_assets_by_type()
        • STACItem.get_raster_assets()
        • STACItem.get_metadata_assets()
        • STACItem.list_asset_types()
        • STACItem.get_band_urls()
        • STACItem.list_assets()
        • STACItem.has_asset()
        • STACItem.get_rgb_urls()
        • STACItem.get_sentinel2_urls()
        • STACItem.print_assets_info()
    • STACItemCollection
      • STACItemCollection
        • STACItemCollection.__init__()
        • STACItemCollection.items
        • STACItemCollection.raw_items
        • STACItemCollection.get_available_bands()
        • STACItemCollection.get_all_urls()
        • STACItemCollection.get_band_urls()
        • STACItemCollection.to_simple_products_list()
        • STACItemCollection.to_list()
        • STACItemCollection.to_dict()
        • STACItemCollection.to_geojson()
        • STACItemCollection.get_all_assets()
        • STACItemCollection.get_assets_by_collection()
        • STACItemCollection.to_products_dict()
        • STACItemCollection.get_common_bands()
        • STACItemCollection.get_assets_by_pattern()
        • STACItemCollection.get_assets_by_extension()
        • STACItemCollection.get_assets_by_mime_type()
        • STACItemCollection.list_asset_extensions()
        • STACItemCollection.filter_by_cloud_cover()
        • STACItemCollection.filter_by_date_range()
        • STACItemCollection.get_unique_collections()
        • STACItemCollection.get_date_range()
        • STACItemCollection.to_dataframe()
        • STACItemCollection.to_geodataframe()
        • STACItemCollection.export_urls_json()
        • STACItemCollection.print_collection_summary()
        • STACItemCollection.check_dependencies()
    • STACAsset
      • STACAsset
        • STACAsset.__init__()
        • STACAsset.get()
        • STACAsset.to_dict()
        • STACAsset.copy()
    • STACSearch
      • STACSearch
        • STACSearch.__init__()
        • STACSearch.get_all_items()
        • STACSearch.item_collection()
        • STACSearch.items()
        • STACSearch.matched()
        • STACSearch.total_items()
        • STACSearch.search_params()
        • STACSearch.all_keys()
        • STACSearch.list_product_ids()
        • STACSearch.get_fallback_status()
        • STACSearch.set_limit_enforcement()
    • Common Patterns
      • Working with Multiple Items
      • Provider-Agnostic Asset Access
      • Data Conversion
      • Error Handling
  • Client Classes
    • BaseAPIClient
      • BaseSTACClient
        • BaseSTACClient.__init__()
        • BaseSTACClient.list_collections()
        • BaseSTACClient.search_collections()
        • BaseSTACClient.get_collection_info()
        • BaseSTACClient.collections_title()
        • BaseSTACClient.available_collections()
        • BaseSTACClient.search()
        • BaseSTACClient.create_bbox_from_center()
        • BaseSTACClient.create_geojson_polygon()
    • PlanetaryComputerCollections
      • PlanetaryComputerCollections
        • PlanetaryComputerCollections.__init__()
        • PlanetaryComputerCollections.search()
    • EarthSearchCollections
      • EarthSearchCollections
        • EarthSearchCollections.__init__()
        • EarthSearchCollections.search()
    • Client Comparison
      • Feature Comparison
      • When to Use Which
    • Multi-Client Workflows
      • Using Both Clients
      • Unified Search Interface
    • Error Handling
      • Client Error Patterns
      • Connection Issues
    • Best Practices
      • Client Configuration
      • Resource Management
  • Utility Functions Reference
    • Overview
    • Filtering Functions
      • filter_by_cloud_cover
        • filter_by_cloud_cover()
      • filter_by_date_range
        • filter_by_date_range()
      • filter_by_geometry
        • filter_by_geometry()
    • Download Functions
      • download_datasets
        • download_datasets()
      • download_url
        • download_url()
      • download_items
        • download_items()
      • download_seasonal_data
        • download_seasonal_data()
    • URL Management Functions
      • is_url_expired
        • is_url_expired()
      • is_signed_url
        • is_signed_url()
      • re_sign_url_if_needed
        • re_sign_url_if_needed()
      • validate_urls
        • validate_urls()
    • Data Processing Functions
      • create_download_summary
        • create_download_summary()
      • export_urls_to_json
        • export_urls_to_json()
    • Batch Processing Functions
      • process_items_in_batches
        • process_items_in_batches()
      • parallel_download
        • parallel_download()
    • Analysis Helper Functions
      • calculate_ndvi
        • calculate_ndvi()
      • get_statistics
        • get_statistics()
    • Error Handling Functions
      • handle_download_errors
        • handle_download_errors()
      • validate_inputs
        • validate_inputs()
    • Configuration Management
      • set_global_config
        • set_global_config()
      • get_global_config
        • get_global_config()
    • Performance Optimization
      • optimize_for_large_datasets
        • optimize_for_large_datasets()
    • Best Practices
    • Examples Gallery
    • See Also
  • Factory Functions
    • Client Factory Functions
      • planetary_computer
        • planetary_computer()
      • earth_search
        • earth_search()
      • get_clients
        • get_clients()
    • Utility Factory Functions
      • create_search_config
      • create_download_config
    • Configuration Management
      • set_global_defaults
      • get_global_config
    • Validation Functions
      • validate_bbox
      • validate_datetime
    • Helper Functions
      • info
        • info()
      • check_providers
    • Advanced Factory Patterns
      • Custom Client Factory
      • Configuration Builder
    • Error Handling Patterns
      • Robust Client Creation
      • Factory with Validation
  • Collections CLI Commands
    • Basic Usage
    • Commands Overview
      • list
      • search
      • info
    • Advanced Usage
      • Collection Comparison
      • Batch Collection Analysis
      • Filtering and Discovery
      • Collection Metadata Export
    • Working with Collection Information
      • Understanding Collection IDs
      • Asset Information
      • Temporal and Spatial Extent
    • Common Workflows
      • Collection Discovery Workflow
      • Provider Comparison Workflow
      • Collection Analysis Workflow
    • Error Handling
      • Common Issues and Solutions
      • Troubleshooting Tips
  • Usage Patterns (Full API Testing)
    • Install The Module
    • Initialize Module
    • Define Clients
    • Get Available Collections
    • STACSearch API Reference
      • Get all items from search results:
      • Get item collection from search results:
      • Get items from search results (Generator):
      • Extracting Items from Generator:
      • Get Matched Items:
      • Get Total Number of items:
      • Get Search Parameters:
      • Get all Available keys:
      • Get List of all Product IDs:
      • Get your Search Fallback Methods (used for pagination):
    • STACItemCollection API Reference
      • Get a Collection:
      • Get all Items as List:
      • Get all Items as Dictionary/JSON:
      • Get all Items as geojson (geojson module required):
      • Get all Items as DataFrame (pandas module required):
      • Filter Items by Property (date, datetime, days):
      • Get all unique collection types:
      • Get the date range of the collection:
      • Get all unique item IDs/assets:
      • Get all unique asset keys:
      • Get asset by pattern/Extensions (e.g., β€œ.xml”, β€œ.jp2”):
      • Get all unique asset keys by collection types:
      • Get all products/items in dictionary/json format with assets keys (without links):
      • Get all products/items in list format with/without links:
      • Get all unique asset keys by collection types:
      • Get all common asset keys:
      • Get all products/items in dictionary/json format with all assets keys and urls:
      • Get all products/items in list format with specific assets keys and urls:
      • Get only image/tiff assets urls:
      • Get only spectral bands urls:
      • Get only visual assets:
      • Save the collection to a file (JSON):
      • Get collection Summary:
    • STACItem API Reference
      • Choose an Item from Search Results:
      • Get Item Details in Dictionary/JSON Format:
      • Get Item All Item Keys:
      • Get Item Properties:
      • Get Item Id:
      • Get Assets List of an Item :
      • Fetch Band URLs:
      • Get All Asset URLs:
      • Get Asset List all available asset types:
      • Get Assets with URLs by Type defaulting to β€œimage/tiff”:
      • Get All Raster Assets and URLs:
      • Get All Metadata Assets and URLs:
      • Get Specific Band URLs:
      • Check if Item has Specific Asset:
      • Get RGB Bands URLs:
      • Get all Sentinel-2 Bands URLs:
      • Get Asset Informations
    • STACAsset API Reference
      • Get Asset Details:
  • Universal Catalog Client API Reference
    • UniversalCatalogClient
      • UniversalCatalogClient
    • Methods
      • search()
        • search()
      • list_collections()
        • list_collections()
      • get_collections()
        • get_collections()
      • get_collection_info()
        • get_collection_info()
      • get_asset_url()
        • get_asset_url()
      • get_info()
        • get_info()
    • Factory Function
      • catalog()
    • Parameters Reference

πŸ–₯️ CLI Reference

  • CLI Reference
    • Collections Command
    • Search CLI Commands
      • Basic Usage
      • Commands Overview
        • items
        • quick
        • compare
      • Advanced Search Patterns
        • Complex JSON Queries
        • Batch Search Operations
        • Time Series Search
      • Working with Search Results
        • Analyzing Search Output
        • Chaining with Other Commands
      • Error Handling and Troubleshooting
        • Common Search Issues
        • Search Performance Tips
    • Item Management CLI Commands
      • Basic Usage
      • Commands Overview
        • info
        • assets
        • urls
        • compare
      • Advanced Item Operations
        • Bulk Item Analysis
        • Asset Pattern Matching
        • Quality Assessment Workflow
      • Working with Multiple Items
        • Item Selection Strategies
        • Batch URL Generation
      • Error Handling and Troubleshooting
        • Common Issues
        • Debugging Item Issues
      • Integration with Other Commands
        • Complete Workflow Examples
    • Download CLI Commands
      • Basic Usage
      • Commands Overview
        • url
        • search-results
        • urls-json
        • seasonal
        • batch
      • Advanced Download Features
        • Resume and Recovery
        • Progress Tracking and Monitoring
        • Custom Organization Patterns
      • Performance Optimization
        • Parallel Downloads
        • Bandwidth Management
      • Error Handling and Troubleshooting
        • Common Download Issues
        • Recovery Strategies
      • Workflow Integration
        • Complete Processing Pipelines
        • Monitoring and Reporting
    • Utility CLI Commands
      • Basic Usage
      • Commands Overview
        • filter-clouds
        • export-urls
        • validate-urls
        • analyze
        • download-summary
      • Advanced Utility Operations
        • Batch Processing
        • Quality Assessment Pipeline
        • Data Validation Workflow
      • Integration with External Tools
        • Export for External Processing
        • Statistical Analysis Export
      • Error Handling and Troubleshooting
        • Common Utility Issues
        • Performance Optimization
    • Workflow CLI Commands
      • Basic Usage
      • Commands Overview
        • seasonal-analysis
        • batch-processing
        • quality-assessment
      • Advanced Workflow Features
        • Custom Workflow Creation
        • Workflow Chaining
        • Error Recovery and Resumption
      • Integration and Automation
        • Cron Job Integration
    • Workflow CLI Commands (Continued)
      • Monitoring and Alerting
        • Workflow Status Monitoring
        • Health Checks
      • Error Handling and Recovery
        • Workflow Recovery
        • Data Validation
        • Cleanup and Maintenance
      • Performance Optimization
        • Resource Management
        • Benchmarking
      • Security and Compliance
        • Secure Configuration
        • Audit Logging
        • Data Governance
      • Workflow Templates
        • Agricultural Monitoring
        • Environmental Monitoring
        • Disaster Response
      • Troubleshooting Workflows
        • Common Workflow Issues
        • Workflow Migration
      • Best Practices Summary
    • Overview
    • Usage
    • Examples
  • Collections Command

❓ FAQ & Help

  • FAQ & Help
    • General FAQ
      • What is Open Geodata API?
      • What satellite data can I access?
      • How is this different from using APIs directly?
      • What are the costs involved?
      • Do I need programming experience?
      • Can I use this for commercial projects?
      • What about data privacy and security?
      • How do I get help and support?
      • What are the system requirements?
      • Can I contribute to the project?
      • Is this production-ready?
    • Installation FAQ
      • Package Installation Issues
        • Package Not Found
        • Dependency Conflicts
        • Permission Errors
      • Optional Dependencies
        • Raster I/O Dependencies
        • Spatial Analysis Dependencies
      • Platform-Specific Issues
        • Windows Installation
        • macOS Installation
        • Linux Installation
      • Virtual Environment Issues
        • Environment Not Found
        • Multiple Python Versions
      • Development Installation
        • Editable Installation
        • Testing Installation
      • Common Error Messages
        • β€œNo module named β€˜open_geodata_api’”
        • β€œGDAL not found” or similar geospatial errors
        • β€œFailed building wheel” errors
      • Getting Additional Help
        • When to Seek Help
        • How to Report Installation Issues
    • Usage FAQ
      • Basic Usage Questions
        • How do I get started with the API?
        • Which provider should I use?
        • How do I handle different asset names?
      • Search and Discovery
        • Why is my search returning no results?
        • How do I find data for my specific location?
        • How do I filter by data quality?
      • Data Reading and Processing
        • How do I actually read the satellite data?
        • How do I calculate vegetation indices?
        • How do I handle large datasets efficiently?
      • CLI Usage Questions
        • How do I use the command-line interface?
        • How do I automate workflows with the CLI?
      • Common Workflow Patterns
        • How do I set up a monitoring workflow?
        • How do I compare data between different sensors?
      • Error Handling Best Practices
        • How should I handle errors in my code?
    • Troubleshooting Guide
      • Installation Problems
        • Package Installation Fails
        • Dependency Conflicts
        • Geospatial Library Issues
      • API Access Issues
        • Authentication Problems
        • Connection Timeouts
      • Search Problems
        • No Results Found
        • Invalid Date Formats
        • Bbox Coordinate Issues
      • Data Access Problems
        • URL Expiration Issues
        • Asset Not Found Errors
      • Memory and Performance Issues
        • Out of Memory Errors
        • Slow Performance
      • CLI Issues
        • Command Not Found
        • CLI Parameter Errors
      • Data Reading Issues
        • Raster Loading Failures
        • Projection Issues
      • Getting Help
        • Diagnostic Information
        • Reporting Bugs
      • Emergency Workarounds
        • When All Else Fails
    • Performance FAQ
      • Search Performance
        • Why are my searches slow?
        • How can I make searches faster?
      • Data Loading Performance
        • Why is data loading slow?
        • How can I speed up data downloads?
      • Memory Performance
        • Why am I running out of memory?
        • How can I monitor memory usage?
      • Network Performance
        • How can I optimize for slow internet connections?
      • Scaling and Large Datasets
        • How do I process thousands of scenes efficiently?
      • Performance Monitoring
        • How do I benchmark my workflows?
      • Performance Best Practices Summary
    • Quick Help
    • Most Common Questions
  • General FAQ
    • What is Open Geodata API?
    • What satellite data can I access?
    • How is this different from using APIs directly?
    • What are the costs involved?
    • Do I need programming experience?
    • Can I use this for commercial projects?
    • What about data privacy and security?
    • How do I get help and support?
    • What are the system requirements?
    • Can I contribute to the project?
    • Is this production-ready?
  • Installation FAQ
    • Package Installation Issues
      • Package Not Found
      • Dependency Conflicts
      • Permission Errors
    • Optional Dependencies
      • Raster I/O Dependencies
      • Spatial Analysis Dependencies
    • Platform-Specific Issues
      • Windows Installation
      • macOS Installation
      • Linux Installation
    • Virtual Environment Issues
      • Environment Not Found
      • Multiple Python Versions
    • Development Installation
      • Editable Installation
      • Testing Installation
    • Common Error Messages
      • β€œNo module named β€˜open_geodata_api’”
      • β€œGDAL not found” or similar geospatial errors
      • β€œFailed building wheel” errors
    • Getting Additional Help
      • When to Seek Help
      • How to Report Installation Issues
  • Usage FAQ
    • Basic Usage Questions
      • How do I get started with the API?
      • Which provider should I use?
      • How do I handle different asset names?
    • Search and Discovery
      • Why is my search returning no results?
      • How do I find data for my specific location?
      • How do I filter by data quality?
    • Data Reading and Processing
      • How do I actually read the satellite data?
      • How do I calculate vegetation indices?
      • How do I handle large datasets efficiently?
    • CLI Usage Questions
      • How do I use the command-line interface?
      • How do I automate workflows with the CLI?
    • Common Workflow Patterns
      • How do I set up a monitoring workflow?
      • How do I compare data between different sensors?
    • Error Handling Best Practices
      • How should I handle errors in my code?
  • Troubleshooting Guide
    • Installation Problems
      • Package Installation Fails
      • Dependency Conflicts
      • Geospatial Library Issues
    • API Access Issues
      • Authentication Problems
      • Connection Timeouts
    • Search Problems
      • No Results Found
      • Invalid Date Formats
      • Bbox Coordinate Issues
    • Data Access Problems
      • URL Expiration Issues
      • Asset Not Found Errors
    • Memory and Performance Issues
      • Out of Memory Errors
      • Slow Performance
    • CLI Issues
      • Command Not Found
      • CLI Parameter Errors
    • Data Reading Issues
      • Raster Loading Failures
      • Projection Issues
    • Getting Help
      • Diagnostic Information
      • Reporting Bugs
    • Emergency Workarounds
      • When All Else Fails
  • Performance FAQ
    • Search Performance
      • Why are my searches slow?
      • How can I make searches faster?
    • Data Loading Performance
      • Why is data loading slow?
      • How can I speed up data downloads?
    • Memory Performance
      • Why am I running out of memory?
      • How can I monitor memory usage?
    • Network Performance
      • How can I optimize for slow internet connections?
    • Scaling and Large Datasets
      • How do I process thousands of scenes efficiently?
    • Performance Monitoring
      • How do I benchmark my workflows?
    • Performance Best Practices Summary
  • Universal Catalog FAQ
    • General Questions
    • Authentication Questions
    • Technical Questions
    • Usage Questions
    • Troubleshooting
    • Comparison with Other Clients

πŸ”§ Development

  • Development
    • Contributing to Open Geodata API
      • Ways to Contribute
      • Getting Started
        • Development Setup
        • Development Workflow
      • Coding Standards
        • Code Style
        • Documentation Style
      • Testing Guidelines
        • Test Structure
        • Writing Tests
        • Test Coverage
      • Pull Request Process
        • Pull Request Guidelines
        • Commit Message Convention
        • Review Process
      • Release Process
        • Versioning
        • Release Workflow
      • Community Guidelines
        • Code of Conduct
        • Communication
      • Getting Recognition
        • Contributors Hall of Fame
        • Becoming a Maintainer
      • Resources for Contributors
    • Architecture and Design
      • Design Philosophy
        • Core Principles
      • Package Architecture
        • High-Level Structure
        • Module Organization
      • Core Layer Design
        • STAC Data Models
        • URL Management System
      • Provider Layer Design
        • Base Client Interface
        • Provider-Specific Implementations
      • Data Flow Architecture
        • Search Flow
        • URL Access Flow
        • Download Flow
      • Error Handling Strategy
        • Layered Error Handling
        • Error Recovery Mechanisms
      • Performance Considerations
        • Caching Strategy
        • Lazy Loading
        • Memory Management
      • Testing Architecture
        • Testing Strategy
        • Mock Framework
      • Extensibility Design
        • Plugin Architecture
        • Configuration System
      • Future Architecture Considerations
        • Planned Enhancements
        • Backwards Compatibility
    • Testing Guide
      • Testing Philosophy
      • Test Structure
        • Test Organization
      • Running Tests
        • Basic Test Execution
        • Test Configuration
        • Environment Variables
      • Unit Testing
        • Core Model Tests
        • Client Tests (Mocked)
        • Utility Function Tests
        • CLI Tests (Mocked)
      • Integration Testing
        • Real API Tests
        • Cross-Provider Tests
      • Performance Testing
        • Benchmark Tests
        • Memory Usage Tests
      • Test Fixtures
        • Shared Test Data
        • Mock Responses
      • Continuous Integration
        • GitHub Actions Configuration
        • Test Coverage
      • Best Practices
        • Writing Good Tests
      • Advanced Testing Techniques
        • Property-Based Testing
        • Parameterized Tests
        • Snapshot Testing
      • Test Data Management
        • Fixture Factories
        • Test Data Builders
      • Test Environment Management
        • Environment-Specific Configuration
        • Test Isolation
      • Debugging Tests
        • Test Debugging Techniques
        • Custom Assertions
      • Test Reporting and Metrics
        • Custom Test Reports
        • Coverage Analysis
      • Continuous Integration Integration
        • GitHub Actions Test Matrix
        • Quality Gates
        • Pre-commit Hooks for Testing
    • Changelog
      • [Unreleased]
      • [0.1.0] - 2025-06-22
    • License and Legal Information
      • Software License
        • MIT License
      • Third-Party API Services Disclaimer
      • Third-Party API Licensing
        • Microsoft Planetary Computer
        • Element84 EarthSearch (AWS Open Data)
      • User Responsibilities
      • Data Licensing Complexity Warning
        • Common Licensing Scenarios
      • Commercial Use Considerations
      • Recommended Best Practices
        • Data Access Best Practices
        • General Best Practices
      • Support and Liability Limitation
        • For Support Issues
        • Liability Disclaimer
      • Attribution Requirements
        • Software Attribution
        • Data Attribution
      • Legal Document Information
    • For Contributors
    • Development Setup
    • Quick Links
  • Contributing to Open Geodata API
    • Ways to Contribute
    • Getting Started
      • Development Setup
      • Development Workflow
    • Coding Standards
      • Code Style
      • Documentation Style
    • Testing Guidelines
      • Test Structure
      • Writing Tests
      • Test Coverage
    • Pull Request Process
      • Pull Request Guidelines
      • Commit Message Convention
      • Review Process
    • Release Process
      • Versioning
      • Release Workflow
    • Community Guidelines
      • Code of Conduct
      • Communication
    • Getting Recognition
      • Contributors Hall of Fame
      • Becoming a Maintainer
    • Resources for Contributors
  • Architecture and Design
    • Design Philosophy
      • Core Principles
    • Package Architecture
      • High-Level Structure
      • Module Organization
    • Core Layer Design
      • STAC Data Models
      • URL Management System
    • Provider Layer Design
      • Base Client Interface
      • Provider-Specific Implementations
    • Data Flow Architecture
      • Search Flow
      • URL Access Flow
      • Download Flow
    • Error Handling Strategy
      • Layered Error Handling
      • Error Recovery Mechanisms
    • Performance Considerations
      • Caching Strategy
      • Lazy Loading
      • Memory Management
    • Testing Architecture
      • Testing Strategy
      • Mock Framework
    • Extensibility Design
      • Plugin Architecture
      • Configuration System
    • Future Architecture Considerations
      • Planned Enhancements
      • Backwards Compatibility
  • Testing Guide
    • Testing Philosophy
    • Test Structure
      • Test Organization
    • Running Tests
      • Basic Test Execution
      • Test Configuration
      • Environment Variables
    • Unit Testing
      • Core Model Tests
      • Client Tests (Mocked)
      • Utility Function Tests
      • CLI Tests (Mocked)
    • Integration Testing
      • Real API Tests
      • Cross-Provider Tests
    • Performance Testing
      • Benchmark Tests
      • Memory Usage Tests
    • Test Fixtures
      • Shared Test Data
      • Mock Responses
    • Continuous Integration
      • GitHub Actions Configuration
      • Test Coverage
    • Best Practices
      • Writing Good Tests
    • Advanced Testing Techniques
      • Property-Based Testing
      • Parameterized Tests
      • Snapshot Testing
    • Test Data Management
      • Fixture Factories
      • Test Data Builders
    • Test Environment Management
      • Environment-Specific Configuration
      • Test Isolation
    • Debugging Tests
      • Test Debugging Techniques
      • Custom Assertions
    • Test Reporting and Metrics
      • Custom Test Reports
      • Coverage Analysis
    • Continuous Integration Integration
      • GitHub Actions Test Matrix
      • Quality Gates
      • Pre-commit Hooks for Testing
  • Changelog
    • [Unreleased]
    • [0.1.0] - 2025-06-22
  • License and Legal Information
    • Software License
      • MIT License
    • Third-Party API Services Disclaimer
    • Third-Party API Licensing
      • Microsoft Planetary Computer
      • Element84 EarthSearch (AWS Open Data)
    • User Responsibilities
    • Data Licensing Complexity Warning
      • Common Licensing Scenarios
    • Commercial Use Considerations
    • Recommended Best Practices
      • Data Access Best Practices
      • General Best Practices
    • Support and Liability Limitation
      • For Support Issues
      • Liability Disclaimer
    • Attribution Requirements
      • Software Attribution
      • Data Attribution
    • Legal Document Information
Open Geodata API
  • Development
  • License and Legal Information
  • Edit on GitHub

License and Legal Information

Software License

Open Geodata API is licensed under the MIT License:

MIT License

MIT License

Copyright (c) 2025 Mirjan Ali Sha

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

Third-Party API Services Disclaimer

Danger

IMPORTANT NOTICE: This software (β€œopen-geodata-api”) is a wrapper library that provides access to third-party geospatial data APIs. The author(s) and contributors of this software are NOT responsible for:

  1. The availability, accuracy, or reliability of third-party API services

  2. Any changes to third-party API terms of service or licensing

  3. Any costs, fees, or charges imposed by third-party API providers

  4. Any data licensing restrictions imposed by third-party providers

  5. Any service interruptions, data losses, or damages resulting from third-party services

Warning

USE AT YOUR OWN RISK: Users of this software acknowledge that they use third-party APIs at their own risk and are solely responsible for compliance with all applicable terms of service, data licensing agreements, and usage policies of the underlying API providers.

Third-Party API Licensing

This software integrates with the following third-party services. Users MUST review and comply with their respective terms of service and licensing:

Microsoft Planetary Computer

Aspect

Details

Provider

Microsoft Corporation

API License

Subject to Microsoft APIs Terms of Use

Data Licensing

Varies by dataset (often CC-BY-4.0, but check individual datasets)

Authentication

Required (free tier available)

Terms of Service

https://learn.microsoft.com/en-us/legal/microsoft-apis/terms-of-use

Important Note

Some datasets may have specific attribution or usage requirements

Note

Planetary Computer provides access to a vast catalog of geospatial data, but each dataset may have its own specific licensing terms. Always check individual dataset metadata for licensing requirements.

Element84 EarthSearch (AWS Open Data)

Aspect

Details

Provider

Element84 / Amazon Web Services

API License

Open access (no API key required)

Data Licensing

Varies by dataset (typically public domain or CC licenses)

Authentication

Not required for public datasets

Terms of Service

https://aws.amazon.com/opendata/terms/

Important Note

While API access is free, data usage may be subject to individual dataset licensing terms

User Responsibilities

By using this software, you acknowledge and agree that:

Legal Compliance Requirements

  1. API Terms Compliance: You are responsible for reviewing and complying with all third-party API terms of service and data licensing agreements

  2. Liability Disclaimer: You will not hold the authors or contributors of this software liable for any violations of third-party terms or licensing requirements

  3. Service Changes: You understand that third-party API availability, performance, and terms may change without notice

  4. Cost Responsibility: You are responsible for any costs or fees associated with third-party API usage

  5. Data Attribution: You will properly attribute data sources as required by individual dataset licenses

  6. No Warranty: You understand that this software is provided β€œas-is” without any guarantees of functionality, availability, or fitness for any particular purpose

Data Licensing Complexity Warning

Danger

⚠️ CRITICAL NOTICE: Geospatial data licensing can be complex and varies significantly between datasets, even within the same API service.

Common Licensing Scenarios

You may encounter various licensing scenarios:

License Type

Description & Requirements

Public Domain

No restrictions on use

Creative Commons (CC-BY)

Requires attribution to original source

Creative Commons (CC-BY-SA)

Requires attribution + share-alike licensing

Commercial Restrictions

Research/non-commercial use only

Government Restrictions

Institutional use limitations

Temporal Restrictions

Embargo periods before public access

Geographic Restrictions

Country-specific licensing terms

Warning

ALWAYS CHECK INDIVIDUAL DATASET LICENSING before using data in your projects. The APIs may provide licensing information in dataset metadata, but it is YOUR responsibility to verify and comply with these requirements.

Failure to comply with data licensing terms may result in legal consequences that are entirely your responsibility.

Commercial Use Considerations

If you plan to use this software or accessed data for commercial purposes:

Commercial Use Checklist

  1. Verify API Compliance: Ensure your intended use complies with all third-party API terms

  2. Check Dataset Licenses: Review individual dataset licenses for commercial use restrictions

  3. Commercial Agreements: Consider whether you need commercial API agreements with providers

  4. Attribution Requirements: Ensure proper data attribution and licensing compliance in your products

  5. Legal Consultation: Consult with legal counsel if uncertain about licensing requirements

Recommended Best Practices

Data Access Best Practices

# Example: Check dataset licensing before use
def check_dataset_license(collection_info):
    """Always verify dataset licensing before use."""
    license_info = collection_info.get('license')
    if license_info:
        print(f"Dataset license: {license_info}")
        print("Please review licensing terms before using this data")
    else:
        print("⚠️ License information not available - verify before use")

General Best Practices

  1. Review Terms Regularly: Always review API terms of service before using any third-party service

  2. Check Dataset Metadata: Verify individual dataset metadata for specific licensing requirements

  3. Error Handling: Implement proper error handling for API availability issues

  4. Respect Caching: Cache data appropriately while respecting API terms and data licensing

  5. Proper Attribution: Provide proper attribution for all data sources in your applications

  6. Monitor Usage: Track API usage to avoid exceeding rate limits or quotas

  7. Secure Credentials: Keep your API credentials secure and never commit them to version control

  8. Stay Updated: Regularly review third-party terms for updates or changes

Support and Liability Limitation

Important

This software is provided as an open-source tool to facilitate access to geospatial APIs. The authors provide no warranty, support, or guarantees.

For Support Issues

Issue Type

Where to Get Help

Third-party API Access

Contact the respective API provider directly

Data Licensing Questions

Consult the dataset provider or legal counsel

Software Bugs

Submit issues to the project repository

Feature Requests

Submit requests to the project repository

General Usage Questions

Check the FAQ section or create a discussion

Liability Disclaimer

Danger

The authors expressly disclaim all liability for any direct, indirect, incidental, special, or consequential damages arising from the use of this software or third-party services accessed through it.

Attribution Requirements

Software Attribution

When using this software in your projects, please consider citing:

Open Geodata API - Unified Python Client for Satellite Data Access
Author: Mirjan Ali Sha
GitHub: https://github.com/Mirjan-Ali-Sha/open-geodata-api
License: MIT

Data Attribution

Always provide proper attribution for the satellite data you use. Examples:

# For Sentinel-2 data via Planetary Computer:
"Sentinel-2 imagery courtesy of the U.S. Geological Survey and European Space Agency,
accessed via Microsoft Planetary Computer"

# For Landsat data via EarthSearch:
"Landsat imagery courtesy of the U.S. Geological Survey,
accessed via Element84 EarthSearch"

Legal Document Information

Document Info

Details

Last Updated

2025-06-22

License Version

1.0

Document Type

Software License + Third-Party Service Disclaimers

Governing Law

Subject to applicable jurisdictions and third-party terms

Note

This license document is provided for informational purposes. Users should consult with legal counsel for specific questions about licensing compliance and liability in their particular use cases.

Previous

© Copyright 2025, Mirjan Ali Sha.

Built with Sphinx using a theme provided by Read the Docs.