How it all went down - PyCON US 2023, Salt Lake City, Utah

This year was my first time attending pyCon US! I was intimidated to attend such a big Python meeting. For years i’ve attended science meetings such as AGU (American Geophysical Union), ESRI (GIS) users conferences and ESA (Ecological Society of America). I’ve been to and lead data science hackathons and been to the annual SciPy meeting. But i’ve never been to a pure tech conference.

Even after teaching data science using R and Python for the past 10 years I STILL feel like an imposter sometimes.

What’s up with that?

But I went and had a fantastic time. Getting to talk to people all day, every day about all things Python felt like how I might imagine a trip to Disneyworld feels for an 8 year-old… (minus the cotton candy, costumes and the upside down rides).

I felt energized, excited. I learned so much and met SO MANY incredible people.

A few highlights of the meeting are below.

Python packaging, packaging, packaging

Did I mention packaging? No?

Ok well I spent a lot of the meeting talking to people about Python packaging.

I even got to present in the maintainers summit (see the video below) on… guess what?

PYTHON PACKAGING!

It was my first time recording myself talking formally about packaging and using OBS studio. And I have to say I have some sort of shifty eye syndrome going on. I think I still have a bit to learn from those YouTubers on video creation!

This presentation echoed the sentiment that I shared in this blog post about Python packaging.

TLDR breakdown

If you’re short on time, the take-aways of the talk were:

  • Our pyOpenSci packaging guide is community-driven. It is created via a heavily-moderated review process that consisted of several rounds of reviews.
  • Guidebook reviews were heavily moderated. This ensured that we formed consensus on packaging recommendations.
  • Packaging might seem “messy” but really it’s just a matter of knowing what tools to use and how to use them. While this is not a simple task. We believe that these community-driven resources will help the scientific Python community by demystifying the packaging ecosystem!

Creating our packaging guide

I spent a bit of time in that video talking about how we create our guides.

  • Every part of our guides are reviewed by lots of people.
  • Reviews for just a few pages of the guide could have 200 or more comments.
  • Our process is normally several steps including an initial writing of content that is reviewed by experts. Followed by 2 rounds of open reviews of the content. The image below describes that process.
Graphic that has a large purple thick arrow. The title says Python Packaging Guide - Our Process. The sections in the arrow include Talk with core experts (write a section of the guide), semi-closed review (core experts review), Open Review 1 (ping tool developers and maintainers and welcome broad community feedback) and Open Review 2 (welcome broad community feedback).
Image from my talk that shows our packaging guide review process. Our packaging guide is community-driven. This means that every page of the guide has been reviewed by dozens of people with expertise in the packaging space. While this meant that it is taking extra time to create the guide, it also means the community supports it. We value community knowledge and input at pyOpenSci.

Another part of our packaging guide review process is getting input from packaging experts in the community. These experts come from the core python community, the packaging community, the scientific community and even maintainers of core packaging tools.

Leave no stone unturned (my motto when doing most things).

.sdf
Image from my talk that shows our packaging guide review process. Our packaging guide is community-driven. This means that every page of the guide has been reviewed by dozens of people with expertise in the packaging space. While this meant that it is taking extra time to create the guide, it also means the community supports it. We value community knowledge and input at pyOpenSci.

Why I LOVE peer review

If you haven’t already guessed, I have a deep seeded love for peer review. In my mind, anything that is produced that requires a lot of technical knowledge will only be improved when vetted by lots of people.

Sure, it takes a lot of extra work to produce a guide that way. And it slows down the process. But, the end product will be worth it.

As such we not only review Python packages at pyOpenSci. We also make sure that all of our content is heavily reviewed too.

The only (woman) in the room

So I have to say this. While pyCon was the most wonderful experience, I did have a few awkward moments. For one, I was often one of the few female identifying people in the room. This was particularly true are the packaging summit where I gave a small presentation related to PyPA and packaging tools!

I did feel welcomed and included. BUT, I can say that it is interesting to walk into a room and know that you are different. I noted the things that made me feel super welcome and comfortable.

pyCon was more about (freakin amazing) people than code

I can’t even begin to highlight ALL OF THE AMAZING PEOPLE I met at pyCon. In some cases I met folks who I had been interacting with online Such as C.A.M. from the Python core team who I “met” on the Python Discourse. Or Pradyun another Python core dev who has been involved with pyOpenSci providing guidance on the packaging space for months. Pradyun is also a part of our advisory council. His expertise is really invaluable to our organization.

I got to meet Erik who’s Python package - python-graphblas is going through our peer review process right now.

I met Chase, CEO of a really cool company called Million Concepts and some of the folks from the Python Heliophysics community.

Finally, I got to meet and hang out with the amazing Inessa Pawson. If you haven’t heard of Inessa’s work it’s extraordinary. Inessa has been working as a contributor lead for the Numpy project and is also a project manager for Open Teams.

There are so many other people who I got to know and build working relationships at this meeting.

pyOpenSci Sprints at PyCON

pyOpenSci also lead 2 sprints at pyCon! On Sunday we lead a mentored sprint. If you haven’t heard of mentored sprints, they are an amazing format that allows those who are newer to contributing to open source to get support in the contribution process.

At the mentored sprints I was grateful to have Luiz Irber and David Nicholson supporting the (larger-than-expected) group! Luiz served as editor for pyOpenSci years ago during one of our very first reviews. And David is now our editor in chief of pyOpenSci.

We had a full table plus an overflow table of people who wanted to contribute! And each of them was able to contribute (many for their very first time!!). It was awesome.

Image showing people at laptops sitting around a round table wearing masks during our PyCon 2023 mentored sprint.
Contributors working together in small groups during our mentored sprints at PyCon 2023. People worked together on issues in pairs and had help from dedicated mentors. Most of the contributors had Python experience but also most had never contributed to open source before.

The people at the sprint were not the people who I expected. Many of them had significant technical skills and backgrounds. But many of them also had never committed to an open source project. Perhaps they had used subversion but not git / GitHub. Perhaps they knew python well but didn’t know where to start in terms of contributing.

In total we ended up with 8 pull requests submitted during the sprints and 2 others submitted after. Every pull request was from a new contributor to pyOpenSci. And also they were mostly made by those new to contributing in general.

If you want to check any of them out - please click on any of the links below!

Contributions from the pyOpenSci mentored and regular sprints at PyCon US 2023

Contributions to open source tools and communities can come in all shapes and sizes. Note that some of the items below are small fixes (which are a huge help). And others are a bit more involved.

More technical pr’s

Less Technical PR’s

These pr’s are highlighted here because it’s important to know that not all contributions need to be highlight technical. They can be text fixes that are equally important to projects.

Packaging Guide pull requests

In the spirit of understanding that not all contributions need to be code! The pr’s below, submitted by Jeremy, identified lots of typos in our packaging guide! This was SO SO helpful to us!!

All of the contributors are now listed on our website. And we are grateful for each and every one of them!

Would I attend pycon again?

I’m sure I don’t have to tell you the answer to that question.

heck-yea I would!

The people I met at that meeting even sitting in the lunch room were incredible. And many of them have become colleagues that I am still in touch with and who are now involved with pyOpenSci.

A final highlight of the meeting - David Nicholson’s Lightnight talk

One of the other highlights of the meeting that I can’t forget to mention is David getting up on the ginormous speaker stage in the main ballroom and giving a lightning talk about his experience submitting Crowsetta, a Python package, to pyOpenSci. Check out a blog on his talk and watch the 5 minute presentation here. It was awesome!

Categories: blog-post , highlight , python-packaging , talks

Updated:

Leave a comment