{"id":22282125,"url":"https://github.com/genericmappingtools/2021-eswn-pygmt-workshop","last_synced_at":"2025-07-28T20:31:56.517Z","repository":{"id":47650559,"uuid":"392819177","full_name":"GenericMappingTools/2021-eswn-pygmt-workshop","owner":"GenericMappingTools","description":"A workshop on open source development","archived":false,"fork":false,"pushed_at":"2022-07-04T15:31:25.000Z","size":1761,"stargazers_count":4,"open_issues_count":0,"forks_count":3,"subscribers_count":9,"default_branch":"main","last_synced_at":"2023-10-20T19:58:22.962Z","etag":null,"topics":["open-source","workshop-materials"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","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/GenericMappingTools.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}},"created_at":"2021-08-04T20:38:20.000Z","updated_at":"2022-07-17T14:13:17.000Z","dependencies_parsed_at":"2022-09-23T15:19:47.779Z","dependency_job_id":null,"html_url":"https://github.com/GenericMappingTools/2021-eswn-pygmt-workshop","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GenericMappingTools%2F2021-eswn-pygmt-workshop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GenericMappingTools%2F2021-eswn-pygmt-workshop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GenericMappingTools%2F2021-eswn-pygmt-workshop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GenericMappingTools%2F2021-eswn-pygmt-workshop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GenericMappingTools","download_url":"https://codeload.github.com/GenericMappingTools/2021-eswn-pygmt-workshop/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227954809,"owners_count":17846774,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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"}},"keywords":["open-source","workshop-materials"],"created_at":"2024-12-03T16:25:41.465Z","updated_at":"2024-12-03T16:25:42.334Z","avatar_url":"https://github.com/GenericMappingTools.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 2021 ESWN Professional Development Workshop: Developing Free and Open Source Software with PyGMT\n\nMaterial for the 2021 ESWN Professional Development Workshop:\nDeveloping Free and Open Source Software with PyGMT\n\nThere will be a PyGMT and Git refresher during a webinar\n[preceding the workshop](#august-17-2021-optional). You can run the PyGMT\ntutorial in a live session using: [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/GenericMappingTools/2021-eswn-pygmt-workshop/HEAD?filepath=refresher%2Fpygmt_tutorial.ipynb) or live code following the tutorial template using: [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/GenericMappingTools/2021-eswn-pygmt-workshop/HEAD?filepath=refresher%2Fpygmt_template.ipynb)\n\nThis workshop will include lessons about developing open source software and\ncollaborative activities. During the activities, participants will contribute\nto open source software and work on issues in the\n[PyGMT repository](https://github.com/GenericMappingTools/pygmt).\n\n**GMT/PyGMT Leaders**:\n- [Max Jones](https://github.com/maxrjones)\n- [Paul Wessel](https://github.com/PaulWessel)\n- [Wei Ji Leong](https://github.com/weiji14)\n\n**ESWN Leader**:\n- [Christine Wiedinmyer](https://eswnonline.org/welcome/leadership/)\n\n**When**:\n\n- Date: August 17 (optional), August 18 - 19, 2021\n- Time: 20:00 - 24:00 UTC; [Event Time Zone Converter](https://www.timeanddate.com/worldclock/fixedtime.html?msg=ESWN%2FPyGMT+Workshop\u0026iso=20210818T20\u0026p1=%3A\u0026ah=4)\n\n**Where**:\n\nOnline via Zoom/Slack\n\n## Preparation\n\n1. Create [GitHub](https://github.com/) account\n2. Join Slack workspace (invitation via email)\n3. Install text editor (e.g., Visual Studio Code, Sublime Text, Atom)\n4. Gain some familiarity with Git/PyGMT\n   - Attend optional refresher (August 17)\n   - Review [Software Carpentry material](https://swcarpentry.github.io/git-novice/)\n   - Review [2020 Remote Online Sessions for Emerging Seismologists- Unit 8 PyGMT](https://www.youtube.com/watch?v=SSIGJEe0BIk)\n5. Setup local PyGMT development environment\n   - Follow [setup instructions](/setup.md)\n   - Attend help session (optional, August 17)\n   - Ask questions on Slack workspace\n6. Join the GMT community (optional)\n   - Register for an account on the [GMT Forum](https://forum.generic-mapping-tools.org/)\n\n## Schedule\n\nPlease make sure you know the local time for the workshop sessions! Use the\n[Event Time Zone Converter](https://www.timeanddate.com/worldclock/fixedtime.html?msg=ESWN%2FPyGMT+Workshop\u0026iso=20210818T20\u0026p1=%3A\u0026ah=4)\nand compare UTC to your time zone.\n\nParticipants will receive zoom invitations via email.\n\n### August 17, 2021 (optional):\n\n| **Theme** | **Duration** | **UTC Time** |\n|-----------|--------------|--------------|\n| [PyGMT refresher](refresher/pygmt_tutorial.ipynb) | 1 hr | 20:00-21:00 |\n| Break | 15 min | 21:00 - 21:15 |\n| [Git refresher](refresher/git_tutorial.md) | 1 hr | 21:15 - 22:15 |\n| Break | 15 min | 22:15 - 22:30 |\n| Environment setup | 1.5 hr | 22:30 - 24:00 |\n\n\n### August 18, 2021:\n\n| **Theme** | **Duration** | **UTC Time** |\n|-----------|--------------|--------------|\n| Welcome | 20 min | 20:00 - 20:20 |\n| [Introduction to free, open source software](introduction.md) | 30 min | 20:20 - 20:50 |\n| Break | 10 min | 20:50 - 21:00 |\n| [First issues - making a pull request (GitHub workflow)](activities/github-doc-workflow.md) | 50 min | 21:00 - 21:50 |\n| Break | 10 min | 21:50 - 22:00 |\n| Earth Science Women's Network Welcome | 10 min | 22:00 - 22:10 |\n| [First issues - making a pull request (local workflow)](activities/local-workflow.md) | 40 min | 22:10 - 22:50 |\n| Break | 10 min | 22:50 - 23:00 |\n| First issues - reviewing pull requests | 45 min | 23:00 - 23:45 |\n| Wrap-up | 15 min | 23:45 - 24:00 |\n\n### August 19, 2021:\n\n| **Theme** | **Duration** | **UTC Time** |\n|-----------|--------------|--------------|\n| [Writing unit tests](activities/writing-unit-tests.md) | 20 min | 20:00 - 20:20 |\n| Second issue - break-out group discussion | 15 min | 20:20 - 20:35 |\n| Second issue - group reports | 15 min | 20:35 - 20:50 |\n| Break | 10 min | 20:50 - 21:00 |\n| Second issue - local development to work through issues/pull requests | 50 min | 21:00 - 21:50 |\n| Break | 10 min | 21:50 - 22:00 |\n| Second issue - incorporating suggestions from reviewers | 50 min | 22:00 - 22:50 |\n| Break | 10 min | 22:50 - 23:00 |\n| Second issue - continue working on contributions | 30 min | 23:00 - 23:30 |\n| Maintaining software | 10 min | 23:30 - 23:40 |\n| Resources for further learning | 5 min | 23:40 - 23:45 |\n| Wrap-up | 15 min | 23:45 - 24:00 |\n\n\n## Communication During the Course\n\nWe will use the Slack workspace, the Zoom Chat window, and GitHub issues/pull\nrequests to help you during the course:\n\n1. During a *presentation*, the other instructors will monitor the Slack\n   workspace as well as the Chat room and answer any questions.\n2. During an *activity*, we will collaborate on Zoom and monitor the Slack\n   workspace for questions. Feedback about contributions will happen through\n   GitHub issues/pull requests.\n\n## Code of Conduct\n\nAll involved individuals must follow the\n[PyGMT Code of Conduct](https://github.com/GenericMappingTools/pygmt/blob/main/CODE_OF_CONDUCT.md).\nAct and interact in ways that contribute to an open, welcoming, diverse,\ninclusive, and healthy community. Any questions/concerns can be raised\nin private through direct messages on Slack to any of the workshop leaders.\n\n## License\n\n\u003ca rel=\"license\" href=\"http://creativecommons.org/licenses/by/4.0/\"\u003e\u003cimg alt=\"Creative Commons License\" style=\"border-width:0\" src=\"https://i.creativecommons.org/l/by/4.0/88x31.png\" /\u003e\u003c/a\u003e\u003cbr /\u003eThis content is licensed under a\n\u003ca rel=\"license\" href=\"http://creativecommons.org/licenses/by/4.0/\"\u003eCreative Commons Attribution 4.0 International License\u003c/a\u003e.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgenericmappingtools%2F2021-eswn-pygmt-workshop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgenericmappingtools%2F2021-eswn-pygmt-workshop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgenericmappingtools%2F2021-eswn-pygmt-workshop/lists"}