Python Core Sprint 2024: Day 2

DjangoCon US

I woke up a bit later this morning, so I missed the keynote, but thankfully the online platform allows me to watch the recording, so I was still able to watch Mario Munoz’ keynote: How To Be A Developer and Other Lies We Tell Ourselves. I really enjoyed Mario’s keynote. I love it when presenters find unique and creative ways to present their talk, and Mario really nailed it. His talk was very heartfelt and full of empathy.

Don’t ask for slides for this talk. Just watch the video when it comes out.

T-strings / Tag Strings (PEP 750)

I briefly chatted with Guido about PEP 750. He called it T-strings, while I heard Lysandros called it template-strings, and I’ve been calling it Tag-strings ๐Ÿ˜“

I expressed my mixed feelings about this proposal. I felt like the example provided in the PEP doesn’t fully illustrate why a new syntax would be needed. But maybe I’m just missing something.

Guido mentioned that in situations when the string is very long, like SQL or HTML with multiple variables, then something like t-strings would be more useful. I thought it would be nice if they could demonstrate it in the PEP.

He said that Jim Baker will come to the sprint later this week to work more on the PEP, so perhaps we’ll see the updated PEP soon.

F-strings

Speaking about f-strings, today I talked to even more core devs who also were not aware of the new changes to f-strings in Python 3.12 (like, you can now add comments inside f-string expressions) ๐Ÿ˜“

I have always assumed all core devs know everything about Python, but this just reminds us that no, we don’t all know everything about Python. Each of us has our own little corner of focus area, an area they care a lot about.

So anyway, I think it’s important for eveyone to learn more about what they can do with f-strings in Python 3.12+ so shared my F-strings presentation slide on the Python Core Devs Discord channel. If you also want to learn more about what’s new with f-strings in Python 3.12, check my slides or wait for PyBay videos to come out.

Coverity Scan

I noticed that we have a page on the DevGuide about CPython Coverity Scan, but when I went to Coverity Scan website, it turns out that the project hasn’t been updated since 2020. The folks who are listed as contact person/admin/expert also haven’t looked into it for a long time. No-one seemed to remember how to even trigger a scan. So after some chats on Discord, we made a call to remove Coverity Scan from CPython repo and DevGuide.

I opened a PR on the DevGuide repo to remove the coverity scan info, and I also opened a PR on CPython repo to remove the corresponding coverity model C file.

You know what I say: us programmers love writing code, but we love deleting code even more ๐Ÿ˜

I also tried to find out how to delete our CPython project from Coverity Scan. But Stack Overflow says it can’t be deleted ๐Ÿ˜ฅ

DevGuide

I continued to read the CPython DevGuide source code (.rst files) thoroughly.

I learned new .rst and Sphinx roles I never knew before, that are used on the DevGuide, like the :samp: and :guilabel: roles. These roles aren’t being used too extensively, there are 18 occurences of each of these roles in the devguide, so perhaps I just haven’t come across them before.

Group Photo

We took a group photo together of all the sprint attendees, but the photo hasn’t been shared with us.

Q&A with Python Steering Council

During the Q&A session, core devs asked the SC about different topics:

  • Freethreading

    The acceptance of PEP 703 (Freethreading) was contractual and based on certain provisions. There was a question of, how is this going so far? There was a comment about, most people in the room are finding it doing quite well, but are we hearing from all parties? Are there people who don’t find it good, and how can we make sure they share this experience? There’s concern that the freethreading caused performance lag (about 30-40% slower), and questioning what can be done to speed it up? What can we do to help our users with freethreading? For the SC, making language decisions, they need to also think about the new features in the context of freethreading.

  • PEP 734: Multiple Interpreters

    Eric Snow wanted clarity of what needs to happen about this PEP. Emily mentioned the need to have changes like this to be available as a package first on PyPI, let the community try it first, before including in the standard library. She talked about this as a lightning talk at the Python Language Summit 2024.

  • SC Office Hour

    The SC encourages core devs to use their office hour more. The booking link is currently broken, but we can just write to the SC and they’ll work it out.

  • SC workload

    There’s way too many things to be done by the SC than they have the time to do. So what can be done, what can be delegated? There has been some improvements. Velda has been hired to help streamline the process about SC updates to the community. There has also been many different work groups (WG), charters, councils, board formed that takes ownership of certain focus area, and sounds like the SC would like to encourage more of that.

Roundtable about CoC in the Core Python team

CoC is a very heavy topic, and not everyone in the room wanted to participate, so we used a breakout room to discuss it.

I joined the breakout room just to learn and listen to what others said. I didn’t really contributed anything to the discussion. Even as a listener, I still didn’t find it any easier being in that room. I could tell that, those who spoke during the breakout room, it wasn’t an easy thing to share their thoughts about this topic.

So I really appreciate that the group could have a chat about this topic in person in respectful manner.

Python conference t-shirts

The Python Fashion Watch continues!! ๐Ÿ˜Ž

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

  • PyCon Charlas 2024 (Thomas)
  • PyCon US 2022 (?)
  • PyBay 2024 (Gregory)
  • PyCascades (Guido)
  • PyCon CZ (Petr)
  • PyJogja (Mariatta)
  • PyLadies (Brett)
  • Python 23.7 (Eric Snow)

Organizing Sprint

Donghee shared some good advices about how to run sprints in the APAC region.

I actually don’t feel like I could ever run a sprint. I can get people started with git/GitHub, I can tell people where to find the contributing guide, the discussion forum, the issue tracker, etc but I just won’t know what to do when people started asking “what ticket can I do?”, which is the main attraction of a sprint.

Still, Donghee encouraged me and gave some suggestions: prepare a guide, set expectation ahead, give them pre-sprint homework because we (Asians) are good at completing homework ๐Ÿ˜†

I appreciate the encouragement, and will take this to heart.

Dinner

I joined the group that went for Pokรฉ.