Skip to content

Conversation

@AntonioCC808
Copy link
Collaborator

Merge Request: Refactor Wrapper API, Migrate to RST Docs, and Switch to Pixi

Description:

This PR implements a major overhaul of the earthkit-climate wrapper architecture, migrates the project tooling to pixi, converts documentation to reStructuredText, and significantly enhances the test suite and performance analysis tools.

Detailed Changes:

  • API & Wrapper Architecture:

    • Created api package: restructured the codebase to centralize wrapper logic.
    • Simplified Signatures: Refactored indicator functions to accept a single earthkit.data object (renamed to ds) instead of multiple variable arguments, improving consistency.
    • Unit Handling: Standardized temperature units to degC and integrated xclim unit conversions directly.
  • Documentation:

    • Format Migration: Converted all documentation from Markdown to reStructuredText (RST) for robust Sphinx support.
    • Content Updates: Enhanced index.rst with detailed integration guides, added project structure descriptions, and included a new SVG logo.
    • Notebooks: Added and refined docs/notebooks/performance_analysis.ipynb with system info, memory profiling, and comparative analysis.
  • Tooling & Dev Experience:

    • Pixi Migration: Replaced the Makefile workflow with pixi for dependency management and task execution.
    • Updated pyproject.toml and pixi.lock dependencies.
  • New Features:

    • Percentile Utilities: Added utilities for percentile calculations and refactored indices (like WSDI) to accept pre-calculated thresholds.
    • Performance Monitoring: Added memory profiling and system information cells to performance notebooks.
  • Testing:

    • Replaced generic integration tests with dedicated unit tests for precipitation and temperature indicators.
    • Fixed ModuleNotFoundError and mocking issues in the test suite.

cuadradot and others added 21 commits November 21, 2025 13:08
Enhanced docstring for wrap_xclim_indicator function to clarify parameters and return value.
…with dedicated unit tests for precipitation and temperature, and update wrapper logic.
…s to degC, and directly import xclim unit conversion.
…ngs to `profile_indicator`, and include `thresh` parameter in `maximum_consecutive_wet_days` call.
…ing the wrapper generation script and build integration.
…README with detailed project description and structure.
…new SVG logo, and update project dependencies.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants