forked from Urban-Meteorology-Reading/SUEWS
-
Notifications
You must be signed in to change notification settings - Fork 9
Open
Labels
1-featureNew functionalityNew functionality2-infra:ciCI/CD pipelines, GitHub ActionsCI/CD pipelines, GitHub Actions3-P1High priorityHigh priority4-in-progressBeing worked onBeing worked on
Description
Context
SUEWS adopted numpy>=2.0
in July 2024 (commit 5fdb544) following Scientific Python SPEC 0 policy. This aligns with the broader scientific Python ecosystem, where all major dependencies transitioned to NumPy 2.0 support throughout 2024.
Issue
UMEP developers have flagged potential compatibility concerns with QGIS environments, particularly on Windows. Fredrik Lindberg noted this creates constraints for UMEP workshop materials and future SuPy updates within QGIS plugin contexts.
Current Understanding
QGIS LTR NumPy Status:
- QGIS 3.40 LTR (current, via OSGeo4W) bundles NumPy 1.26.4
- QGIS does not currently support NumPy 2.0 in its plugin environment
- Modifying package versions in QGIS environments may break QGIS functionality
- QGIS distributions maintain their own Python environment with specific package versions
Compatibility considerations:
- Standalone Python environments can install NumPy 2.0
- QGIS plugin environment requires NumPy 1.x for stability
- Windows/OSGeo4W installations particularly sensitive to version mismatches
Potential Solutions
UMEP-specific wheels: Build separate binary wheels with NumPy 1.x for QGIS/UMEP compatibility
- Tag UMEP-compatible releases separately
- Provide clear installation paths for QGIS users vs standalone users
- Document version compatibility in installation guide
Action Items
- Test SuPy installation in current QGIS LTR (3.40) with numpy>=2.0
- Investigate building UMEP-specific wheels with numpy<2.0
- Document QGIS/UMEP installation requirements in user guide
- Consider tagging strategy for UMEP-compatible releases
- Monitor QGIS roadmap for NumPy 2.0 support timeline
References
- Scientific Python SPEC 0: https://scientific-python.org/specs/spec-0000/
- NumPy 2.0 Migration Guide: https://numpy.org/doc/stable/numpy_2_0_migration_guide.html
- SUEWS commit adopting NumPy 2.0: 5fdb544
- QGIS 3.40 LTR: https://qgis.org/resources/installation-guide/
Metadata
Metadata
Assignees
Labels
1-featureNew functionalityNew functionality2-infra:ciCI/CD pipelines, GitHub ActionsCI/CD pipelines, GitHub Actions3-P1High priorityHigh priority4-in-progressBeing worked onBeing worked on