Slide 1

Slide 1 text

@MentoredSprints mentored-sprints.dev
 Welcome to PyCon mentored sprints Pycon 2023

Slide 2

Slide 2 text

@MentoredSprints mentored-sprints.dev
 General housekeeping Projects’ intro Mentored sprints intro Intro to open source contributions 1 2 3 4 Agenda

Slide 3

Slide 3 text

@MentoredSprints mentored-sprints.dev
 Your onsite mentored sprints team Zac hatfield-dodds Cheuk ho Tania Allard

Slide 4

Slide 4 text

Housekeeping 01

Slide 5

Slide 5 text

@MentoredSprints mentored-sprints.dev
 All in local times ● 1:30 pm - Kick off ● 2:00 pm - Sprints start (roughly) ● 3:45-4:15 pm - Afternoon break ● 5:00 pm Wrap up Schedule

Slide 6

Slide 6 text

@MentoredSprints mentored-sprints.dev
 Code of conduct We want every attendee to feel welcome and have an enjoyable, fulfilling experience at PyCon, even in a virtual event. Please familiarize yourself with PyCon Code of Conduct and Attendee Procedure For Reporting Code of Conduct Incidents: https://us.pycon.org/2023/about/code-of-conduct/ Report any incidents to [email protected]

Slide 7

Slide 7 text

@MentoredSprints mentored-sprints.dev
 Be kind, respectful and open to help others

Slide 8

Slide 8 text

Mentored sprints intro 02

Slide 9

Slide 9 text

@MentoredSprints mentored-sprints.dev
 Build a community Give back to open source Empower folks and foster inclusion Our goals

Slide 10

Slide 10 text

@MentoredSprints mentored-sprints.dev
 In a nutshell The Turing Way project illustration by Scriberia. Zenodo: http://doi.org/10.5281/zenodo.3695300

Slide 11

Slide 11 text

@MentoredSprints mentored-sprints.dev
 🔖 https://mentored-sprints.netlify.app/ These slides: https://bit.ly/mentoredsprints-22 Links to keep handy

Slide 12

Slide 12 text

@MentoredSprints mentored-sprints.dev
 How do sprints work? Choose project Pair up with someone Find an issue item to work on hands-on Get contributing 🎉 Check in with your mentor and let folks know you are working on it Projects intro soon Optional*

Slide 13

Slide 13 text

@MentoredSprints mentored-sprints.dev
 ● Ask for help as needed ● Be mindful and considerate ● Struggling with an issue? They are the best to help with debugging and setup issues Notes about mentors https://mentored-sprints.netlify.app/participants/02-asking-questions/

Slide 14

Slide 14 text

@MentoredSprints mentored-sprints.dev
 General mentors General questions - Python, Git They will be around for the sprint 󰗜

Slide 15

Slide 15 text

@MentoredSprints mentored-sprints.dev
 Pair programming sprinting

Slide 16

Slide 16 text

@MentoredSprints mentored-sprints.dev
 Can I help others? Of course! Pair sprinting is encouraged.

Slide 17

Slide 17 text

@MentoredSprints mentored-sprints.dev
 Finding a sprint buddy 󰟲 Someone interested in the same project 👀 An extra pair of eyes are helpful 󰢂 Ask first-some may not be comfortable with close contact/ interactions

Slide 18

Slide 18 text

projects 03

Slide 19

Slide 19 text

@MentoredSprints mentored-sprints.dev
 Python arcade https://github.com/pythonarcade/arcade Mentor: Darren Eberly

Slide 20

Slide 20 text

@MentoredSprints mentored-sprints.dev
 Numpy https://github.com/numpy/numpy Mentor: Inessa Pawson

Slide 21

Slide 21 text

@MentoredSprints mentored-sprints.dev
 Python https://github.com/python/cpython Mentors: Lysandros Nikolaus Filipe Lains CAM Gerlach

Slide 22

Slide 22 text

@MentoredSprints mentored-sprints.dev
 SOSW https://github.com/sosw/sosw Mentor: Nikolay

Slide 23

Slide 23 text

@MentoredSprints mentored-sprints.dev
 pip & Furo https://github.com/pypa/pip https://github.com/pradyunsg/furo Mentor: Pradyun

Slide 24

Slide 24 text

@MentoredSprints mentored-sprints.dev
 Pyopensci https://github.com/pyopensci Mentors: Lea Wasser David Nichols

Slide 25

Slide 25 text

@MentoredSprints mentored-sprints.dev
 GDsfactory https://github.com/gdsfactory/gdsfactory Mentor: Skandar Chandrasekar

Slide 26

Slide 26 text

@MentoredSprints mentored-sprints.dev
 GNU mailman https://gitlab.com/groups/mailman Mentor: Mark Shapiro

Slide 27

Slide 27 text

@MentoredSprints mentored-sprints.dev
 Nebari https://github.com/nebari-dev/nebari https://github.com/nebari-dev/nebari-docs Mentor: Darhas Pothina

Slide 28

Slide 28 text

@MentoredSprints mentored-sprints.dev
 hypothesis https://github.com/HypothesisWorks/hypoth esis Mentor: Zac Hatfield-Dodds

Slide 29

Slide 29 text

@MentoredSprints mentored-sprints.dev
 General mentors say hi 󰗜

Slide 30

Slide 30 text

Quick intro to contributions 04

Slide 31

Slide 31 text

@MentoredSprints mentored-sprints.dev
 Git vs github

Slide 32

Slide 32 text

@MentoredSprints mentored-sprints.dev
 Git vs gitlab

Slide 33

Slide 33 text

@MentoredSprints mentored-sprints.dev
 What makes a folder a “git repository”? 📁 ● Only one thing – the existence of a hidden .git directory. ● Once this is present you can use the git status command

Slide 34

Slide 34 text

@MentoredSprints mentored-sprints.dev
 Forks 🍴 ● Since you want to contribute back to the project we have to make a fork ● A fork is your own copy of the source code that we will work on Repo_A - some GitHub account Repo_A_fork - your GitHub account https://bit.ly/mentoredsprints-23

Slide 35

Slide 35 text

@MentoredSprints mentored-sprints.dev
 Forks 🍴 Repo_A - some GitHub account Repo_A_fork - your GitHub account

Slide 36

Slide 36 text

@MentoredSprints mentored-sprints.dev
 cloning 󰰁 ● After making a fork you need to clone it locally Repo_A - some GitHub account Repo_A_fork - your GitHub account Your personal Computer (a.k.a local) Example: $ git clone https://github.com/scipy/scipy .git

Slide 37

Slide 37 text

@MentoredSprints mentored-sprints.dev
 working 󰟲 ● You work on your fork Repo_A - some GitHub account Repo_A_fork - your GitHub account Your personal Computer (a.k.a local) Push to your Fork - i.e. add changes ✨

Slide 38

Slide 38 text

@MentoredSprints mentored-sprints.dev
 This is how we ask the maintainers to incorporate our changes into the original repository PR (Pull request) 🎁 Repo_A - some GitHub account Repo_A_fork - your GitHub account

Slide 39

Slide 39 text

@MentoredSprints mentored-sprints.dev
 1. Find and issue or item to work on 2. Fork the repo and clone it locally 3. Make a new branch git branch new_branch 4. Change to new branch git switch new_branch 5. Work on changes 6. Run tests 7. Commit and push changes (sync your fork and clone) 8. Open a PR (from your remote fork) 9. Review and address comments 10. Celebrate when your PR is merged 🎉 PR lifecycle

Slide 40

Slide 40 text

@MentoredSprints mentored-sprints.dev
 1. NumPy 2. PyOpensci 3. Pyarcade 4. CPython 5. Hypothesis / pytest 6. Pip / furo 7. Nebari 8. GNU mailman projects

Slide 41

Slide 41 text

@MentoredSprints mentored-sprints.dev
 You do not have to memorise this We have mentors here today! The best part

Slide 42

Slide 42 text

@MentoredSprints mentored-sprints.dev
 Sprinting time!

Slide 43

Slide 43 text

@MentoredSprints mentored-sprints.dev
 Reach out to: [email protected] https://mentored-sprints.dev https://twitter.com/MentoredSprints Have fun!