Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/genericmappingtools/2021-eswn-pygmt-workshop

A workshop on open source development
https://github.com/genericmappingtools/2021-eswn-pygmt-workshop

open-source workshop-materials

Last synced: about 1 month ago
JSON representation

A workshop on open source development

Awesome Lists containing this project

README

        

# 2021 ESWN Professional Development Workshop: Developing Free and Open Source Software with PyGMT

Material for the 2021 ESWN Professional Development Workshop:
Developing Free and Open Source Software with PyGMT

There will be a PyGMT and Git refresher during a webinar
[preceding the workshop](#august-17-2021-optional). You can run the PyGMT
tutorial 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)

This workshop will include lessons about developing open source software and
collaborative activities. During the activities, participants will contribute
to open source software and work on issues in the
[PyGMT repository](https://github.com/GenericMappingTools/pygmt).

**GMT/PyGMT Leaders**:
- [Max Jones](https://github.com/maxrjones)
- [Paul Wessel](https://github.com/PaulWessel)
- [Wei Ji Leong](https://github.com/weiji14)

**ESWN Leader**:
- [Christine Wiedinmyer](https://eswnonline.org/welcome/leadership/)

**When**:

- Date: August 17 (optional), August 18 - 19, 2021
- Time: 20:00 - 24:00 UTC; [Event Time Zone Converter](https://www.timeanddate.com/worldclock/fixedtime.html?msg=ESWN%2FPyGMT+Workshop&iso=20210818T20&p1=%3A&ah=4)

**Where**:

Online via Zoom/Slack

## Preparation

1. Create [GitHub](https://github.com/) account
2. Join Slack workspace (invitation via email)
3. Install text editor (e.g., Visual Studio Code, Sublime Text, Atom)
4. Gain some familiarity with Git/PyGMT
- Attend optional refresher (August 17)
- Review [Software Carpentry material](https://swcarpentry.github.io/git-novice/)
- Review [2020 Remote Online Sessions for Emerging Seismologists- Unit 8 PyGMT](https://www.youtube.com/watch?v=SSIGJEe0BIk)
5. Setup local PyGMT development environment
- Follow [setup instructions](/setup.md)
- Attend help session (optional, August 17)
- Ask questions on Slack workspace
6. Join the GMT community (optional)
- Register for an account on the [GMT Forum](https://forum.generic-mapping-tools.org/)

## Schedule

Please make sure you know the local time for the workshop sessions! Use the
[Event Time Zone Converter](https://www.timeanddate.com/worldclock/fixedtime.html?msg=ESWN%2FPyGMT+Workshop&iso=20210818T20&p1=%3A&ah=4)
and compare UTC to your time zone.

Participants will receive zoom invitations via email.

### August 17, 2021 (optional):

| **Theme** | **Duration** | **UTC Time** |
|-----------|--------------|--------------|
| [PyGMT refresher](refresher/pygmt_tutorial.ipynb) | 1 hr | 20:00-21:00 |
| Break | 15 min | 21:00 - 21:15 |
| [Git refresher](refresher/git_tutorial.md) | 1 hr | 21:15 - 22:15 |
| Break | 15 min | 22:15 - 22:30 |
| Environment setup | 1.5 hr | 22:30 - 24:00 |

### August 18, 2021:

| **Theme** | **Duration** | **UTC Time** |
|-----------|--------------|--------------|
| Welcome | 20 min | 20:00 - 20:20 |
| [Introduction to free, open source software](introduction.md) | 30 min | 20:20 - 20:50 |
| Break | 10 min | 20:50 - 21:00 |
| [First issues - making a pull request (GitHub workflow)](activities/github-doc-workflow.md) | 50 min | 21:00 - 21:50 |
| Break | 10 min | 21:50 - 22:00 |
| Earth Science Women's Network Welcome | 10 min | 22:00 - 22:10 |
| [First issues - making a pull request (local workflow)](activities/local-workflow.md) | 40 min | 22:10 - 22:50 |
| Break | 10 min | 22:50 - 23:00 |
| First issues - reviewing pull requests | 45 min | 23:00 - 23:45 |
| Wrap-up | 15 min | 23:45 - 24:00 |

### August 19, 2021:

| **Theme** | **Duration** | **UTC Time** |
|-----------|--------------|--------------|
| [Writing unit tests](activities/writing-unit-tests.md) | 20 min | 20:00 - 20:20 |
| Second issue - break-out group discussion | 15 min | 20:20 - 20:35 |
| Second issue - group reports | 15 min | 20:35 - 20:50 |
| Break | 10 min | 20:50 - 21:00 |
| Second issue - local development to work through issues/pull requests | 50 min | 21:00 - 21:50 |
| Break | 10 min | 21:50 - 22:00 |
| Second issue - incorporating suggestions from reviewers | 50 min | 22:00 - 22:50 |
| Break | 10 min | 22:50 - 23:00 |
| Second issue - continue working on contributions | 30 min | 23:00 - 23:30 |
| Maintaining software | 10 min | 23:30 - 23:40 |
| Resources for further learning | 5 min | 23:40 - 23:45 |
| Wrap-up | 15 min | 23:45 - 24:00 |

## Communication During the Course

We will use the Slack workspace, the Zoom Chat window, and GitHub issues/pull
requests to help you during the course:

1. During a *presentation*, the other instructors will monitor the Slack
workspace as well as the Chat room and answer any questions.
2. During an *activity*, we will collaborate on Zoom and monitor the Slack
workspace for questions. Feedback about contributions will happen through
GitHub issues/pull requests.

## Code of Conduct

All involved individuals must follow the
[PyGMT Code of Conduct](https://github.com/GenericMappingTools/pygmt/blob/main/CODE_OF_CONDUCT.md).
Act and interact in ways that contribute to an open, welcoming, diverse,
inclusive, and healthy community. Any questions/concerns can be raised
in private through direct messages on Slack to any of the workshop leaders.

## License

Creative Commons License
This content is licensed under a
Creative Commons Attribution 4.0 International License.