pyearthtools


Namepyearthtools JSON
Version 0.2.0 PyPI version JSON
download
home_pageNone
SummaryPyEarthTools: Machine learning for Earth system science.
upload_time2025-09-04 00:47:38
maintainerNone
docs_urlNone
authorNone
requires_python>=3.11
licenseNone
keywords pyearthtools
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # PyEarthTools: Machine learning for Earth system science

[![DOI](https://zenodo.org/badge/903938118.svg)](https://doi.org/10.5281/zenodo.15760768)

- An approachable way for researchers to get started with ML research for Earth system science
- Provides a software framework for research and experimentation
- Also suitable for students and newcomers
- Still under early-stage development - things are likely to change a lot. If you notice an issue, please feel free to raise it on GitHub

|![](https://pyearthtools.readthedocs.io/en/latest/_images/notebooks_demo_FourCastNeXt_Inference_9_1.png)<br>A weather prediction from a model trained with PyEarthTools.|![](https://pyearthtools.readthedocs.io/en/latest/_images/notebooks_tutorial_Working_with_Climate_Data_14_2.svg)<br>A data processing flow composed for working with climate data.|
|:-:|:-:|

Source Code: [github.com/ACCESS-Community-Hub/PyEarthTools](https://github.com/ACCESS-Community-Hub/PyEarthTools)  
Documentation: [pyearthtools.readthedocs.io](https://pyearthtools.readthedocs.io)  
Tutorial Gallery: [available here](https://pyearthtools.readthedocs.io/en/latest/notebooks/Gallery.html)  
New Users Guide: [available here](https://pyearthtools.readthedocs.io/en/latest/newuser.html)  

## Installation

**Here is the quickest way to install the complete framework and get started:**

We strongly recommend using either a Conda or Python [virtual environment](https://pyearthtools.readthedocs.io/en/latest/installation.html#virtual-environments).

Run the following commands to install PyEarthTools in a Conda environment:
```shell
git clone git@github.com:ACCESS-Community-Hub/PyEarthTools.git
conda create -y -p ./venv python graphviz
conda activate ./venv
pip install -r requirements.txt
cd notebooks
jupyter lab
```

Alternatively, run the following commands to install PyEarthTools in a Python virtual environment:
```shell
git clone git@github.com:ACCESS-Community-Hub/PyEarthTools.git
python3 -m venv ./venv
source venv/bin/activate
pip install -r requirements.txt
cd notebooks
jupyter lab
```
> [!TIP]
> (Optional) Install [Graphviz](https://graphviz.org/download/) (not installable via pip) to display pipelines.

PyEarthTools comprises multiple sub-packages which may be installed and used separately. See the [installation guide](https://pyearthtools.readthedocs.io/en/latest/installation.html) for more details.

## Overview of PyEarthTools

PyEarthTools is a Python framework containing modules for:
 - loading and fetching data;
 - pre-processing, normalising and standardising data into a normal form suitable for machine learning;
 - defining machine learning (ML) models;
 - training ML models and managing experiments;
 - performing inference with ML models;
 - and evaluating ML models.

## Overview of the Packages within PyEarthTools

PyEarthTools comprises multiple sub-packages which can be used individually or together.

|    Sub-Package                 |  Purpose  |
|--------------------------------|---------------------- |
|  [Data](https://pyearthtools.readthedocs.io/en/latest/api/data/data_index.html)    | Loading and indexing Earth system data into xarray |
|  [Utils](https://pyearthtools.readthedocs.io/en/latest/api/utils/utils_index.html)  | Code for common functionality across the sub-packages |
|  [Pipeline](https://pyearthtools.readthedocs.io/en/latest/api/pipeline/pipeline_index.html)       |  Process and normalise Earth system data ready for machine learning |
|  [Training](https://pyearthtools.readthedocs.io/en/latest/api/training/training_index.html)       | Training processes for machine learning models |
|  [Tutorial](https://pyearthtools.readthedocs.io/en/latest/api/tutorial/tutorial_index.html)       | Contains helper code for data sets used in tutorials |
|  [Bundled Models](https://pyearthtools.readthedocs.io/en/latest/api/bundled_models/bundled_index.html) | Maintained versions of specific, bundled models which can be easily trained and run |
|  [Zoo](https://pyearthtools.readthedocs.io/en/latest/api/zoo/zoo_index.html)            | Contains code for managing registered models (such as the bundled models) |
|  Evaluation     | (Coming soon) Contains code for producing standard evaluations (such as benchmarks and scorecards) |

## Acknowleging or Citing `PyEarthTools`

If you use PyEarthTools for your work, we would appreciate you citing our software as below:

Cook, H., Leeuwenburg, T., Rio, M., Miller, J., Mason, G., Ramanathan, N., Pill, J., Haddad, S., & de Burgh-Day, C. (2025). PyEarthTools: Machine learning for Earth system science (0.1.1). Zenodo. https://doi.org/10.5281/zenodo.15760769

BibTeX:
```
@software{cook_2025_15760769,
  author       = {Cook, Harrison and
                  Leeuwenburg, Tennessee and
                  Rio, Maxime and
                  Miller, Joel and
                  Mason, Gemma and
                  Ramanathan, Nikeeth and
                  Pill, John and
                  Haddad, Stephen and
                  de Burgh-Day, Catherine},
  title        = {{PyEarthTools: Machine learning for Earth system science}},
  month        = jun,
  year         = 2025,
  publisher    = {Zenodo},
  version      = {0.1.1},
  doi          = {10.5281/zenodo.15760769},
  url          = {https://doi.org/10.5281/zenodo.15760769}
}
```

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "pyearthtools",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.11",
    "maintainer_email": "Tennessee Leeuwenburg <tennessee.leeuwenburg@bom.gov.au>",
    "keywords": "pyearthtools",
    "author": null,
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/f2/9b/1e059a4bc53f9839f6fd8ee4a75874c83a9b0529351db7ddbe86fc86e615/pyearthtools-0.2.0.tar.gz",
    "platform": null,
    "description": "# PyEarthTools: Machine learning for Earth system science\n\n[![DOI](https://zenodo.org/badge/903938118.svg)](https://doi.org/10.5281/zenodo.15760768)\n\n- An approachable way for researchers to get started with ML research for Earth system science\n- Provides a software framework for research and experimentation\n- Also suitable for students and newcomers\n- Still under early-stage development - things are likely to change a lot. If you notice an issue, please feel free to raise it on GitHub\n\n|![](https://pyearthtools.readthedocs.io/en/latest/_images/notebooks_demo_FourCastNeXt_Inference_9_1.png)<br>A weather prediction from a model trained with PyEarthTools.|![](https://pyearthtools.readthedocs.io/en/latest/_images/notebooks_tutorial_Working_with_Climate_Data_14_2.svg)<br>A data processing flow composed for working with climate data.|\n|:-:|:-:|\n\nSource Code: [github.com/ACCESS-Community-Hub/PyEarthTools](https://github.com/ACCESS-Community-Hub/PyEarthTools)  \nDocumentation: [pyearthtools.readthedocs.io](https://pyearthtools.readthedocs.io)  \nTutorial Gallery: [available here](https://pyearthtools.readthedocs.io/en/latest/notebooks/Gallery.html)  \nNew Users Guide: [available here](https://pyearthtools.readthedocs.io/en/latest/newuser.html)  \n\n## Installation\n\n**Here is the quickest way to install the complete framework and get started:**\n\nWe strongly recommend using either a Conda or Python [virtual environment](https://pyearthtools.readthedocs.io/en/latest/installation.html#virtual-environments).\n\nRun the following commands to install PyEarthTools in a Conda environment:\n```shell\ngit clone git@github.com:ACCESS-Community-Hub/PyEarthTools.git\nconda create -y -p ./venv python graphviz\nconda activate ./venv\npip install -r requirements.txt\ncd notebooks\njupyter lab\n```\n\nAlternatively, run the following commands to install PyEarthTools in a Python virtual environment:\n```shell\ngit clone git@github.com:ACCESS-Community-Hub/PyEarthTools.git\npython3 -m venv ./venv\nsource venv/bin/activate\npip install -r requirements.txt\ncd notebooks\njupyter lab\n```\n> [!TIP]\n> (Optional) Install [Graphviz](https://graphviz.org/download/) (not installable via pip) to display pipelines.\n\nPyEarthTools comprises multiple sub-packages which may be installed and used separately. See the [installation guide](https://pyearthtools.readthedocs.io/en/latest/installation.html) for more details.\n\n## Overview of PyEarthTools\n\nPyEarthTools is a Python framework containing modules for:\n - loading and fetching data;\n - pre-processing, normalising and standardising data into a normal form suitable for machine learning;\n - defining machine learning (ML) models;\n - training ML models and managing experiments;\n - performing inference with ML models;\n - and evaluating ML models.\n\n## Overview of the Packages within PyEarthTools\n\nPyEarthTools comprises multiple sub-packages which can be used individually or together.\n\n|    Sub-Package                 |  Purpose  |\n|--------------------------------|---------------------- |\n|  [Data](https://pyearthtools.readthedocs.io/en/latest/api/data/data_index.html)    | Loading and indexing Earth system data into xarray |\n|  [Utils](https://pyearthtools.readthedocs.io/en/latest/api/utils/utils_index.html)  | Code for common functionality across the sub-packages |\n|  [Pipeline](https://pyearthtools.readthedocs.io/en/latest/api/pipeline/pipeline_index.html)       |  Process and normalise Earth system data ready for machine learning |\n|  [Training](https://pyearthtools.readthedocs.io/en/latest/api/training/training_index.html)       | Training processes for machine learning models |\n|  [Tutorial](https://pyearthtools.readthedocs.io/en/latest/api/tutorial/tutorial_index.html)       | Contains helper code for data sets used in tutorials |\n|  [Bundled Models](https://pyearthtools.readthedocs.io/en/latest/api/bundled_models/bundled_index.html) | Maintained versions of specific, bundled models which can be easily trained and run |\n|  [Zoo](https://pyearthtools.readthedocs.io/en/latest/api/zoo/zoo_index.html)            | Contains code for managing registered models (such as the bundled models) |\n|  Evaluation     | (Coming soon) Contains code for producing standard evaluations (such as benchmarks and scorecards) |\n\n## Acknowleging or Citing `PyEarthTools`\n\nIf you use PyEarthTools for your work, we would appreciate you citing our software as below:\n\nCook, H., Leeuwenburg, T., Rio, M., Miller, J., Mason, G., Ramanathan, N., Pill, J., Haddad, S., & de Burgh-Day, C. (2025). PyEarthTools: Machine learning for Earth system science (0.1.1). Zenodo. https://doi.org/10.5281/zenodo.15760769\n\nBibTeX:\n```\n@software{cook_2025_15760769,\n  author       = {Cook, Harrison and\n                  Leeuwenburg, Tennessee and\n                  Rio, Maxime and\n                  Miller, Joel and\n                  Mason, Gemma and\n                  Ramanathan, Nikeeth and\n                  Pill, John and\n                  Haddad, Stephen and\n                  de Burgh-Day, Catherine},\n  title        = {{PyEarthTools: Machine learning for Earth system science}},\n  month        = jun,\n  year         = 2025,\n  publisher    = {Zenodo},\n  version      = {0.1.1},\n  doi          = {10.5281/zenodo.15760769},\n  url          = {https://doi.org/10.5281/zenodo.15760769}\n}\n```\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "PyEarthTools: Machine learning for Earth system science. ",
    "version": "0.2.0",
    "project_urls": {
        "documentation": "https://pyearthtools.readthedocs.io/",
        "homepage": "https://pyearthtools.readthedocs.io/",
        "repository": "https://github.com/ACCESS-Community-Hub/PyEarthTools"
    },
    "split_keywords": [
        "pyearthtools"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ad5e9005a0ab446f3adc070460fd535be8aa0dab56bf3a6a380465eb6b671f42",
                "md5": "6ad4410d1c48f4a55cb1dabfbfc890f3",
                "sha256": "dd5750f52aa469a43f8a2481216b4bbe85ff1337400c47424dc3c1a9c06a20ec"
            },
            "downloads": -1,
            "filename": "pyearthtools-0.2.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "6ad4410d1c48f4a55cb1dabfbfc890f3",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.11",
            "size": 8850,
            "upload_time": "2025-09-04T00:47:37",
            "upload_time_iso_8601": "2025-09-04T00:47:37.739172Z",
            "url": "https://files.pythonhosted.org/packages/ad/5e/9005a0ab446f3adc070460fd535be8aa0dab56bf3a6a380465eb6b671f42/pyearthtools-0.2.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f29b1e059a4bc53f9839f6fd8ee4a75874c83a9b0529351db7ddbe86fc86e615",
                "md5": "e5f4a16fed754232001d0e923845bd66",
                "sha256": "470c57e6f2632bffc0793c82fd2f9444364b8d00f4969cf266aa4d44a5853db0"
            },
            "downloads": -1,
            "filename": "pyearthtools-0.2.0.tar.gz",
            "has_sig": false,
            "md5_digest": "e5f4a16fed754232001d0e923845bd66",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.11",
            "size": 9892,
            "upload_time": "2025-09-04T00:47:38",
            "upload_time_iso_8601": "2025-09-04T00:47:38.885484Z",
            "url": "https://files.pythonhosted.org/packages/f2/9b/1e059a4bc53f9839f6fd8ee4a75874c83a9b0529351db7ddbe86fc86e615/pyearthtools-0.2.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-09-04 00:47:38",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "ACCESS-Community-Hub",
    "github_project": "PyEarthTools",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "pyearthtools"
}
        
Elapsed time: 1.90529s