Python Core Sprint 2024: Day 1

This week I’m in Bellevue for the annual Python core sprint. This year, the sprint is hosted at the Meta Bellevue campus, and coordinated by Itamar Oren from Meta. Other Python core devs and contributors who work at Meta are also helping (Dino Viehland, Jason Fried, Matt Page, Parul Gupta, and Thomas Wouters).

The PSF offers travel grants for Python core devs who are participating in the sprint and aren’t being sponsored by their employer, which I signed up for. Thanks to the travel grant, my hotel stay is covered fully by The PSF.

Thank you to Meta and The PSF for hosting and sponsoring! The sprint is one of my favorite Python events of the year. At the sprint we all get to really focus and “work” on Python. It’s also nice being able to talk face-to-face IRL with other Python core team members. The sprint is only one of two events of the year in which there are so many Python core team members all in the same room. (The other event being the Python language summit at PyCon US.)

DjangoCon US

I actually have online DjangoCon US registration (thanks to my consulting client!). When I woke up, the conference just started, so I watched the morning keynote on my phone. The first keynote was by Sheena O’Connell, titled “Power to the People who Teach the People”. It was a great presentation, and I’d really recommend you to watch it, especially if you’re in a senior/lead dev role, or if you need to/want to mentor other devs.

Check out the slides here.

(Got lost while) Getting to the venue

We were informed that there will be limited monitors available, and it’s on a first-come-first-serve situation. The night before, a group of core devs said they would meet at the hotel lobby at 9:15 before heading out together. However, since I wanted to claim a monitor, I decided I’d go sooner than everybody else, at 8:30 AM. I asked if anyone else wanted to go together with me. Turned out, almost everyone wanted to come at the same time.

Ok, so,… this large group of Python core devs went out together, we figured out the transit situation together, and …. we all got lost together! ๐Ÿ˜‚ When we arrived at the Meta building, we circled the entire block before we finally found the entrance to the building lobby. This is what happened when you try to figure something out before drinking your morning coffe ๐Ÿ˜“

PyLadiesCon Program Committee

The PyLadiesCon program committee had a meeting. We discussed keynote selection, panels, and the program schedule.

PyPodcats

Georgi reported that people weren’t able to “search” for our podcast series, PyPodcats, on Spotify. She said that people needed to type in the “PyPodcats” in that exact capitalization on Spotify to find the podcast. So I spent a bit of time investigating.

I still don’t know how Spotify’s algorithm work, but while investigating, I found the Podcast Specification Doc from Spotify, which explains how the podcast RSS feed need to be structured and formatted for Spotify.

While reading the doc, I noticed that we did not have the xmlns:spotify attribute yet on our XML schema. So I opened a PR to add this attribute to our RSS feed.

Sprint Kick-off

At the kick-off, we went around the room and everyone introduced themselves, and stating what they’ll be working on during the sprint. Everyone has different things they wanted to work on: freethreading, asyncio, dataclass, tag/template strings (PEP 750), PEP process improvements, packaging (warehouse), etc.

Python Contributing Guide

Myself, I plan to focus on the work for Python Docs Editorial Board. One of the projects we’re undertaking is the re-working of the Python DevGuide into a “Contributing Guide”. Ned Batchelder has prepared an outline of what the new Contributing Guide could look like, and we’re currently looking for more feedback and eyes on it. If you have opinion about it, please check out the Discussion forum or and review the pull request.

Unpopular Idea about Python Docs

I have something in mind about the state of Python Docs, but it’s not gonna be popular among the Python core devs, so I won’t say out loud what it is yet ๐Ÿค My idea is still just … an idea. I don’t even know if my idea is even possible, so I still need to do some R&D on it.

I mentioned it to a few people, and they gave me some pointers on how to approach it. (Though none of them was enthusiastic about it ๐Ÿ˜“)

Not sure how far can I get with this idea, but I’d like to at least try or to be one step closer towards a solution. As part of this R&D effort, I’m currently reading the DevGuide from top to bottom, front and back.

While I was reading the Devguide, I noticed hidden inside the devguide, are two “TODO” items that seemed to have been there for almost a year. So I opened some issues to hopefully address these TODOs. (Issue 1408 and Issue 1409)

Editorial Board Meeting Minutes

Since last month, the editorial-board has a landing page.

I added a small new feature to it: now there is a new “Board Members” page, and each board member has their own landing page (and RSS Feed!) of the meetings in which they’re an attendee. (Here’s my page

I became interested to add this functionality after listening to Philip James’ talk at PyBay about Automating Your City Data with Python. In his talk, he demonstrated how to lookup city council minutes, what topic was discussed during city council meetings, and which council members voted for which decisions.

I implemented this using what’s called taxonomies in Hugo. PR with the change.

I know this is an over-engineering of this simple meeting minutes, but I guess I just appreciate having more structured data.

Gidgethub

There was a PR opened by Jacob Nesbitt on the Gidgethub repository, for adding an expiration parameter to gidgethub.apps.get_jwt(). This value is currently a hardcoded value of 10 minutes. The PR adds an optional parameter that allows users to set a custom value, and defaults to 10 minutes, making it backward-compatible. I thought it’s a great improvement. I reviewed the PR and tested it locally.

Python conference t-shirts

One weird thing you notice as a Python conference organizer, is which Python conference swag are being used by your Python friends ๐Ÿ˜…

Today, I noticed a few people wearing different Python conference t-shirts, myself included, so it was fun to see ๐Ÿ˜

Python conference t-shirts worn by Python core devs today:

  • PyCon Charlas 2024 (Guido)
  • PyCon US 2024 (Lysandros)
  • EuroPython 2023 (Hugo)
  • PyCon US 2017 (Eric Snow)
  • PyCon US 2016 (Thomas)
  • PyCascades 2023 (Mariatta)

Dinner

I went for Ramen and ice cream for dinner.