{"id":351547,"name":"Earth Observation Data Science Cookbook","description":"This Project Pythia Cookbook covers a range of Earth observation examples employing the Pangeo philosophy. The examples represent the main research lines and BSc/MSc courses at the Department of Geodesy and Geoinformation at the TU Wien.","url":"https://github.com/projectpythia/eo-datascience-cookbook","last_synced_at":"2026-04-14T01:00:49.987Z","repository":{"id":248998096,"uuid":"830421828","full_name":"ProjectPythia/eo-datascience-cookbook","owner":"ProjectPythia","description":"Earth Observation Data Science Cookbook provides training material centered around Earth Observation data while honoring the Pangeo Philosophy. The examples used in the notebooks represent some of the main research lines of the Remote Sensing Unit at the Department of Geodesy and Geoinformation at the TU Wien (Austria).","archived":false,"fork":false,"pushed_at":"2026-03-30T18:54:27.000Z","size":1224386,"stargazers_count":18,"open_issues_count":0,"forks_count":6,"subscribers_count":4,"default_branch":"main","last_synced_at":"2026-03-30T19:21:20.727Z","etag":null,"topics":["earth-observation","remote-sensing"],"latest_commit_sha":null,"homepage":"https://projectpythia.org/eo-datascience-cookbook/","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ProjectPythia.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-07-18T08:40:33.000Z","updated_at":"2026-02-26T05:18:04.000Z","dependencies_parsed_at":"2024-11-15T09:18:39.794Z","dependency_job_id":"4b4cf13c-d3d5-4fe0-83e0-1f5e117e2ab1","html_url":"https://github.com/ProjectPythia/eo-datascience-cookbook","commit_stats":null,"previous_names":["tuw-geo/eo-datascience-cookbook","projectpythia/eo-datascience-cookbook"],"tags_count":5,"template":false,"template_full_name":"ProjectPythia/cookbook-template","purl":"pkg:github/ProjectPythia/eo-datascience-cookbook","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProjectPythia%2Feo-datascience-cookbook","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProjectPythia%2Feo-datascience-cookbook/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProjectPythia%2Feo-datascience-cookbook/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProjectPythia%2Feo-datascience-cookbook/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ProjectPythia","download_url":"https://codeload.github.com/ProjectPythia/eo-datascience-cookbook/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProjectPythia%2Feo-datascience-cookbook/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31777348,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-14T00:11:49.126Z","status":"ssl_error","status_checked_at":"2026-04-14T00:10:29.837Z","response_time":93,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"ProjectPythia","name":"Project Pythia","uuid":"75807555","kind":"organization","description":"Community learning resource for Python-based computing in the geosciences","email":"projectpythia@ucar.edu","website":"projectpythia.org","location":"United States of America","twitter":"Project_Pythia","company":null,"icon_url":"https://avatars.githubusercontent.com/u/75807555?v=4","repositories_count":21,"last_synced_at":"2023-03-03T22:51:31.899Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/ProjectPythia","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-14T06:14:58.113Z","updated_at":"2023-03-03T22:51:31.927Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ProjectPythia","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ProjectPythia/repositories"},"packages":[],"commits":{"id":10949974,"full_name":"projectpythia/eo-datascience-cookbook","default_branch":"master","total_commits":null,"total_committers":null,"total_bot_commits":null,"total_bot_committers":null,"mean_commits":null,"dds":null,"past_year_total_commits":null,"past_year_total_committers":null,"past_year_total_bot_commits":null,"past_year_total_bot_committers":null,"past_year_mean_commits":null,"past_year_dds":null,"last_synced_at":null,"last_synced_commit":null,"created_at":"2025-09-05T14:02:19.752Z","updated_at":"2025-09-05T14:02:19.752Z","committers":[],"past_year_committers":[],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/projectpythia%2Feo-datascience-cookbook/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-14T00:00:07.982Z","repositories_count":6213154,"commits_count":903876933,"contributors_count":34933398,"owners_count":1144179,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"ProjectPythia/eo-datascience-cookbook","html_url":"https://github.com/ProjectPythia/eo-datascience-cookbook","last_synced_at":"2026-01-11T23:14:35.340Z","status":"active","issues_count":4,"pull_requests_count":11,"avg_time_to_close_issue":3731672.0,"avg_time_to_close_pull_request":1646160.0,"issues_closed_count":3,"pull_requests_closed_count":10,"pull_request_authors_count":6,"issue_authors_count":3,"avg_comments_per_issue":3.0,"avg_comments_per_pull_request":1.0909090909090908,"merged_pull_requests_count":8,"bot_issues_count":0,"bot_pull_requests_count":5,"past_year_issues_count":4,"past_year_pull_requests_count":11,"past_year_avg_time_to_close_issue":3731672.0,"past_year_avg_time_to_close_pull_request":1646160.0,"past_year_issues_closed_count":3,"past_year_pull_requests_closed_count":10,"past_year_pull_request_authors_count":6,"past_year_issue_authors_count":3,"past_year_avg_comments_per_issue":3.0,"past_year_avg_comments_per_pull_request":1.0909090909090908,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":5,"past_year_merged_pull_requests_count":8,"created_at":"2025-08-29T12:40:15.190Z","updated_at":"2026-01-11T23:14:35.341Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProjectPythia%2Feo-datascience-cookbook","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ProjectPythia%2Feo-datascience-cookbook/issues","issue_labels_count":{"bug":1},"pull_request_labels_count":{"github_actions":5,"dependencies":5},"issue_author_associations_count":{"COLLABORATOR":3,"MEMBER":1},"pull_request_author_associations_count":{"CONTRIBUTOR":6,"MEMBER":2,"COLLABORATOR":2,"NONE":1},"issue_authors":{"MartinSchobben":2,"erogluorhan":1,"npikall":1},"pull_request_authors":{"dependabot[bot]":5,"ktyle":2,"erogluorhan":1,"npikall":1,"jukent":1,"r-ford":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-14T00:00:07.923Z","repositories_count":14248055,"issues_count":34600235,"pull_requests_count":113060319,"authors_count":11233856,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{"bug":1},"past_year_pull_request_labels_count":{"dependencies":5,"github_actions":5},"past_year_issue_author_associations_count":{"COLLABORATOR":1},"past_year_pull_request_author_associations_count":{"CONTRIBUTOR":5,"COLLABORATOR":1,"NONE":1},"past_year_issue_authors":{"MartinSchobben":1},"past_year_pull_request_authors":{"dependabot[bot]":5,"jukent":1,"ktyle":1},"maintainers":[{"login":"MartinSchobben","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/MartinSchobben"},{"login":"erogluorhan","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/erogluorhan"},{"login":"npikall","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/npikall"},{"login":"jukent","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jukent"},{"login":"r-ford","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/r-ford"}],"active_maintainers":[{"login":"jukent","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jukent"},{"login":"MartinSchobben","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/MartinSchobben"}]},"events":{"total":{"ReleaseEvent":4,"DeleteEvent":1,"MemberEvent":1,"PullRequestEvent":13,"ForkEvent":4,"IssuesEvent":8,"WatchEvent":13,"IssueCommentEvent":31,"PushEvent":182,"PullRequestReviewEvent":2,"CreateEvent":10},"last_year":{"ReleaseEvent":2,"DeleteEvent":1,"PullRequestEvent":5,"ForkEvent":1,"IssuesEvent":2,"WatchEvent":7,"IssueCommentEvent":16,"PushEvent":147,"PullRequestReviewEvent":1,"CreateEvent":5}},"keywords":["earth-observation","remote-sensing"],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/nightly-build.yaml","sha":null,"kind":"manifest","created_at":"2024-07-18T11:09:12.085Z","updated_at":"2024-07-18T11:09:12.085Z","repository_link":"https://github.com/ProjectPythia/eo-datascience-cookbook/blob/main/.github/workflows/nightly-build.yaml","dependencies":[]},{"ecosystem":"actions","filepath":".github/workflows/publish-book.yaml","sha":null,"kind":"manifest","created_at":"2024-07-18T11:09:12.299Z","updated_at":"2024-07-18T11:09:12.299Z","repository_link":"https://github.com/ProjectPythia/eo-datascience-cookbook/blob/main/.github/workflows/publish-book.yaml","dependencies":[]},{"ecosystem":"actions","filepath":".github/workflows/trigger-book-build.yaml","sha":null,"kind":"manifest","created_at":"2024-07-18T11:09:12.424Z","updated_at":"2024-07-18T11:09:12.424Z","repository_link":"https://github.com/ProjectPythia/eo-datascience-cookbook/blob/main/.github/workflows/trigger-book-build.yaml","dependencies":[]},{"ecosystem":"actions","filepath":".github/workflows/trigger-delete-preview.yaml","sha":null,"kind":"manifest","created_at":"2024-07-18T11:09:12.625Z","updated_at":"2024-07-18T11:09:12.625Z","repository_link":"https://github.com/ProjectPythia/eo-datascience-cookbook/blob/main/.github/workflows/trigger-delete-preview.yaml","dependencies":[]},{"ecosystem":"actions","filepath":".github/workflows/trigger-link-check.yaml","sha":null,"kind":"manifest","created_at":"2024-07-18T11:09:12.893Z","updated_at":"2024-07-18T11:09:12.893Z","repository_link":"https://github.com/ProjectPythia/eo-datascience-cookbook/blob/main/.github/workflows/trigger-link-check.yaml","dependencies":[]},{"ecosystem":"actions","filepath":".github/workflows/trigger-preview.yaml","sha":null,"kind":"manifest","created_at":"2024-07-18T11:09:13.201Z","updated_at":"2024-07-18T11:09:13.201Z","repository_link":"https://github.com/ProjectPythia/eo-datascience-cookbook/blob/main/.github/workflows/trigger-preview.yaml","dependencies":[]},{"ecosystem":"actions","filepath":".github/workflows/trigger-replace-links.yaml","sha":null,"kind":"manifest","created_at":"2024-07-18T11:09:13.416Z","updated_at":"2024-07-18T11:09:13.416Z","repository_link":"https://github.com/ProjectPythia/eo-datascience-cookbook/blob/main/.github/workflows/trigger-replace-links.yaml","dependencies":[{"id":19178231903,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":19178231904,"package_name":"jacobtomlinson/gha-find-replace","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":19178232231,"package_name":"stefanzweifel/git-auto-commit-action","ecosystem":"actions","requirements":"v5","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"conda","filepath":"environment.yml","sha":null,"kind":"manifest","created_at":"2024-11-15T09:18:38.356Z","updated_at":"2024-11-15T09:18:38.356Z","repository_link":"https://github.com/ProjectPythia/eo-datascience-cookbook/blob/main/environment.yml","dependencies":[{"id":20740769922,"package_name":"jupyter-book","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":20740769924,"package_name":"jupyterlab","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":20740769928,"package_name":"sphinx-pythia-theme","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false}]}],"score":null,"created_at":"2026-04-13T00:31:31.060Z","updated_at":"2026-04-14T01:00:50.004Z","avatar_url":"https://github.com/ProjectPythia.png","language":"Jupyter Notebook","category":"Sustainable Development","sub_category":"Education","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"\u003cimg src=\"notebooks/images/logos/tuw-geo_eodc_logo_horizontal.png\" alt=\"tuw-geo-logo\" width=\"500\"/\u003e\n\n# Earth Observation Data Science Cookbook\n\n[![nightly-build](https://github.com/ProjectPythia/eo-datascience-cookbook/actions/workflows/nightly-build.yaml/badge.svg)](https://github.com/ProjectPythia/eo-datascience-cookbook/actions/workflows/nightly-build.yaml)\n[![Binder](https://binder.projectpythia.org/badge_logo.svg)](https://binder.projectpythia.org/v2/gh/ProjectPythia/eo-datascience-cookbook/main?labpath=notebooks)\n[![DOI](https://zenodo.org/badge/830421828.svg)](https://zenodo.org/badge/latestdoi/830421828)\n\nThis Project Pythia Cookbook covers a range of Earth observation examples employing\nthe Pangeo philosophy. The examples represent the main research lines and BSc/MSc\ncourses at the Department of Geodesy and Geoinformation at the TU Wien (Austria).\nThe department has strong ties with the EODC (Earth Observation Data Centre For\nWater Resources Monitoring), which hosts e.g., analysis-ready Sentinel-1\n(imaging radar mission) data, and has the computational resources to process\nlarge data volumes.\n\n## Motivation\n\nThe motivation behind this book is to provide examples of Pangeo-based workflows\napplied to realistic examples in Earth observation data science. Creating an\neffective learning environment for Earth observation students is a challenging\ntask due to the rapidly growing volume of remotely sensed, climate, and other\nEarth observation data, along with the evolving demands from the tech industry.\nToday's Earth observation students are increasingly becoming a blend of traditional\nEarth system scientists and \"big data scientists\", with expertise spanning computer\narchitectures, programming paradigms, statistics, and machine learning for\npredictive modeling. As a result, it is essential to equip educators with the\nproper tools for instruction, including training materials, access to data, and\nthe necessary skills to support scalable and reproducible research.\n\n## Authors\n\n[Wolfgang Wagner](https://github.com/wagner-wolfgang), [Martin Schobben](https://github.com/martinschobben),\n[Nikolas Pikall](https://github.com/npikall), [Joseph Wagner](https://github.com/wagnerjoseph), [Davide Festa](https://github.com/maybedave),\n[Felix David Reuß](https://github.com/FelixReuss), [Luka Jovic](https://github.com/lukojovic)\n\n### Contributors\n\n\u003ca href=\"https://github.com/ProjectPythia/eo-datascience-cookbook/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=ProjectPythia/eo-datascience-cookbook\" /\u003e\n\u003c/a\u003e\n\n## Structure\n\nThis book comprises examples of data science concerning Earth Observation (EO) data,\nincluding course material on remote sensing and data products produced by the TU\nWien. It also serves to showcase the data and services offered by the EODC, including\na [STAC](https://docs.eodc.eu/services/stac.html) catalogue and a\n[Dask Gateway](https://docs.eodc.eu/services/dask.html) for distributed data processing.\n\n### Courses\n\nThis section offers an overview of notebooks, which are used in **courses** from\nthe Department of Geodesy and Geoinformation at TU Wien.\n\n### Templates\n\nThis section provides a collection of general **examples** of earth observation\nrelated tasks and workflows, which are not directly related to a specific course\nor product.\n\n### Tutorials\n\nIn this section you will find a collection of lessons, which explain certain\n**products** or methods that have been developed at the Department of Geodesy and\nGeoinformation at TU Wien.\n\n## Running the Notebooks\n\nYou can either run the notebook using [Binder](https://binder.projectpythia.org/v2/gh/ProjectPythia/eo-datascience-cookbook/main?labpath=notebooks)\nor on your local machine.\n\n### Running on Binder\n\nThe simplest way to interact with a Jupyter Notebook is through\n[Binder](https://binder.projectpythia.org/v2/gh/ProjectPythia/eo-datascience-cookbook/main?labpath=notebooks), which enables the execution of a\n[Jupyter Book](https://jupyterbook.org) in the cloud. The details of how this works are not\nimportant for now. All you need to know is how to launch a Pythia\nCookbooks chapter via Binder. Simply navigate your mouse to\nthe top right corner of the book chapter you are viewing and click\non the rocket ship icon, (see figure below), and be sure to select\n“launch Binder”. After a moment you should be presented with a\nnotebook that you can interact with. I.e. you'll be able to execute\nand even change the example programs. You'll see that the code cells\nhave no output at first, until you execute them by pressing\n{kbd}`Shift`\\+{kbd}`Enter`. Complete details on how to interact with\na live Jupyter notebook are described in [Getting Started with\nJupyter](https://foundations.projectpythia.org/foundations/getting-started-jupyter.html).\n\n### Running on Your Own Machine\n\nIf you are interested in running this material locally on your computer, you will\nneed to follow this workflow:\n\n1. Clone the `https://github.com/ProjectPythia/eo-datascience-cookbook` repository:\n\n   ```bash\n    git clone https://github.com/TUW-GEO/eo-datascience-cookbook\n   ```\n\n1. Move into the `eo-datascience-cookbook` directory\n   ```bash\n   cd eo-datascience-cookbook\n   ```\n1. Create and activate your conda environment from the `environment.yml` file\n   ```bash\n   conda env create -f environment.yml\n   conda activate eo-datascience-cookbook\n   ```\n1. Move into the `notebooks` directory and start up Jupyterlab\n   ```bash\n   cd notebooks/\n   jupyter lab\n   ```\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://ost.ecosyste.ms/api/v1/projects/351547","html_url":"https://ost.ecosyste.ms/projects/351547"}