{"id":308096,"name":"MIT-PraCTES","description":"Materials for MIT workshop \"Practical Computing Tutorials for Earth Scientists\".","url":"https://github.com/practes/mit-practes","last_synced_at":"2026-04-20T17:02:17.853Z","repository":{"id":97292152,"uuid":"229285699","full_name":"PraCTES/MIT-PraCTES","owner":"PraCTES","description":"Materials for MIT workshop \"Practical Computing Tutorials for Earth Scientists\"","archived":false,"fork":false,"pushed_at":"2020-04-24T20:39:19.000Z","size":48955,"stargazers_count":39,"open_issues_count":7,"forks_count":7,"subscribers_count":8,"default_branch":"master","last_synced_at":"2026-04-14T14:04:20.745Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PraCTES.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-12-20T15:06:18.000Z","updated_at":"2025-10-20T20:48:39.000Z","dependencies_parsed_at":"2023-06-26T10:00:10.044Z","dependency_job_id":null,"html_url":"https://github.com/PraCTES/MIT-PraCTES","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/PraCTES/MIT-PraCTES","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PraCTES%2FMIT-PraCTES","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PraCTES%2FMIT-PraCTES/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PraCTES%2FMIT-PraCTES/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PraCTES%2FMIT-PraCTES/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PraCTES","download_url":"https://codeload.github.com/PraCTES/MIT-PraCTES/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PraCTES%2FMIT-PraCTES/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31891038,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-16T11:36:10.202Z","status":"ssl_error","status_checked_at":"2026-04-16T11:36:09.652Z","response_time":69,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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":"PraCTES","name":"PraCTES","uuid":"59091906","kind":"organization","description":"","email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/59091906?v=4","repositories_count":1,"last_synced_at":"2023-03-02T12:47:13.344Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/PraCTES","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2023-03-02T12:47:13.353Z","updated_at":"2023-03-02T12:47:13.353Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PraCTES","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PraCTES/repositories"},"packages":[],"commits":{"id":8350680,"full_name":"practes/mit-practes","default_branch":"master","total_commits":109,"total_committers":5,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":21.8,"dds":0.37614678899082565,"past_year_total_commits":0,"past_year_total_committers":0,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":0.0,"past_year_dds":0.0,"last_synced_at":"2026-04-18T11:41:53.468Z","last_synced_commit":"d5642aeaa554e40a9bac51618cf4d7fa1b9c3e2b","created_at":"2025-01-20T12:59:29.994Z","updated_at":"2026-04-18T11:41:48.598Z","committers":[{"name":"Henri Drake","email":"henrifdrake@gmail.com","login":"hdrake","count":68},{"name":"gaelforget","email":"gforget@mit.edu","login":"gaelforget","count":33},{"name":"Mara Freilich","email":"mara.freilich@gmail..com","login":null,"count":5},{"name":"Mukund Gupta","email":"gupta","login":null,"count":2},{"name":"Fiona Clerc","email":"fionaclerc","login":"fionaclerc","count":1}],"past_year_committers":[],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/practes%2Fmit-practes/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-18T00:00:07.883Z","repositories_count":6214360,"commits_count":900078926,"contributors_count":34919813,"owners_count":1144082,"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":"PraCTES/MIT-PraCTES","html_url":"https://github.com/PraCTES/MIT-PraCTES","last_synced_at":"2026-03-19T02:00:39.158Z","status":"error","issues_count":10,"pull_requests_count":12,"avg_time_to_close_issue":858568.0,"avg_time_to_close_pull_request":63291.916666666664,"issues_closed_count":3,"pull_requests_closed_count":12,"pull_request_authors_count":3,"issue_authors_count":2,"avg_comments_per_issue":2.2,"avg_comments_per_pull_request":1.0833333333333333,"merged_pull_requests_count":9,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":1,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":2235895.0,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":4.0,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"created_at":"2024-07-02T15:54:09.457Z","updated_at":"2026-03-19T02:00:39.158Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/PraCTES%2FMIT-PraCTES","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/PraCTES%2FMIT-PraCTES/issues","issue_labels_count":{"enhancement":2,"good first issue":1,"documentation":1,"question":1,"bug":1},"pull_request_labels_count":{},"issue_author_associations_count":{"MEMBER":10},"pull_request_author_associations_count":{"MEMBER":9,"COLLABORATOR":3},"issue_authors":{"hdrake":7,"gaelforget":3},"pull_request_authors":{"gaelforget":5,"hdrake":4,"mukund-gupta":3},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-08T00:00:09.900Z","repositories_count":14144339,"issues_count":34544907,"pull_requests_count":112858668,"authors_count":11229773,"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":{},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{},"past_year_pull_request_author_associations_count":{},"past_year_issue_authors":{},"past_year_pull_request_authors":{},"maintainers":[{"login":"hdrake","count":11,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/hdrake"},{"login":"gaelforget","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gaelforget"},{"login":"mukund-gupta","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/mukund-gupta"}],"active_maintainers":[]},"events":{"total":{"IssuesEvent":2,"WatchEvent":1,"IssueCommentEvent":3},"last_year":{"WatchEvent":1}},"keywords":[],"dependencies":[{"ecosystem":"conda","filepath":"binder/environment.yml","sha":null,"kind":"manifest","created_at":"2023-06-26T10:00:09.926Z","updated_at":"2023-06-26T10:00:09.926Z","repository_link":"https://github.com/PraCTES/MIT-PraCTES/blob/master/binder/environment.yml","dependencies":[{"id":10945968151,"package_name":"cartopy","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":10945968152,"package_name":"dask","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":10945968153,"package_name":"jupyterlab","ecosystem":"conda","requirements":"\u003e=1.0","direct":true,"kind":"runtime","optional":false},{"id":10945968154,"package_name":"matplotlib","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":10945968155,"package_name":"netcdf4","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":10945968156,"package_name":"nodejs","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":10945968157,"package_name":"numpy","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":10945968158,"package_name":"pandas","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":10945968159,"package_name":"python","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false},{"id":10945968160,"package_name":"xarray","ecosystem":"conda","requirements":"","direct":true,"kind":"runtime","optional":false}]}],"score":5.438079308923196,"created_at":"2025-01-20T12:59:22.775Z","updated_at":"2026-04-20T17:02:17.868Z","avatar_url":"https://github.com/PraCTES.png","language":null,"category":"Sustainable Development","sub_category":"Education","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"## MIT Practial Computing Tutorials for Earth Scientists (PraCTES)\n\nThis github site is the home page for the PraCTES workshop organized at MIT proper, the inaugural member of the broader [PraCTES organization](github.com/PraCTES) which we hope will eventually expand to other groups, department, or institutions.\n\n\u003chr\u003e\n\n#### About MIT PraCTES\nThe PraCTES workshop is a series of demos and hands-on tutorials for practical computing *by earth scientists* and *for earth scientists*. The goal of the workshop is to introduce practical computational tools and concepts so that earth scientists can spend more doing science and less time debugging data analysis code, processing large data sets, deciphering model source code, and other frustrating and time-consuming tasks of modern earth science research. We aim to make the workshop accessible and useful to scientists with all levels of programming proficiency and will cover topics ranging from introductory concepts in programming to state-of-the-art software tools for wrangling big data on the Cloud.\n\nEach two-hour session will be highly interactive: instructors will swap between presenting background information on topics (e.g. What is an Earth System Model? How does github work behind the scenes?), demonstrating computing concepts with live demos and leading hands-on code tutorials and exercises, which attendees can follow along with in real-time on their personal laptops. Attendees should feel free to opt-in and opt-out at whichever point in the curriculum they feel is appropriate. Whenever possible, our demos and hands-on tutorials will be agnostic of programming language and earth science subfield, recognizing the many ways in which people engage with computation in earth science. To get the most out of the workshop, **bring a laptop** and follow along!\n\n\n#### How to access the code tutorials\nClick [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/PraCTES/MIT-PraCTES/master?urlpath=lab) to launch the default code tutorial environment in your browser (no downloads required) for both the Python and Julia programming languages, as well as various terminal-based tutorials and exercises! Some of the session demos reference external repositories or Google Cloud instances; see their respective README files for more information.\n\nTo run the Matlab scripts, you will need to install Matlab (version \u003e 2019b).\n\nInformation on how to run the Python and Julia notebooks on your personal machine (and how to set up your own Python / Julia environments for a scientific project) can be found in the [Lecture01 README](https://github.com/PraCTES/MIT-PraCTES/blob/master/demos/Lecture01_Intro_Programming/README.md).\n\n\n### January 2020 MIT PraCTES Flyer\n\u003cimg src=\"PraCTES_flyer.png\" width=\"100%\"\u003e\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["fluid-dynamics"],"project_url":"https://ost.ecosyste.ms/api/v1/projects/308096","html_url":"https://ost.ecosyste.ms/projects/308096"}