Sprint Preparation
Application Requirements
1. Must know Python
2. Must have some knowledge and experience using NumPy, the fundamental package for scientific computing in Python.
3. Must have some familiarity with Git
4. Must attend the pre-sprint meetup to ensure correct setup ahead of the sprint.
Preparation Work (* required *)
1. Read the Overview on how you can contribute to NumPy: https://numpy.org/contribute/
2. Read the guide to contributing to NumPy documentation: https://numpy.org/devdocs/dev/howto-docs.html
3. Read the NumPy development workflow: https://numpy.org/devdocs/dev/development_workflow.html
4. Review numpy open issues
5. Must have a GitHub account
6. Discord
Discord is a voice, text and video communication platform that allows us to set both text and voice channels
We have created a private server that we will invite you to join for the sprint to help mentors support participants and enable us to pair program.
5. Review Git (Git Resources)
6. A Text Editor should be installed:
Visual Studio Code (VSC)
Sublime Text
Atom
OR other preferred editor
7. Python installed via Anaconda. (Anaconda includes Jupyter Notebook)
8. Environment Setup: conda virtual environments - you are required to join the pre-sprint meetup to ensure you complete this setup ahead of the sprint.
Preparation Work (Recommended)
Matti Picus: Getting Involved with NumPy
Melissa Weber: Sphinx for Python Documentation
Sprint Day
Mentor Presentations
NumPy team members (Ralf Gommers and Matti Picus) will speak at the start of the event, each covering a different topic. They will introduce particpants to NumPy and walk through the workflow for the sprint. This will be via zoom.
Pair Programming
The plan is to work in pairs. The goal is that each participant will be able to resolve one issue and submit a PR. Given the virtual nature of the event, we will use "Breakout rooms" and voice/text channels on Discord where sprint participants can get together as well as for support from mentors.
Good pair programming depends on both people being pretty decent (and patient) communicators, which can take time to develop, and is especially hard when people are in a hurry.
Tips:
the pair (both people) should be talking to one another basically constantly
to commit to only one person typing (don't switch very often)
for pairs where the two people have different experience levels, the less experienced person should be typing.
More tips: Pair Programming Guide