Skip to content

Enhance UMEP/QGIS Compatibility for different numpy versions #724

@sunt05

Description

@sunt05

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    1-featureNew functionality2-infra:ciCI/CD pipelines, GitHub Actions3-P1High priority4-in-progressBeing worked on

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions