Skip to content

Releases: Black-Lights/planetscope-py

v4.1.0: Metadata Processing and JSON Serialization Fixes

25 Jun 23:52

Choose a tag to compare

v4.1.0: Metadata Processing and JSON Serialization Fixes

This release addresses critical metadata processing issues and JSON serialization problems that affected the reliability and completeness of analysis exports. All fixes maintain full backward compatibility.

What's Fixed

  • Enhanced scene ID extraction - Scene IDs now reliably extracted from all Planet API endpoints (Search, Stats, Orders)
  • Fixed truncated JSON metadata files - Complete analysis_metadata.json export with proper numpy type conversion
  • Improved temporal analysis visualizations - Changed from 'Reds' to 'turbo' colormap for better data interpretation
  • Fixed summary table formatting - Temporal analysis tables now match spatial density format consistently
  • Enhanced interactive manager integration - Improved preview and interactive manager configuration

Enhanced Data Processing

  • Multi-source ID detection - Checks properties.id, top-level id, item_id, and scene_id fields with comprehensive fallback
  • Numpy type serialization - Proper handling of numpy.int64, numpy.float64, numpy.ndarray, and numpy.nan values
  • Complete metadata export - No more truncated analysis_metadata.json files in spatial density analysis
  • Memory-efficient serialization - Optimized handling of large data structures during JSON export

Migration from v4.0.1

No code changes needed - simply upgrade:

pip install --upgrade planetscope-py

Users will now get:

from planetscope_py import PlanetScopeQuery

query = PlanetScopeQuery()
results = query.search_scenes(geometry, "2025-01-01", "2025-01-31")

for scene in results['features']:
    metadata = query.metadata_processor.extract_scene_metadata(scene)
    print(f"Scene ID: {metadata['scene_id']}")  # Now works reliably!

What Now Works Reliably

  • Scene ID Extraction - From all Planet API response formats and endpoints
  • Complete Metadata Export - Full JSON files without truncation issues
  • Enhanced Temporal Visualizations - Turbo colormap for better data interpretation
  • Consistent Summary Tables - Standardized formatting across spatial and temporal analysis
  • Robust Error Handling - Graceful handling of missing or malformed scene data
  • Memory-Efficient Processing - Optimized serialization of large datasets

Contributors

Development Team

  • Ammar (@Black-Lights) - Core development, metadata processing fixes, and JSON serialization
  • Umayr (@MohammadUmayr) - Core development, temporal analysis enhancements, and visualization improvements

Academic Team

  • Dr. Daniela Stroppiana - Project advisor and research guidance
  • Prof. Giovanna Venuti - Project supervisor

Institution

  • Politecnico di Milano - Geoinformatics Engineering Program

Technical Achievements

  • Enhanced metadata processor handles all Planet API endpoint response formats
  • Fixed JSON serialization with comprehensive numpy type conversion system
  • Improved temporal visualizations with turbo colormap for better contrast
  • Consistent table formatting across all analysis types
  • Memory-optimized export for large metadata structures
  • Robust error recovery for malformed scene data

User Impact

This release resolves critical issues users encountered with scene identification and metadata export completeness. Scene IDs are now reliably extracted from all Planet API sources, and analysis metadata files export completely without truncation. Temporal analysis visualizations are significantly improved with better color contrast.

Installation

# Basic installation (now with enhanced metadata processing)
pip install planetscope-py

# Enhanced installation (adds Jupyter support)
pip install planetscope-py[jupyter]

# Full installation (all optional features)
pip install planetscope-py[all]

Verification

After upgrading, verify the fixes:

import planetscope_py
from planetscope_py import PlanetScopeQuery
from shapely.geometry import box

# Test enhanced scene ID extraction
query = PlanetScopeQuery()
roi = box(9.04, 45.40, 9.28, 45.52)
results = query.search_scenes(roi, "2025-01-01", "2025-01-31")

# This now works reliably
scene = results['features'][0]
metadata = query.metadata_processor.extract_scene_metadata(scene)
print(f"Scene ID extracted: {metadata['scene_id']}")

# Test complete metadata export
from planetscope_py import quick_planet_analysis
result = quick_planet_analysis(roi, "last_month")
print("Complete metadata export successful!")

Acknowledgments

Special thanks to users who reported metadata processing issues and helped identify the root causes. Thanks to Planet Labs PBC for API access and the geospatial community for continued support.


Full Changelog: v4.0.1...v4.1.0

See CHANGELOG.md for detailed technical changes and Installation Guide for setup instructions.

# PlanetScope-py v4.0.1: Critical Bug Fix Release

25 Jun 00:56
c497053

Choose a tag to compare

What's Fixed

  • Fixed workflow module availability detection - quick_planet_analysis and all workflow functions now work correctly
  • Fixed silent import failures - Replaced silent exceptions with proper error handling and warnings
  • Fixed visualization module import issues - All plotting functions (plot_density_map_only, plot_footprints_only, etc.) now work properly
  • Enhanced dependency management - Core visualization dependencies moved to base installation

Enhanced Installation Experience

  • Core visualization now included - Basic pip install planetscope-py includes matplotlib, contextily, folium, seaborn
  • Better error messages - Clear installation instructions when optional dependencies are missing
  • Improved debugging - Success confirmations help identify what's working vs what needs installation
  • Module status accuracy - check_module_status() now correctly reports component availability

Migration from v4.0.0

No code changes needed - simply upgrade:

pip install --upgrade planetscope-py

Users can now successfully run:

from planetscope_py import quick_planet_analysis
from shapely.geometry import box

roi = box(9.04, 45.40, 9.28, 45.52)  # Milan area
result = quick_planet_analysis(roi, "last_month")
print(f"Found {result['scenes_found']} scenes")  # Now works!

What Now Works Out of the Box

  • Planet API Integration - Scene search and metadata processing
  • Spatial Density Analysis - All 3 computational methods with coordinate fixes
  • Complete Temporal Analysis - Grid-based temporal pattern analysis
  • Asset Management - Quota monitoring and async downloads
  • GeoPackage Export - Professional data export with imagery support
  • Visualization Functions - All plotting and export functions
  • One-Line Workflows - quick_planet_analysis, plot_density_map_only, etc.

Contributors

Development Team

  • Ammar (@Black-Lights) - Core development, import fixes, and spatial analysis engine
  • Umayr (@MohammadUmayr) - Core development, temporal analysis engine, and testing

Academic Team

  • Dr. Daniela Stroppiana - Project advisor and research guidance
  • Prof. Giovanna Venuti - Project supervisor

Institution

  • Politecnico di Milano - Geoinformatics Engineering Program

Technical Achievements

  • 349 comprehensive tests (100% passing)
  • Fixed critical import detection that prevented workflow functions from loading
  • Enhanced dependency management for better user experience
  • Improved error handling throughout the import system
  • Better debugging capabilities with success confirmations

User Impact

This release resolves the primary issue users encountered in v4.0.0 where quick_planet_analysis and visualization functions were not available despite having all dependencies installed. The library now works as advertised immediately after basic installation.

Installation

# Basic installation (now includes all core functionality)
pip install planetscope-py

# Enhanced installation (adds Jupyter support)
pip install planetscope-py[jupyter]

# Full installation (all optional features)
pip install planetscope-py[all]

Verification

After upgrading, verify the fix:

import planetscope_py
planetscope_py.check_module_status()
# Should show: "12/14 components available"

# Test the main function that was broken in v4.0.0
from planetscope_py import quick_planet_analysis
print(" Import fixes successful!")

Acknowledgments

Special thanks to early users who reported the import issues and helped identify the root cause. Thanks to Planet Labs PBC for API access and the open-source geospatial community for the excellent dependency ecosystem.


Full Changelog: [v4.0.0...v4.0.1](v4.0.0...v4.0.1)

See [CHANGELOG.md] for detailed technical changes and [Installation Guide](https://github.com/Black-Lights/planetscope-py/wiki/Installation-Guide) for setup instructions.

PlanetScope-py v4.0.0: Complete Temporal Analysis & Advanced Data Management

24 Jun 23:24

Choose a tag to compare

What's New

  • Complete temporal analysis engine with grid-based approach
  • Enhanced spatial analysis with coordinate system fixes
  • Advanced asset management with quota monitoring
  • Professional GeoPackage export with imagery support
  • File-based ROI support (shapefiles, GeoJSON, WKT)

Contributors

Development Team

  • Ammar (@Black-Lights ) - Core development, spatial analysis engine
  • Umayr (@MohammadUmayr ) - Core development, temporal analysis engine

Academic Team

  • Dr. Daniela Stroppiana - Project advisor and research guidance
  • Prof. Giovanna Venuti - Project supervisor

Institution

  • Politecnico di Milano - Geoinformatics Engineering Program

Technical Achievements

  • 349 comprehensive tests (100% passing)
  • Multi-algorithm spatial density calculations
  • Grid-based temporal pattern analysis
  • Professional data export capabilities

Acknowledgments

Special thanks to Planet Labs PBC for API access and the open-source geospatial community.


See CHANGELOG.md for detailed technical changes.

PlanetScope-py v4.0.0a2 - Enhanced Temporal Analysis & Asset Management (ALPHA)

21 Jun 16:16

Choose a tag to compare

PlanetScope-py v4.0.0a2 Alpha Release

ALPHA SOFTWARE - Testing and feedback welcome before stable release!

Professional Python library for PlanetScope satellite imagery analysis with enhanced temporal analysis, asset management, and data export capabilities.

What's New in Alpha v4.0.0a2

Temporal Analysis Engine (ALPHA)

  • 3D Spatiotemporal Data Cubes - Multi-dimensional analysis with (lat, lon, time) dimensions
  • Seasonal Pattern Detection - Automated identification of acquisition patterns
  • Temporal Gap Analysis - Detection and analysis of coverage gaps
  • Time Series Analytics - Comprehensive temporal statistics

Asset Management System (ALPHA)

  • Intelligent Quota Monitoring - Real-time tracking of Planet subscription usage
  • Async Downloads - Parallel asset downloads with progress tracking
  • ROI Clipping Support - Automatic scene clipping to regions of interest
  • User Confirmation System - Interactive prompts with impact calculation

GeoPackage Export System (ALPHA)

  • Professional Scene Polygons - Comprehensive GeoPackage export with metadata
  • Multi-Layer Support - Vector polygons and raster imagery in single file
  • GIS Integration - Direct compatibility with QGIS, ArcGIS, and other tools

Alpha Status

  • 349 tests passing (100% success rate)
  • Core functionality complete and tested
  • Alpha software - real-world testing in progress
  • Complete documentation available
  • Bug reports and feedback welcome

Installation

Alpha Warning: This is pre-release software. Use with caution in production.

Quick Install

pip install planetscope-py==4.0.0a1

PlanetScope-py v4.0.0a1 - Enhanced Temporal Analysis & Asset Management (ALPHA)

21 Jun 16:11
f6e480e

Choose a tag to compare

PlanetScope-py v4.0.0a1 Alpha Release

ALPHA SOFTWARE - Testing and feedback welcome before stable release!

Professional Python library for PlanetScope satellite imagery analysis with enhanced temporal analysis, asset management, and data export capabilities.

What's New in Alpha v4.0.0a1

Temporal Analysis Engine (ALPHA)

  • 3D Spatiotemporal Data Cubes - Multi-dimensional analysis with (lat, lon, time) dimensions
  • Seasonal Pattern Detection - Automated identification of acquisition patterns
  • Temporal Gap Analysis - Detection and analysis of coverage gaps
  • Time Series Analytics - Comprehensive temporal statistics

Asset Management System (ALPHA)

  • Intelligent Quota Monitoring - Real-time tracking of Planet subscription usage
  • Async Downloads - Parallel asset downloads with progress tracking
  • ROI Clipping Support - Automatic scene clipping to regions of interest
  • User Confirmation System - Interactive prompts with impact calculation

GeoPackage Export System (ALPHA)

  • Professional Scene Polygons - Comprehensive GeoPackage export with metadata
  • Multi-Layer Support - Vector polygons and raster imagery in single file
  • GIS Integration - Direct compatibility with QGIS, ArcGIS, and other tools

Alpha Status

  • 349 tests passing (100% success rate)
  • Core functionality complete and tested
  • Alpha software - real-world testing in progress
  • Complete documentation available
  • Bug reports and feedback welcome

Installation

Alpha Warning: This is pre-release software. Use with caution in production.

Quick Install

pip install planetscope-py==4.0.0a1

v3.0.0 - Spatial Analysis Engine Complete

20 Jun 02:25

Choose a tag to compare

PlanetScope-py v3.0.0 - Spatial Analysis Engine Complete

Major Features

  • Multi-Algorithm Spatial Density Calculations with three computational methods
  • High-Resolution Analysis supporting 3m to 1000m grid resolutions
  • Automatic Performance Optimization with intelligent method selection
  • Professional GIS Integration with GeoTIFF export and QGIS styling
  • Memory-Efficient Processing for large areas using adaptive grid

Technical Highlights

  • SpatialDensityEngine: Core analysis engine with three algorithms
  • Rasterization Method: Ultra-fast for high-resolution grids (0.03-0.09s)
  • Vector Overlay Method: Highest precision geometric calculations
  • Adaptive Grid Method: Memory-efficient hierarchical processing
  • Sub-Pixel Analysis: 3m grid capability for detailed coverage mapping

Quality Metrics

  • 280 tests with 100% coverage
  • Production-ready reliability and performance
  • Real-world validation with Milan dataset
  • Cross-platform compatibility verified

From v2.0.0

Built on the solid foundation of complete Planet API integration, v3.0.0 adds comprehensive spatial analysis capabilities while maintaining all existing functionality.