Mentored Sprint for Diverse Beginners at PyCon US 2019

A newcomer’s introduction to contributing to an open source project.

TL;DR

We are running mentored sprints for diverse community members ✨

  • When: 4th of May 2019 during the main PyCon session fom 2:30pm to 6:30pm but you can participate for 2 or 4 hours.
  • Apply to be a mentor on the day or feature your open source project: https://goo.gl/forms/YCZP5auVi5ZFtMjg1
  • Apply to participate as a contributor (sprint on the day): https://goo.gl/forms/d3Blf8wgxWVoSIgO2
  • Volunteer for our Git Helpdesk (4 volunteers needed): Help new contributors with git/GitHub, such as cloning repo, creating branch, committing, resolving merge conflict. sign up form

If you are not a member of an underrepresented group of the community and want to take on the sprint, we encourage you to bring someone from an underrepresented group with you.

Projects list

The following projects/mentors have signed up for the mentored sprint at PyCon US 2019.

Thank you to open source maintainers and mentors who have signed up and participating in this mentored sprint!

CPython

Bowler/ AsyncIO libraries

TensorFlow

DIB Lab - UC Davis

Project Jupyter - JupyterHub and Binder

Trio

The Python Package Index

pip - The Python Package Installer

CircuitPython

GNU Mailman

Sphinxserve

SecureDrop

Resources for Contributors

Pre-requisites

Python

For the mentored sprints we will be using Python. Installing all of Python’s research packages individually can be a bit difficult, so we recommend using Anaconda which provides a variety of useful packages/tools.

To download Anaconda, follow the link https://www.anaconda.com/download/ and select Python 3. Following the download, run the installer as per usual on your machine.

Git

Git is a version control software that records changes to a file or set of files. Git is especially helpful for software developers as it allows changes to be tracked (including who and when) when working on a project.

To download Git, go to the following link and choose the correct version for your operating system: https://git-scm.com/downloads.

GitHub

GitHub is a web-based service for version control using Git. You will need to set up an account at https://github.com. Basic GitHub accounts are free.

Text Editors

Text editors are tools with powerful features designed to optimize writing code. There are several text editors that you can choose from. Here are some we recommend:

We suggest trying several editors before settling on one.

Your local environment

Bring your own laptop. Setting up your local environment can be time consuming, and the step can vary from one project to another. We recommend that you check out the contributing guidelines of the project that you’re interested in, and pre-install the requirements before coming to the sprint. If you’re stuck in any way, let us know so we can help. We have also requested each of the projects that signed up to have their contributing guidelines up to date by April 26th.

Resources for Mentors

Thank you for signing up to mentor at mentored sprint for diverse beginners at PyCon US. We’re pleased to welcome you to the sprint.

The mentored sprint will take place on Saturday, May 4th 2:30 PM - 6:30 PM. Room 25C

Some useful information:

  • The mentored sprint is organized as part of PyCon US. You will need to be registered for PyCon in order to attend the mentored sprint. If you have not registered, please do so as soon as possible, because PyCon is a sell out year after year.
  • We’re excited that numerous projects and mentors have signed up for the sprint! Each project will have the opportunity to pitch for their own project to the group. Please be prepared with a 3 minute pitch. Feel free to bring a slide (or two) with more details about you and the projects you are mentoring for if you feel like it. Please send us the link to your Google Slides one day in advance.
  • We understand that setting up local environment can be time consuming, and the steps can vary from one project to another. To help the event more successful, we recommend that you include detailed setup instruction in your project’s contributing guideline by April 25th. This will give the attendees enough time to get set up before PyCon.
  • We also recommend that you prepare at least 5 beginner-friendly issues to be worked on during the sprint. Here are some ideas to get you started:
    • Identify issues that require low-effort involvement (i.e. it will take no more than a couple of hours to complete).
    • Get creative: select both coding and non-coding issues to work on the day (i.e. design a logo, add sections to the docs, help create a schematic) this will make your project more accessible and inclusive for the sprinters.
    • Label the issues accordingly on your issue tracker (i.e. beginner-friendly, good-first issue, whatever style you follow).

By attending the mentored sprint at PyCon, you are also accepting to uphold PyCon and the PSF’s code of conduct. Please take a moment to read it through at https://us.pycon.org/2019/about/code-of-conduct/

Thank you again for your time to mentor! We are grateful for your work in open source and Python. See you soon in Cleveland! Please do not hesitate to reach us if you have additional questions or would like an extra bit of help preparing your project for the sprint.

Tania, Nina, Nikoleta & Mariatta

Agenda for the day

Welcome to the mentored sprints, this is the agenda for the day:

  • 2:35 pm Start 👋🏼
  • 2:40-2:45 pm Welcome to the event and housekeeping rules
  • 2:45 - 3:00 pm Introduction to git - Nina Zakharenko
  • 3:00 - 3:30 pm Mentors and project presentations
  • 3:30 - 4:00 pm Assemble working teams and start sprints
  • 4:00 - 4:15 pm Break
  • 4:15 - 6:15 pm Hands on sprinting
  • 6:15 - 6:30 pm Report back and celebrate the achievements of the day 🎉

Housekeeping rules

  • Observe the code of conduct
  • Once you have assembled your working teams use the provided markers and coloured paper pages to indicate the project you are working on
  • You can work in more than one project during the day if you would like to
  • Collaborative working and discussions with your peers are highly encouraged

Good to know

  • We have decicated Git mentors that will be circulating aroung the room, if you need help please reach out to them
  • Please help us filling this form http://bit.ly/2UVpijf

About the sprints

Open source projects such as Python and its multiple stacks(web, scientific, etc.) are nothing but a collaborative effort from many community members. It is the constant involvement of the numerous maintainers, contributors, and users that make open source software sustainable and keeps the community as a whole going.

Walking the path from user to collaborator, and thus contributing to an open source project, can sometimes be intimidating especially for newcomers. From a technical perspective, interacting with web-based hosting services (such as GitHub, GitLab, etc.), branching and opening pull requests can be overwhelming if these are not everyday actions of your workflow. The correctness of the code and potential bugs are other common obstacles and fears any newcomer might face. Not to mention the time and frustration accumulated over the task of finding a ‘beginner-friendly’ issue to work on.

We also recognize that some groups are traditionally underrepresented in the open source community and we would like to support them in their open source path. For these reasons, we are running the first ever PyCon mentored sprints for individuals from underrepresented groups willing to start contributing to Python projects. This event will provide a supportive, friendly, and safe environment for all the attendees and partner open source projects.

To achieve this goal, we are seeking to work with a number of Python projects and their maintainers interested in providing mentorship to these individuals. In return, we will provide guidance and advise on how to prepare the projects for the day and to better serve a diverse range of contributors.

Why do we need a mentored sprint when we already run sprints within PyCon?

The PyCon sprints certainly offer a great opportunity to get contributors and developers together and to squash a number of bugs in a relatively short period of time. However, with this happening at the end of the event many people, particularly less experienced developers, are not able to stay around for this additional time, or cannot easily justify attending an event for an extra day or two. In addition, a good amount of the people that attend the sprints are often comfortable doing so and in many cases have made multiple contributions to open source before or are, in fact, developers or maintainers of open source projects.

This mentored sprint focuses on providing less experienced developers a supportive environment in which they can learn, collaborate, expand their network, and celebrate their victories at the end of it.

Furthermore, it serves as a great opportunity for a number of open source projects to get some practical advise around inclusion and how to serve a global and diverse pool of contributors. And perhaps establish longer-term mentor-mentee or contributor relationships.

What projects will you be sprinting on?

PyCon US is the biggest Python conference organized every year, thousands of developers, teachers, maintainers, and aficionados attend the event every year. As such it provides a unique opportunity to bring together creators, maintainers, and users for a few days.

By running similar events in smaller conferences we have learned that the attendees (and projects) get much more out of it by having maintainers, organizers, and attendees working together. This way the maintainers of a certain package can provide directed, effective and in-person mentoring to a group of individuals, and the attendees feel more confident and usually leave with a higher sense of accomplishment.

Say hello

If you would like to contact the organizers for any business related to the mentored sprints, please send us an email to nwuk@pyladies.com.

About the organisers

  • Tania Allard is the founder and organiser of PyLadies NorthWest UK and contributor to and maintainer of a number of open source projects.
  • Mariatta is a Software Engineer at Zapier. She is active in the open source community as a Python core developer and has contributed to various other projects. She helps organize PyLadies Vancouver meetup and PyCascades conference.
  • Nina Zakharenko. Nina is a Senior Cloud Developer Advocate at Microsoft, focusing on Python. Before joining Microsoft, she was a Senior Software Engineer with over a decade of experience writing software for companies like Reddit, Meetup, and HBO. In her spare time, she enjoys snowboarding, hiking, and tinkering with wearable electronics from her home base in Portland, OR.
  • Nikoleta Glynatsi is a PhD student at the University of Cardiff. She is a member of PyData Cardiff, maintainer, and main developer or Arcas and the Axelrod Python library, respectively, coach for Django Girls and frequent volunteer for a number of PyCon events.

Code of Conduct

By attending the mentored sprint at PyCon 2019, you are also accepting to uphold PyCon and the PSF’s code of conduct. Please take a moment to read it through at https://us.pycon.org/2019/about/code-of-conduct/

Contribute

We welcome your contribution to this documentation. Propose a PR on our GitHub repo.

Quick guide:
  • Fork our repo on GitHub.
  • Make your changes to your fork.
  • When you’re happy with them, submit a pull request back to our repo.

Have ideas but no time today? Or do you need ideas on what to do? Check out our issues page. Any change no matter how large or small is welcome!

Acknowledgement

This document uses the PyCascades Welcome Wagon as the base document, and modified for our purpose.