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