Miranda

A modern Python utility library for climate data collection and management.
https://github.com/Ouranosinc/miranda

Category: Climate Change
Sub Category: Climate Data Processing and Analysis

Keywords

archiving climate collection management netcdf

Keywords from Contributors

earth-system-model icclim climate-analysis climate-science netcdf4 xclim anuclim raven ogc indices

Last synced: about 20 hours ago
JSON representation

Repository metadata

A modern Python utility library for climate data collection and management

README.rst

          ==============
Miranda |logo|
==============

+----------------------------+-----------------------------------------------------+
| Versions                   | |pypi| |conda|                                      |
+----------------------------+-----------------------------------------------------+
| Documentation and Support  | |docs| |versions|                                   |
+----------------------------+-----------------------------------------------------+
| Open Source                | |license| |ossf-score| |zenodo|                     |
+----------------------------+-----------------------------------------------------+
| Coding Standards           | |ruff| |prek| |pre-commit-ci| |ossf-bp|             |
+----------------------------+-----------------------------------------------------+
| Development Status         | |status| |build| |coveralls|                        |
+----------------------------+-----------------------------------------------------+

Python utilities for climate data collection, conversion, and management.

* Free software: Apache Software License 2.0
* Documentation: https://miranda.readthedocs.io.

Features
--------

Data collection functions for climate and forecast data hosted at:
    * ECMWF (Europe) (ERA5, ERA5-Land, TIGGE)
    * ECCC (Canada) (Monthly Climate Summaries, ECCC GEOAPI) (In development)
    * NCAR (CORDEX-NA on AWS)

Data conversion for `Climate and Forecasting (CF) `_ Variable and Metadata compliance:
    * ECMWF (Europe) (ERA5, ERA5-Land, TIGGE) (In Development)
    * ECCC (Canada) (Flat File Observations, Monthly Climate Summaries, Adjusted and Homogenized Climate Data, ECCC GEOAPI) (In Development)
    * MELCC (Québec)
    * Hydro-Québec (In Development)

Database structuring and facets validation:
    * Simulations:
       * WCRP (CMIP5, CMIP6, CMIP5-CORDEX, CORDEX-ADJUST, ISIMIP, etc.)
    * Station-Observations:
       * MELCC (Québec) (Needs `mdbtools `_ installed)
       * ECCC (Canada) (In Development)
       * Hydro-Québec (In Development)
    * Gridded-Observations:
       * NRCAN (Canada) (In Development)
       * MELCC (Québec) (In Development)
    * Reanalyses:
       * ECCC (Canada) (CanSWE, CaSR, RDRS)
       * ECMWF (Europe) (ERA5, ERA5-Land, TIGGE)
       * NASA (DayMET, NEX-GDDP) (In Development)
       * USask (Canada) (EMDNA)

Installation
------------

`miranda` can be installed from PyPI:

.. code-block:: shell

    $ python -m pip install miranda

Some functionalities require complex-to-install dependencies.
In order to gain access to them, we strongly suggest using `Anaconda `_ to manage your environment:

.. code-block:: shell

    $ conda env create -f environment.yml
    $ conda activate miranda
    $ python -m pip install miranda[full]

For more information about Anaconda/Miniconda/conda-forge:
    * Miniconda: https://docs.conda.io/en/latest/miniconda.html
    * conda-forge: https://conda-forge.org/#about

`miranda` also relies on `PyESSV `_ for its climate data controlled vocabulary.
This library is optional for users who do not require validation checks,
but enabling this feature requires additional installation steps:

.. code-block:: shell

    $ mkdir -p ~/.esdoc
    $ git clone git@github.com:ES-DOC/pyessv-archive.git ~/.esdoc/pyessv-archive

Contributing
------------

See the contributing documentation: https://miranda.readthedocs.io/en/latest/contributing.html

Acknowledgments
---------------

`miranda` development is funded through `Ouranos`_, a not-for-profit collaborative innovation organization fostering resilient adaptation to climate change, based in Québec, Canada.

.. image:: https://raw.githubusercontent.com/Ouranosinc/.github/refs/heads/main/images/logo-ouranos-horizontal-couleur.svg
        :target: https://www.ouranos.ca/en
        :align: center
        :class: ouranos-logo no-theme center

|ouranos-dark| |ouranos-light|

This package was created with Cookiecutter_ and the `Ouranosinc/cookiecutter-pypackage`_ project template.

.. _Cookiecutter: https://github.com/cookiecutter/cookiecutter
.. _Ouranos: https://www.ouranos.ca/en
.. _Ouranosinc/cookiecutter-pypackage: https://github.com/Ouranosinc/cookiecutter-pypackage

.. |build| image:: https://github.com/Ouranosinc/miranda/actions/workflows/main.yml/badge.svg
        :target: https://github.com/Ouranosinc/miranda/actions
        :alt: Build Status

.. |conda| image:: https://img.shields.io/conda/vn/conda-forge/python-miranda.svg
        :target: https://anaconda.org/conda-forge/python-miranda
        :alt: Conda-forge Build Version

.. |coveralls| image:: https://coveralls.io/repos/github/Ouranosinc/miranda/badge.svg
        :target: https://coveralls.io/github/Ouranosinc/miranda
        :alt: Coveralls

.. |docs| image:: https://readthedocs.org/projects/miranda/badge/?version=latest
        :target: https://miranda.readthedocs.io/en/latest/?version=latest
        :alt: Documentation Status

.. |license| image:: https://img.shields.io/github/license/Ouranosinc/miranda.svg
        :target: https://github.com/Ouranosinc/miranda/blob/main/LICENSE
        :alt: License

.. |ossf-bp| image:: https://bestpractices.coreinfrastructure.org/projects/11291/badge
        :target: https://bestpractices.coreinfrastructure.org/projects/11291
        :alt: Open Source Security Foundation Best Practices

.. |ossf-score| image:: https://api.securityscorecards.dev/projects/github.com/Ouranosinc/miranda/badge
        :target: https://securityscorecards.dev/viewer/?uri=github.com/Ouranosinc/miranda
        :alt: OpenSSF Scorecard

.. |logo| image:: https://raw.githubusercontent.com/Ouranosinc/miranda/main/docs/_static/images/miranda-logo-small.png
        :target: https://github.com/Ouranosinc/miranda
        :alt: Miranda

.. |pre-commit-ci| image:: https://results.pre-commit.ci/badge/github/Ouranosinc/miranda/main.svg
        :target: https://results.pre-commit.ci/latest/github/Ouranosinc/miranda/main
        :alt: pre-commit.ci status

.. |prek| image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/j178/prek/master/docs/assets/badge-v0.json
        :target: https://github.com/j178/prek
        :alt: prek

.. |pypi| image:: https://img.shields.io/pypi/v/miranda.svg
        :target: https://pypi.python.org/pypi/miranda
        :alt: PyPI

.. |ruff| image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json
        :target: https://github.com/astral-sh/ruff
        :alt: Ruff

.. |status| image:: https://www.repostatus.org/badges/latest/active.svg
        :target: https://www.repostatus.org/#active
        :alt: Project Status: Active – The project has reached a stable, usable state and is being actively developed.

.. |versions| image:: https://img.shields.io/pypi/pyversions/miranda.svg
        :target: https://pypi.python.org/pypi/miranda
        :alt: Supported Python Versions

.. |zenodo| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.17048366.svg
        :target: https://doi.org/10.5281/zenodo.17048366
        :alt: DOI

.. Ouranos Logos

.. |ouranos-light| image:: https://raw.githubusercontent.com/Ouranosinc/miranda/main/docs/_static/images/empty.png
        :target: https://www.ouranos.ca/en
        :alt:
        :class: ouranos-logo only-light center

.. |ouranos-dark| image:: https://raw.githubusercontent.com/Ouranosinc/miranda/main/docs/_static/images/empty.png
        :target: https://www.ouranos.ca/en
        :alt:
        :class: ouranos-logo only-dark center

        

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit and templated with cookiecutter.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: "1.2.0"
title: "miranda: Python utilities for climate data collection, conversion, and management"
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: "software"
authors:
  - family-names: 'Smith'
    given-names: 'Trevor James'
    email: 'smith.trevorj@ouranos.ca'
    orcid: 'https://orcid.org/0000-0001-5393-8359'
  - family-names: 'Beşe'
    given-names: 'Aslı'
    orcid: "https://orcid.org/0009-0004-3125-4983"
  - family-names: 'Bourgault'
    given-names: 'Pascal'
    orcid: "https://orcid.org/0000-0003-1192-0403"
  - family-names: 'Logan'
    given-names: 'Travis'
    orcid: "https://orcid.org/0000-0002-2212-9580"
contact:
  - family-names: 'Smith'
    given-names: 'Trevor James'
    email: 'smith.trevorj@ouranos.ca'
    orcid: 'https://orcid.org/0000-0001-5393-8359'
repository-code: "https://github.com/Ouranosinc/miranda"
doi: "10.5281/zenodo.17048365"
abstract: "Python utilities for climate data collection, conversion, and management."
license: "Apache-2.0"
version: "0.7.1"

Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 2 days ago

Total Commits: 1,795
Total Committers: 11
Avg Commits per committer: 163.182
Development Distribution Score (DDS): 0.363

Commits in past year: 343
Committers in past year: 7
Avg Commits per committer in past year: 49.0
Development Distribution Score (DDS) in past year: 0.627

Name Email Commits
Zeitsperre 1****e 1143
tlogan2000 l****s@o****a 224
pre-commit-ci[bot] 6****] 165
dependabot[bot] 4****] 100
Asli Bese a****e@d****a 65
bumpversion[bot] b****]@o****a 36
juliettelavoie j****e@h****a 27
Pascal Bourgault b****l@o****a 26
Asli Bese 1****e 4
RondeauG r****l@o****a 3
David Huard h****d@o****a 2

Committer domains:


Issue and Pull Request metadata

Last synced: 2 days ago

Total issues: 38
Total pull requests: 349
Average time to close issues: 9 months
Average time to close pull requests: 15 days
Total issue authors: 8
Total pull request authors: 9
Average comments per issue: 2.34
Average comments per pull request: 0.58
Merged pull request: 285
Bot issues: 2
Bot pull requests: 207

Past year issues: 3
Past year pull requests: 43
Past year average time to close issues: 1 day
Past year average time to close pull requests: 3 days
Past year issue authors: 3
Past year pull request authors: 5
Past year average comments per issue: 0.0
Past year average comments per pull request: 0.86
Past year merged pull request: 34
Past year bot issues: 1
Past year bot pull requests: 17

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/Ouranosinc/miranda

Top Issue Authors

  • Zeitsperre (18)
  • juliettelavoie (8)
  • aulemahal (4)
  • tlogan2000 (2)
  • DoMatte (2)
  • dependabot[bot] (2)
  • aslibese (1)
  • RondeauG (1)

Top Pull Request Authors

  • dependabot[bot] (137)
  • Zeitsperre (94)
  • pre-commit-ci[bot] (70)
  • tlogan2000 (22)
  • aslibese (15)
  • aulemahal (4)
  • juliettelavoie (3)
  • RondeauG (2)
  • huard (2)

Top Issue Labels

  • enhancement (15)
  • invalid (3)
  • dependencies (2)
  • bug (2)
  • wontfix (2)
  • data bug (2)
  • documentation (2)
  • python (2)
  • priority (1)
  • help wanted (1)
  • CI (1)

Top Pull Request Labels

  • dependencies (137)
  • CI (106)
  • python (76)
  • github_actions (61)
  • enhancement (32)
  • docs (18)
  • documentation (14)
  • bug (9)
  • invalid (2)

Package metadata

proxy.golang.org: github.com/Ouranosinc/miranda

  • Homepage:
  • Documentation: https://pkg.go.dev/github.com/Ouranosinc/miranda#section-documentation
  • Licenses: apache-2.0
  • Latest release: v0.7.1 (published 3 months ago)
  • Last Synced: 2026-08-17T19:38:02.304Z (2 days ago)
  • Versions: 6
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent packages count: 5.395%
    • Average: 5.576%
    • Dependent repos count: 5.758%
proxy.golang.org: github.com/ouranosinc/miranda

  • Homepage:
  • Documentation: https://pkg.go.dev/github.com/ouranosinc/miranda#section-documentation
  • Licenses: apache-2.0
  • Latest release: v0.7.1 (published 3 months ago)
  • Last Synced: 2026-08-17T19:46:09.888Z (2 days ago)
  • Versions: 6
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent packages count: 5.395%
    • Average: 5.576%
    • Dependent repos count: 5.758%
pypi.org: miranda

Python utilities for climate data collection, conversion, and management.

  • Homepage: https://miranda.readthedocs.io/
  • Documentation: https://miranda.readthedocs.io/
  • Licenses: Apache-2.0
  • Latest release: 0.7.1 (published 3 months ago)
  • Last Synced: 2026-08-17T19:32:18.880Z (2 days ago)
  • Versions: 6
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 87 Last month
  • Rankings:
    • Dependent packages count: 6.633%
    • Stargazers count: 16.126%
    • Forks count: 19.553%
    • Average: 21.323%
    • Dependent repos count: 30.611%
    • Downloads: 33.691%
  • Maintainers (2)

Dependencies

.github/workflows/main.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • deadsnakes/action v2.1.1 composite
  • styfle/cancel-workflow-action 0.11.0 composite
.github/workflows/publish-pypi.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • pypa/gh-action-pypi-publish release/v1 composite
.github/workflows/tag-testpypi.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • pypa/gh-action-pypi-publish release/v1 composite
pyproject.toml pypi
  • cftime *
  • dask *
  • distributed *
  • h5netcdf *
  • netCDF4 *
  • numpy *
  • pandas *
  • pyessv *
  • pyyaml *
  • schema *
  • xarray *
  • xclim *
  • zarr *
CI/requirements_ci.txt pypi
  • annotated-types ==0.7.0
  • anyio ==4.8.0
  • astroid ==4.0.2
  • bracex ==2.4
  • bump-my-version ==1.4.1
  • cachetools ==7.0.5
  • certifi ==2024.7.4
  • charset-normalizer ==3.3.2
  • click ==8.1.7
  • colorama ==0.4.6
  • deptry ==0.25.1
  • dill ==0.4.0
  • distlib ==0.3.8
  • docutils ==0.20.1
  • exceptiongroup ==1.3.1
  • filelock ==3.25.2
  • flit ==3.12.0
  • flit-core ==3.12.0
  • h11 ==0.16.0
  • httpcore2 ==2.5.0
  • httpx2 ==2.5.0
  • idna ==3.18
  • isort ==6.0.1
  • markdown-it-py ==3.0.0
  • mccabe ==0.7.0
  • mdurl ==0.1.2
  • packaging ==26.0
  • platformdirs ==4.9.4
  • pluggy ==1.6.0
  • prompt-toolkit ==3.0.36
  • pydantic ==2.13.4
  • pydantic-core ==2.46.4
  • pydantic-settings ==2.3.4
  • pygments ==2.20.0
  • pylint ==4.0.6
  • pyproject-api ==1.10.0
  • python-discovery ==1.2.2
  • python-dotenv ==1.2.2
  • questionary ==2.0.1
  • requests ==2.33.0
  • requirements-parser ==0.13.0
  • rich ==13.7.1
  • rich-click ==1.8.3
  • sniffio ==1.3.1
  • tomli ==2.4.1
  • tomli-w ==1.2.0
  • tomlkit ==0.13.0
  • tox ==4.56.0
  • tox-gh ==1.7.1
  • truststore ==0.10.4
  • typing-extensions ==4.15.0
  • typing-inspection ==0.4.2
  • urllib3 ==2.7.0
  • virtualenv ==21.2.0
  • wcmatch ==8.5.2
  • wcwidth ==0.2.13
.github/workflows/codeql.yml actions
  • actions/checkout 9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 composite
  • github/codeql-action/analyze 8aad20d150bbac5944a9f9d289da16a4b0d87c1e composite
  • github/codeql-action/init 8aad20d150bbac5944a9f9d289da16a4b0d87c1e composite
  • step-security/harden-runner 9af89fc71515a100421586dfdb3dc9c984fbf411 composite
.github/workflows/label.yml actions
  • actions/labeler f27b608878404679385c85cfa523b85ccb86e213 composite
  • step-security/harden-runner 9af89fc71515a100421586dfdb3dc9c984fbf411 composite
.github/workflows/cache-cleaner.yml actions
  • actions/checkout 9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 composite
  • step-security/harden-runner 9af89fc71515a100421586dfdb3dc9c984fbf411 composite
CI/requirements_ci.in pypi
  • bump-my-version ==1.4.1
  • deptry ==0.25.1
  • exceptiongroup ==1.3.1
  • flit ==3.12.0
  • pip ==26.1.2
  • pydantic ==2.13.4
  • pylint ==4.0.6
  • tomli ==2.4.1
  • tox ==4.56.0
  • tox-gh ==1.7.1
.github/workflows/bump-version.yml actions
  • actions/checkout 9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 composite
  • actions/create-github-app-token bcd2ba49218906704ab6c1aa796996da409d3eb1 composite
  • actions/setup-python ece7cb06caefa5fff74198d8649806c4678c61a1 composite
  • ad-m/github-push-action 881a6320fdb16eb5318c5054f31c218aec2b324c composite
  • crazy-max/ghaction-import-gpg 2dc316deee8e90f13e1a351ab510b4d5bc0c82cd composite
  • step-security/harden-runner 9af89fc71515a100421586dfdb3dc9c984fbf411 composite
.github/workflows/workflow-warning.yml actions
  • step-security/harden-runner 9af89fc71515a100421586dfdb3dc9c984fbf411 composite
.github/workflows/auto-accept-ci-changes.yml actions
  • actions/checkout 9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 composite
  • actions/create-github-app-token bcd2ba49218906704ab6c1aa796996da409d3eb1 composite
  • dependabot/fetch-metadata 25dd0e34f4fe68f24cc83900b1fe3fe149efef98 composite
  • step-security/harden-runner 9af89fc71515a100421586dfdb3dc9c984fbf411 composite
.github/workflows/first-pull-request.yml actions
  • actions/github-script 3a2844b7e9c422d3c10d287c895573f7108da1b3 composite
  • step-security/harden-runner 9af89fc71515a100421586dfdb3dc9c984fbf411 composite
.github/workflows/scorecard.yml actions
  • actions/checkout 9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 composite
  • actions/upload-artifact 043fb46d1a93c77aae656e7c1c64a875d1fc6a0a composite
  • github/codeql-action/upload-sarif 8aad20d150bbac5944a9f9d289da16a4b0d87c1e composite
  • ossf/scorecard-action 4eaacf0543bb3f2c246792bd56e8cdeffafb205a composite
  • step-security/harden-runner 9af89fc71515a100421586dfdb3dc9c984fbf411 composite
.github/workflows/dependency-review.yml actions
  • actions/checkout 9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 composite
  • actions/dependency-review-action a1d282b36b6f3519aa1f3fc636f609c47dddb294 composite
  • step-security/harden-runner 9af89fc71515a100421586dfdb3dc9c984fbf411 composite

Score: 10.497449555174734