PyCon US 2025 Recap
I just attended PyCon US this year in Pittsburgh as part of the PyCharm crew. We had a booth in the Sponsors Hall, where I met many attendees. I was able to attend a few open spaces and squeeze in some sightseeing. This was my first time attending in person since 2019, so seeing what has changed over the last six years was interesting.
Preparation
The two chairs of PyCon US, Elaine Wong and Jon Banafato, were guests on the Django Chat podcast last month, so for anyone interested in a very in-depth look at the conference and what goes on behind the scenes, I recommend you take a listen!
It also selfishly gave me a good sense of what to expect. PyCon US is a very big event, with somewhere around three thousand attendees, many talks, open spaces, and more. It can be a bit overwhelming the first time.
Thursday, May 15th
I flew in from Boston on an early flight and was surprised to see an enormous T-Rex skeleton at the airport!
T-Rex Sculpture in the Pittsburgh Airport
There was an evening reception from 5 to 7 p.m., and before that, I needed to help set up the PyCharm booth. Since my flight was very early, I had most of the morning to explore the city.
The first item on my list was the Duquesne Incline. Pittsburgh is very hilly and sits at the confluence of two major rivers, the Allegheny and Monongahela. These rivers form the Ohio River, which then snakes its way to the Mississippi River. This means that historically, if you controlled Pittsburgh, you controlled the interior of the United States, and as a result, Pittsburgh was very prominent in early wars between the French, British, and U.S. in the late 18th century.
Duquesne Incline
Look at the different colors of the two rivers! The Allegheny originates in the northeast, in relatively cleaner, forested regions of Pennsylvania and New York, so its water is often clearer and bluer/greener. The Monongahela comes from the south and tends to carry more sediment and pollutants, giving it a brownish or murkier appearance.
Allegheny and Monongahela rivers joining to form the Ohio River
The conference was held in the very large David L. Lawrence Convention Center. I picked up my badge from registration and added some additional Django flair.
PyCon Badge
There was a lot of traffic on the opening night as there were drinks and appetizers on the floor and, most importantly, no competing keynotes or other events!
Friday, May 16th
I was on booth duty from 7:30 a.m. the following morning until 6:00 p.m. It was a very full day of doing demos and chatting with people. We also hosted a mid-morning book signing with Matt Harrison and an afternoon one with Naomi Ceder.
PyCharm Booth
Sponsors Floor
The primary topic of conversation for us was Junie, the new coding agent that is part of PyCharm. Attendees were pretty evenly split between those who were well versed in agents and had detailed questions about ours vs. the competition, people who I’d label as “AI-curious” who hadn’t used them, and a third group that couldn’t use AI at work for privacy or security reasons but was trying them out for their personal usage.
In the evening, I was planning to have a quiet night, but I got a last-minute invite from Eric Matthes (pictured later on this post) to attend the Pittsburgh Symphony for a performance including Beethoven, Stravinsky, and Prokofiev.
Pittsburgh Symphony Hall
It was a fantastic performance but resulted in a very late night for me. So it goes.
Saturday, May 17th
The next morning, I was on booth duty for most of the day. At 10:00am there was a book signing with Eric Matthes, author of the very popular Python Crash Course. One of the attendees was Jib Adegunloye, the lead engineer at MongoDB on their new Django backend. I had the pleasure of interviewing him on the Django Chat podcast back in February.
Eric Matthes & Jib Adegunloye
At 11:00 a.m., I briefly escaped the booth to support my colleague Paul Everitt, who led an open space on PEP 750—Template Strings, which was just accepted for Python 3.14. Open spaces are a big deal at PyCon US and one of my favorite features. These are informal meetups on a wide variety of topics that you can just show up for.
Paul is a co-author of PEP 750
, which introduces t-strings,
an enhanced version of f-strings.
While f-strings
evaluate to str
(a string), t-strings
evaluate to a new type, Template
, which provides a host of additional features. See this article by Dave Peck, one of PEP-750s authors, for more information on t-strings.
Also in attendance were two co-authors on the PEP, Dave Peck and Koudai Aono, as well as David Lord, lead maintainer of Flask and Jinja (which t-strings might impact), and many other heavy hitters. Only at PyCons do you literally have almost all the decision makers for a major new Python feature sit in person in the same room.
After the meeting, I raced back to the PyCharm booth to help Calvin Hendryx-Parker, CTO at Six Feet Up, who presented a lunchtime talk on Battle of the Bots: Which AI Assistant Delivers?, covering Aider, Claude Code, Cursor, Goose, and Junie.
Calvin Hendryx-Parker Talk
And then, at 3:45pm, there was a book signing by me, of all people, and my book, Django for Beginners. I’m pleased to say we quickly ran through all 25 books on hand, and there were still quite a few people in line, so next year, we’ll have to order more books!
Sunday, May 18th
At 7:00am sharp, I headed off on a run with my colleague Galina, the PyCharm Product Manager, who is also a competitive ultramarathon runner. There are some great running routes in Pittsburgh along the rivers and bridges. I am a casual runner at this point in my life, so the plan was that I’d run with her four or so miles and then turn around to head back into town at an equal distance. She continued on for a two-hour tempo run, while I got lost going back–at one point ending up 50 feet in the air along a railroad track that I thought was a shortcut but turned out not to be–and the overall return journey turned into a lot longer slow run/walk than expected. I didn’t bring my phone, or I would have some pretty dramatic photos to show from this detour.
After finally making it back to the hotel and showering, I was ready for a proper breakfast. I headed to Sally Ann’s just down the street, which had excellent avocado toast and a cappuccino.
Sally Ann’s Breakfast
Then, it was off to the convention center for more open spaces on topics including Django simple deployments, high-performance Django, and AI evals. All three gave me a lot to think about.
Given the long run/walk earlier, I was pretty well famished at this point, so I made it over to Bae Bae’s Kitchen for a Bulgogi and egg seaweed burrito.
Seaweed Burrito
Then, it was more socializing with friends and colleagues and a recap with the entire PyCharm team from 8 to 10 p.m. that evening.
Monday, May 19th
I had an early flight back to Boston, so I was out the door by 7 a.m. and home in time to pick up my son from preschool. A short flight in the same time zone is a gift versus longer trips overseas.
Overall, it was a jam-packed trip. I saw Pittsburgh for the first time, learned a lot, and interacted with hundreds of people about PyCharm and our new AI features. As there always is with PyCons, there is a lot to take away. If you have the opportunity, I strongly recommend attending one yourself in the future!