Releases: Black-Lights/planetscope-py
v4.1.0: Metadata Processing and JSON Serialization Fixes
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-pyUsers 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
What's Fixed
- Fixed workflow module availability detection -
quick_planet_analysisand 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-pyincludes 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-pyUsers 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
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)
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.0a1PlanetScope-py v4.0.0a1 - Enhanced Temporal Analysis & Asset Management (ALPHA)
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.0a1v3.0.0 - Spatial Analysis Engine Complete
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.