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
- Host: GitHub
- URL: https://github.com/Ouranosinc/miranda
- Owner: Ouranosinc
- License: apache-2.0
- Created: 2019-08-22T16:12:39.000Z (almost 7 years ago)
- Default Branch: main
- Last Pushed: 2026-08-04T14:01:25.000Z (15 days ago)
- Last Synced: 2026-08-10T14:08:34.349Z (9 days ago)
- Topics: archiving, climate, collection, management, netcdf
- Language: Python
- Homepage: https://miranda.readthedocs.io/
- Size: 51.7 MB
- Stars: 19
- Watchers: 5
- Forks: 2
- Open Issues: 18
- Releases: 6
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGELOG.rst
- Contributing: CONTRIBUTING.rst
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Citation: CITATION.cff
- Security: SECURITY.md
- Authors: AUTHORS.rst
- Zenodo: .zenodo.json
- Agents: AGENTS.md
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
- Name: Ouranos inc.
- Login: Ouranosinc
- Email:
- Kind: organization
- Description: Consortium on regional climatology
- Website: www.ouranos.ca
- Location: Canada
- Twitter: ouranos_cc
- Company:
- Icon url: https://avatars.githubusercontent.com/u/1696763?v=4
- Repositories: 37
- Last ynced at: 2023-02-26T14:20:41.025Z
- Profile URL: https://github.com/Ouranosinc
GitHub Events
Total
- Release event: 1
- Delete event: 92
- Pull request event: 159
- Issues event: 4
- Watch event: 3
- Issue comment event: 69
- Push event: 346
- Pull request review comment event: 40
- Pull request review event: 99
- Create event: 101
Last Year
- Release event: 1
- Delete event: 42
- Pull request event: 61
- Issues event: 1
- Watch event: 1
- Issue comment event: 24
- Push event: 137
- Pull request review comment event: 16
- Pull request review event: 29
- Create event: 46
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 | 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:
- ouranos.ca: 5
- hotmail.ca: 1
- doris.ouranos.ca: 1
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
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
- Total packages: 3
-
Total downloads:
- pypi: 87 last-month
- Total dependent packages: 0 (may contain duplicates)
- Total dependent repositories: 0 (may contain duplicates)
- Total versions: 18
- Total maintainers: 2
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
- actions/checkout v3 composite
- actions/setup-python v4 composite
- deadsnakes/action v2.1.1 composite
- styfle/cancel-workflow-action 0.11.0 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- pypa/gh-action-pypi-publish release/v1 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- pypa/gh-action-pypi-publish release/v1 composite
- cftime *
- dask *
- distributed *
- h5netcdf *
- netCDF4 *
- numpy *
- pandas *
- pyessv *
- pyyaml *
- schema *
- xarray *
- xclim *
- zarr *
- 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
- actions/checkout 9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 composite
- github/codeql-action/analyze 8aad20d150bbac5944a9f9d289da16a4b0d87c1e composite
- github/codeql-action/init 8aad20d150bbac5944a9f9d289da16a4b0d87c1e composite
- step-security/harden-runner 9af89fc71515a100421586dfdb3dc9c984fbf411 composite
- actions/labeler f27b608878404679385c85cfa523b85ccb86e213 composite
- step-security/harden-runner 9af89fc71515a100421586dfdb3dc9c984fbf411 composite
- actions/checkout 9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 composite
- step-security/harden-runner 9af89fc71515a100421586dfdb3dc9c984fbf411 composite
- 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
- 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
- step-security/harden-runner 9af89fc71515a100421586dfdb3dc9c984fbf411 composite
- actions/checkout 9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 composite
- actions/create-github-app-token bcd2ba49218906704ab6c1aa796996da409d3eb1 composite
- dependabot/fetch-metadata 25dd0e34f4fe68f24cc83900b1fe3fe149efef98 composite
- step-security/harden-runner 9af89fc71515a100421586dfdb3dc9c984fbf411 composite
- actions/github-script 3a2844b7e9c422d3c10d287c895573f7108da1b3 composite
- step-security/harden-runner 9af89fc71515a100421586dfdb3dc9c984fbf411 composite
- 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
- actions/checkout 9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 composite
- actions/dependency-review-action a1d282b36b6f3519aa1f3fc636f609c47dddb294 composite
- step-security/harden-runner 9af89fc71515a100421586dfdb3dc9c984fbf411 composite
Score: 10.497449555174734