Stories from Python History
Episode Deep Dive
Guests introduction and background
Barry Warsaw One of Python’s earliest core developers, Barry attended the very first Python workshop at NIST in 1994 and has served the community ever since, as release manager for Python 2.5, 2.6, and 3.0, long-time maintainer of GNU Mailman, and member of multiple Python Steering Councils. Today he continues to guide language evolution (including packaging and free-threading) while sharing his passion for open source and music.
Paul Everitt Paul met Guido in 1994 while still wearing a U.S. Navy uniform and soon co-founded Digital Creations/Zope Corp., giving Python its first major web framework. Now Head of Python Developer Advocacy at JetBrains, Paul helps shape tools such as PyCharm and champions community engagement through keynotes, livestreams, and user-group organizing.
Carol Willing Carol came to Python in 2012 after a career in hardware and C/C++, quickly becoming a core developer (2017) and Jupyter Steering Council member. A former PSF director and Frank Willison Award winner, she focuses on scientific computing, education, and mentoring, most visibly through PyLadies and her work bringing JupyterHub and Binder to classrooms and research labs worldwide.
Brett Cannon Brett has been a CPython core developer since 2003 and served as release manager, Steering Council chair, and author of many PEPs (including the import-lib rewrites and packaging improvements). He’s known for the phrase “I came for the language, stayed for the community,” and remains committed to lowering barriers for new contributors while pushing Python’s technical boundaries.
What to Know If You're New to Python
- PyCon is the annual community conference; many stories in this episode revolve around early PyCons and their role in growing Python’s culture.
- The “Zen of Python” (type
import this
in a Python REPL) captures the language’s philosophy and is referenced often by seasoned developers. - Community initiatives like PyLadies, kid-friendly workshops, and first-time-speaker coaching are core to Python’s inclusive spirit, don’t hesitate to jump in.
- Transitioning from Python 2 to Python 3 was a historic challenge; modern code, tutorials, and packages are allPython 3, so start there.
Key points and takeaways
1. Python’s community is its super-power The panel agrees that Python’s success rests on a welcoming ethos seeded by Guido van Rossum and reinforced at every PyCon. People “came for the language, stayed for the community,” and that culture now sustains millions of users and newcomers.
2. Early days: workshops, Usenet, and 30-person PyCons Barry and Paul recall the 1994 NIST workshop where Python still felt like a hobby; attendees even hid their employer names because the language was their “competitive advantage.” The first PyCon (2003) drew about 250 people, tiny by today’s standards.
3. The Zen of Python and Easter-egg culture Tim Peters’ “Zen of Python” became an importable Easter egg after Barry and Tim hid it in the standard library with ROT-13 encoding. Barry later turned the aphorisms into an acoustic track featured in this episode.
4. Humor matters: ‘import antigravity’ and other inside jokes
Randall Munroe’s XKCD comic inspired the antigravity
module, and playful references (Monty Python, Spam, snakes) keep the ecosystem fun and approachable, something the panel credits for attracting new generations.
5. Diversity renaissance (2012–2015) Driven by leaders like Jessica McKellar and Carol, PyCon speaker demographics shifted from single-digit female representation to nearly 40 %. Personalized outreach, PyLadies expansion, and mentorship programs set a template for other tech communities.
6. Scientific Python, Jupyter, and the rise of data science The growth of Jupyter notebooks and libraries such as NumPy and pandas drew scientists who “didn’t think they were programmers.” This influx cemented Python 3 adoption and broadened Python’s application domains.
7. Lessons from the Python 2 → 3 migration The long, painful transition taught the community to value backward-compatibility and clear deprecation paths. While Unicode and cleaner syntax were worth it, the panel agrees such a break could never happen at today’s scale.
- pythonclock.org (Python 2 EOL reminder)
8. Packaging, free-threading, and Python’s technical future Work on a per-interpreter GIL, improved packaging standards, and performance boosts (e.g., 3.11’s speedups) show that Python continues to evolve without losing its soul.
9. Giving back: many on-ramps for new contributors Documentation, translations, mentorship, code reviews, and community organizing all count as contributions. The guests emphasize that you don’t need C prowess, just curiosity and kindness.
10. Upcoming Python documentary A serious, community-driven film project (teaser shown at PyCon 2025) will capture these stories for posterity, underlining Python’s place in computing history.
Interesting quotes and stories
"I came for the language, stayed for the community." - Brett Cannon
"Follow your joy: if you do, you won't go wrong." - Barry Warsaw
"Python gave me the same sense of exploration I had programming Apple II as a kid." - Carol Willing
"Get involved, it will be the best thing you ever did." - Paul Everitt
"We made ‘True’ and ‘False’ keywords in a bug-fix release. The world blew up. We learned." - Brett Cannon
Key definitions and terms
- Zen of Python: A collection of 19 aphorisms (PEP 20) that express Python’s design philosophy.
- PyCon: The primary annual conference for Python developers worldwide.
- PyLadies: A global organization supporting women who code in Python.
- Import antigravity: A standard-library Easter egg referencing an XKCD comic; opens a webcomic in your browser.
- GIL (Global Interpreter Lock): A mutex in CPython that prevents multiple native threads from executing Python bytecode simultaneously.
- Jupyter Notebook: An interactive document format that combines code, visualizations, and narrative text, popular in data science.
- PEP (Python Enhancement Proposal): A design document providing information or proposing features for Python.
Learning resources
Looking to dive deeper into topics mentioned in this episode? Check out these curated Talk Python courses:
- Python for Absolute Beginners: Start coding with Python from scratch.
- Python 3.11: A Guided Tour Through Code: Explore the newest language features and performance gains.
- Getting Started with pytest: Level up your testing skills, just like the core devs.
- Python Data Visualization: Perfect for stepping into the scientific Python ecosystem celebrated in this episode.
- Rock Solid Python with Python Typing: Write modern, maintainable Python 3 code.
Overall takeaway
Python’s story is one of curiosity, generosity, and constant reinvention. From 30-person workshops to a global, multi-million-user ecosystem, the language has thrived because its community keeps learning, laughing, and lifting others up. Whether you love Monty Python jokes, scientific discovery, or elegant code, there’s room, and a warm welcome, for you in the Python world.
Links from the show
Jake Vanderplas - Keynote - PyCon 2017: youtube.com
Why it’s called “Python” (Monty Python fan-reference): geeksforgeeks.org
import antigravity: python-history.blogspot.com
NIST Python Workshop Attendees: legacy.python.org
Paul Everitt open-sources Zope: old.zope.dev
Carol Willing wins ACM Software System Award: awards.acm.org
Watch this episode on YouTube: youtube.com
Episode #513 deep-dive: talkpython.fm/513
Episode transcripts: talkpython.fm
--- Stay in touch with us ---
Subscribe to Talk Python on YouTube: youtube.com
Talk Python on Bluesky: @talkpython.fm at bsky.app
Talk Python on Mastodon: talkpython
Michael on Bluesky: @mkennedy.codes at bsky.app
Michael on Mastodon: mkennedy
Episode #513 deep-dive: talkpython.fm/513
Episode Transcript
Collapse transcript
00:00 Why do people listen to this podcast?
00:01 Sure, they're looking for technical exploration of new libraries and ideas, but often it's to hear the stories behind them.
00:09 If that speaks to you, then I have the perfect episode lined up for you here.
00:14 We have Barry Warsaw, Paul Everett, Carol Willing, and Brett Cannon all back on the show to share stories from the history of Python.
00:22 You'll hear how Import This came to be and how the first PyCon had around 30 attendees, two of whom are guests on this episode. Sit back and enjoy the humorous stories from Python's past.
00:34 This is Talk Python To Me, episode 513, recorded June 6th, 2025.
00:53 to unite. We started in pyramid cruising.
00:56 Welcome to Talk Python To Me, a weekly podcast on Python.
00:59 This is your host, Michael Kennedy. Follow me on Mastodon where I'm @mkennedy and follow the podcast using @talkpython, both accounts over at fosstodon.org and keep up with the show and listen to over nine years of episodes at talkpython.fm. If you want to be part of our live episodes, you can find the live streams over on YouTube. Subscribe to our YouTube channel over at talkpython.fm/youtube and get notified about upcoming shows. This episode is sponsored by Posit Connect from the makers of Shiny. Publish, share, and deploy all of your data projects that you're creating using Python. Streamlit, Dash, Shiny, Bokeh, FastAPI, Flask, Quarto, Reports, Dashboards, and APIs. Posit Connect supports all of them. Try Posit Connect for free by going to talkpython.fm/posit, B-O-S-I-T. And it's brought to you by Agency. Discover agentic AI with Agency. Their layer lets agents find, connect, and work together, any stack, anywhere.
01:59 Start building the internet of agents at talkpython.fm/agency, spelled A-G-N-T-C-Y.
02:06 Brett, Carol, Paul, Barry, welcome to all of you to Talk Python To Me. So
02:11 happy to have you back.
02:12 Hi, Michael.
02:13 Thanks. Yeah.
02:14 Great to see you.
02:14 Good to see you.
02:15 I will tell you what, if the backstage pre-show is any indication of how much fun we're going to be having here,
02:23 it's going to be a good time.
02:24 I hope everyone here is ready for some fun stories, some fun history, and some unexpected things out there.
02:32 And as I was doing this research, I see lots of your names popping up in these places.
02:39 Oh, there were 30 people doing Python.
02:41 And Barry and Paul happened to be there, like in the world.
02:45 sort of thing or maybe at the conference but pretty pretty early days i think and so i'm very excited
02:52 to talk about just these stories history of python inspired somewhat by the upcoming documentary
02:59 repo i believe it is that's putting it together what a fun fun thing there was an april fool's joke that people may have seen but there's also a serious documentary coming right
03:08 yeah there's a There was a trailer shown at PyCon just recently.
03:13 It was really good, too.
03:14 It was. It got a good reception.
03:16 The people actually showed up at 830 in the morning, which doesn't happen a lot at PyCon.
03:21 I'll tell you what, that's my kind of stuff.
03:23 People say, what's your favorite movie, Michael?
03:25 I'm like, hmm, how am I going to answer this one?
03:27 How about I watch programming and other types of documentaries on YouTube?
03:31 Is that kind of like, no, I don't want to talk to you anymore about this.
03:34 But it's going to be so good.
03:36 Is that how you extract yourself out of a conversation you want to be a part of at parties now, Michael?
03:41 I'm just like, let me tell you about this cool documentary.
03:43 No, I watch programming documentaries on YouTube.
03:46 Oh, that was nice to meet you, Michael.
03:48 Hobbies include.
03:49 What is it?
03:50 Four o'clock?
03:50 We got to shut this down.
03:52 Exactly.
03:53 I imagine, though, the podcast listeners will be much more in line with being in the group that would care to pay attention to that.
04:00 So let's just do a super quick round of introductions.
04:03 I know most people know you because, as I said, you all have been doing this for a super long time.
04:06 But for those who are new listeners, we have many, many new listeners all the time.
04:11 People getting into Python.
04:12 Biggest group, as we learned from the survey, which is very interesting.
04:15 So maybe we'll go around the Brady Bunch squares.
04:17 Brett, you go first.
04:18 My name is Brett Cannon.
04:19 I am the person Paul Everett is chasing to become the second most frequent guest on this podcast.
04:24 I've been a Python core developer since April of 2003.
04:29 I've been using Python since fall of 2000.
04:33 I feel very lucky to be part of this disservice group of people I think that's a good quick summary and I know if you scroll up Anthony Shaw beats me oh and Brian actually beats me as well I don't count Brian
04:45 he's an insider you're leading but now we have you two on here at the same time so it's just going to asymptotically like the limit at infinity will be the same but right now that's fine I think that's fair to me it's been a little while since we had you on the show Brad awesome to have you back
05:01 Yes, thanks. Lock files took a bit longer than I expected.
05:04 Carol, hello.
05:05 Hi, I'm Carol Willing.
05:06 Brett, your lock files got lots of love at PyCon, just so you know.
05:10 I am the baby of this group.
05:12 I started using Python in 2012 and 2017 became a core developer and had some fun on the steering council with some of these cool folks.
05:23 And so these days I spend a third of my time working and often in the open science, data science space with open source projects there, sit on some boards, do some angel investing.
05:38 The other happy third is I donate a whole lot of time, not just to open source, but actually to mentoring individuals one-on-one who are trying to get more involved in open source or learn things.
05:53 And that is probably my biggest joy in life.
05:56 And then the third of my Python-y kind of life is being able to dig deep and to whatever projects rock my world and get a little time, hopefully, to play with some open hardware, blanky, wearable electronics stuff.
06:11 So I just love Python.
06:13 I love the community.
06:14 And whatever the other third, Paul is going to share with us later.
06:17 Paul has many thirds, many thirds.
06:19 I didn't realize, Carol, our Python age is almost the same exactly.
06:23 Oh, good.
06:24 Well, you can join me in the toddlerdom of Python.
06:27 Yeah, exactly.
06:28 We'll have to stay home while the grownups like Paul go out who've been at this for a little while.
06:32 Paul, what, five years now, is it?
06:34 Five in dog years?
06:36 That's not even it either.
06:37 You got to...
06:38 We need a log scale.
06:39 We need a log scale.
06:41 Yeah, Carol's right.
06:42 There is another third.
06:43 The bonus third of this episode will be a discussion of Sphinx talk trees, their implementation.
06:49 It kind of ends in like a biker horror movie mashup.
06:53 So stay tuned.
06:55 Hi, I'm Paul. Barry and I met in 1994 at a workshop on this irrelevant, no chance to succeed project called Python.
07:05 Fun fact, just before that, I was a Navy officer. I had the white uniform.
07:11 I was wearing the white uniform when I started Python.
07:14 Yeah, wow. Wow.
07:16 I run developer advocacy at JetBrains, and I get to spend my Friday with the four people that I just love the most.
07:24 This is so cool being with you.
07:26 This trailer and the documentary has just reminded me of all the joy that we get to be a part of and we get to give.
07:33 And so this is just really joyful.
07:35 It is always awesome to have you here, Paul.
07:37 Thanks for that.
07:37 Great to be here.
07:38 With you, Barry.
07:39 Hello, hello.
07:39 Hey, good to see everyone, of course.
07:42 Saw some of you at PyCon just recently.
07:44 Barry Warsaw, yeah, Paul, a long time ago.
07:47 Worked together for a while.
07:49 And I was very lucky because I had worked at NIST in Gaithersburg, Maryland.
07:56 Sort of my first gig, actually high school, college, and then my first gig coming out of college.
08:01 And so I knew people at NIST.
08:03 And I had actually seen mention of Python before that because I was a Usenet, if anybody remembers.
08:10 All the gray hairs will remember Usenet.
08:12 And Complank Python came up and I was like, oh, cool.
08:15 I was into languages, checked it out.
08:17 And it was all Monty Python jokes, which was awesome because I loved Monty Python.
08:22 But I was like, why is this in Complank?
08:24 What does it have to do with computer programming languages?
08:28 And sort of ignored it for a little while and then got an email from a friend of ours, Mike McClay and Ken Manheimer, who I think were still there at NIST.
08:38 And I knew them from my time there.
08:39 And so we went up for the workshop and met Guido and a bunch of other people who were like, yeah, okay, this is kind of a fun little hobby thing.
08:49 And then we decided we were going to try to take over the world.
08:51 And 30 years later, I guess we have.
08:55 In some actual real literal senses, I would say the number one programming language in a lot of ways and the number one language for AI, which is trying to take over the world in
09:05 its own right.
09:05 So actually, I was at the European Space Museum in the Netherlands and I saw the Mars rover and we're not taking over just this world, baby.
09:15 That's right.
09:17 Flask, it flies.
09:19 Well, no, we're actually on the rover.
09:21 That's what I mean.
09:22 Yeah, that's what I mean.
09:23 It's not just the flight plan.
09:25 Yeah, the flask for planning the helicopter.
09:27 I can't remember the name of it on my head, but you can go to GitHub and get the code.
09:31 You can.
09:31 Yeah, Python was actually used to process the video on the landing of the latest Marge rover.
09:35 I mean, it's pretty mind-blowing because like the story I tell is that we had people at that first workshop who explicitly said, you cannot tell people that we're here and that we're using Python because it's our competitive advantage.
09:47 And I mean, that was like, that was amazing that here we are fans of the language and just really just loved the way it kind of expressed our thoughts in a very direct manner.
10:00 And yet we couldn't tell people who was there because of that fact.
10:06 But that's not true today.
10:08 Everybody uses Python.
10:09 But that actually lasted a long time.
10:11 I remember when I was at JupyterCon.
10:15 Do you remember when that was in New York?
10:17 Was that 2016?
10:19 I think 2017, 18, 19.
10:22 17?
10:23 Yeah.
10:24 Somewhere around.
10:24 So maybe it was 2017.
10:26 Yeah.
10:26 The one I gave a little keynote at.
10:28 I can't remember which one it was.
10:29 I think that was 2017.
10:30 But I was there and work had me go talk to a bank, but I can't name the bank because they viewed Python as a competitive advantage still.
10:38 And so it's still, I don't know, in my timeframe of Python, a recent development that everyone can just say they use Python because it's no longer a competitive advantage because it's literally everyone's advantage.
10:50 So it kind of washes out.
10:52 But yeah, it lasted for a long time as that.
10:55 And now it's like you could name 20 banks in New York that use Python as their competitive advantage, all in different ways.
11:02 And it's not a secret anymore either, right?
11:05 Like Capital One being that big sponsor at PyCon US every year, it's just like, yeah.
11:09 I remember when that started, I came back from being in Europe for a few years and went to my first PyCon and I saw this big booth with Capital One on top and I'm like, what the absolute bleep?
11:20 Capital One is here and these consulting firms are here.
11:24 What happened to you, Python?
11:26 What's in your compiler?
11:27 that. That's good.
11:31 Thank you. Or should it be JIT? I mean, JIT is really where it's at these days.
11:34 They actually were sponsors of Talk Python. And I'm like, I don't really, I mean, as much fun as that was to say, I don't really want to just advertise credit cards. I want stuff that's relevant to listeners. And they're like, no, no, no. We want to advertise for our data science team. I'm like, okay, that's really cool. Yeah. Yeah. Richmond,
11:48 Virginia, they got a big team.
11:50 Just for the international audience, who's not from North America, Capital One has a very famous tagline in their ads that says, what's in your wallet? Hence the, what's in your compiler line.
11:57 And they say kind of in that, that gruff way.
12:00 Yes. Yeah, exactly. Like I think they dealt with Vikings and all sorts of different ways of pitching that line. Yeah.
12:06 Speaking of pop culture, one thing I wanted to talk about in this sort of history, anything that you see and Barry, you touched on this. I'm going to put a holy hand grenade scene with the killer rabbit up on up here just to look out, which is such an amazing thing. But if you look at all the logos and slogans and all this kind of stuff, it's all about snakes, right? Snake icons, snake logos.
12:31 But the original motivation for the language is actually Monty Python, not ball pythons, right?
12:37 I remember when the O'Reilly book was about to be published and I think we saw an early copy of it or something like that.
12:45 And they, O'Reilly, obviously, because they were animal themes, they wanted to put a snake on the front.
12:51 And I remember distinctly, maybe misremember, everything I say could be totally misremembered.
12:57 But I remember Guido saying, I don't want a snake on the front of it because people have a, some people have a diversion to snakes.
13:05 And I mean, it was just inevitable that that was going to happen anyway.
13:08 So I have a vaguer, similar recollection of, yeah, I mean, at least at the PyCon in 2000, like on US in 2003 was, yeah, I remember that comic going around too.
13:18 Cause learning Python's got the little mouse on it, but yeah, program Python has the snake.
13:22 And that's, I think.
13:23 If I give you a search for the worst book cover, internet programming with Python.
13:27 And so Guido joined with, oh, Aaron, what's his name?
13:31 Yeah, there we go.
13:32 Right there.
13:33 So zoom in a little.
13:35 It's a snake around a can of spam with glasses, with Guido's glasses on it.
13:40 And our graphic designer at Digital Creations at the time came up with this.
13:45 And I'm not sure if I'm proud of this story or not.
13:48 I think the story...
13:49 That's a fine looking snake.
13:51 Although it does bear a resemblance to a more frequently used emoji these days, honestly.
13:57 But you can imagine her face when I said, okay, what I want is a snake around a can of spam with European glasses.
14:05 And she did it.
14:07 So I have a question for the old timers in the group.
14:11 When did it become TwoSnakes?
14:13 I was actually part of the web, back when we called them webmasters, the web team for Python.org when the redesign was done, because that was also when they redid the backend, right?
14:24 Because that was the whole, we want to keep all the files static and all
14:28 that.
14:28 There's always an episode, isn't there, Michael?
14:30 There you go.
14:31 Right, that was one of the requirements Oz had, actually, because he was the big driver of the website back then.
14:35 It's like, I don't want to have a CMS back thing.
14:39 He wanted old files and was all like, literally with make files to generate it.
14:43 But yeah, I can't, I think there's literally just, they hired a graphic designer who also redid the backend at the same time and they went with it.
14:50 Because I mean, if you go back to that logo, I mean, that was back when there was a little pixelated snake as the icon, I think Windows was it.
14:57 So we were already kind of going with it at that point.
15:00 What year was that around?
15:01 Long ago.
15:03 This is all long ago.
15:05 That'd be like the rise of the PyCon.
15:08 So PSF was 2001.
15:10 PyCon was 2003.
15:12 So it was probably around that time of PyCon.
15:14 Yeah, probably the knots.
15:16 I think it was sometime during the knots, maybe.
15:19 This portion of Talk Python To Me is brought to you by the folks at Posit.
15:23 Posit has made a huge investment in the Python community lately.
15:27 Known originally for RStudio, they've been building on a suite of tools and services for Team Python.
15:32 Today, I want to tell you about a new way to share your data science assets.
15:36 Posit Connect Cloud.
15:38 Posit Connect Cloud is an online platform that simplifies the deployment of data applications and documents.
15:44 It might be the simplest way to share your Python content.
15:47 Here's how it works in three easy steps.
15:49 One, push your Python code to a public or private GitHub repo.
15:54 Two, tell Posit Connect Cloud which repo contains your source code.
15:58 Three, click Deploy.
15:59 That's it.
16:00 Posit Connect Cloud will clone your code, build your asset, and host it online at a URL for you to share.
16:06 Best of all, Posit Connect Cloud will update your app as you push code changes to GitHub.
16:11 If you've dreamed of Git-based continuous deployment for your projects, Posit Connect Cloud is here to deliver.
16:18 Any GitHub user can create a free Posit Connect Cloud account.
16:21 You don't even need a special trial to see if it's a good fit.
16:24 So if you need a fast, lightweight way to share your data science content, try Posit Connect Cloud.
16:30 And as we've talked about before, if you need these features, but on-prem, check out Posit Connect.
16:36 Visit talkpython.fm/connect-cloud.
16:40 See if it's a good fit.
16:42 That's talkpython.fm/connect-cloud.
16:45 The link is in your podcast player's show notes.
16:47 Thank you to Posit for supporting Talk Python To Me.
16:51 By the way, I'm already scared about the documentary about being wrong on so many dates.
16:56 Yes, I can imagine.
16:57 Because everything is related in my head to PyCons and where they physically were held.
17:02 And this is why if you watch the documentary, the opener is me asking Google, when was PyCon held in Montreal?
17:09 Because that's when I know I did something.
17:11 And it said 2015.
17:12 And I go like, what the?
17:14 Well, that was the deal.
17:15 That's why I went, what?
17:16 Because I realized I always started on even numbers at that point after we did the first three years in DC.
17:21 And we went to two years after that.
17:23 And I was like, what?
17:24 Anyway, I'm just waiting to find out multiple times in the documentary.
17:28 I said the year wrong because I got the date wrong.
17:31 So when it was, I know exactly which Python at what location, but I got the year wrong for when it was in that
17:36 location.
17:36 All right. So you're a Python attendees.
17:37 I already apologize.
17:39 There's a lightning talk opportunity.
17:41 Find all the errors that Brett had and make it into a lightning talk.
17:45 Yeah.
17:45 Wonderful.
17:46 If he just gets cut from the documentary entirely, it's just like it was just too much work to correct it.
17:50 You know what?
17:51 Yeah, there's too many asterisks in what Brett just said to throw up on screen.
17:54 We used up all the letters on corrections.
17:56 We can't do it.
17:56 Find all of Brett's errors so you won't look at ours.
18:00 Right?
18:00 Like Greg Paul.
18:04 There you go.
18:06 No, I think you guys were awesome.
18:07 And at least the trailer and the April 1st sort of thing.
18:10 That was really great.
18:12 So here, I want to throw this out here.
18:13 And you all tell me about the history of it.
18:15 Because I know it gets used all the time.
18:17 And I think it might be close to home.
18:19 I came for the language, stayed for the community.
18:21 That's probably why I was asking Google.
18:23 when Montreal was. Because yeah, that was 2014, as Carol just made sure I remembered correctly.
18:30 In Montreal, Diana Clark was the chair that year of PyCon. And she basically had a little bit of stage fright and just asked if, as a fellow Canadian, if I was willing to do the opening address. And I said, sure. I mean, she's just going to read slides. It's no big deal. And I was like, yeah, yeah, sure, sure. But I realized how much time they gave me. And I also realized how fast I talk because Thomas Hooters every year almost reminds me how fast I talk during my presentations. And I knew I was going to have some extra time at the end. And I was like, I'm going to say some stuff. I don't know what I'm going to say. I'm going to say some stuff.
19:05 Because like how often you get to, I mean, at that point, I hadn't given a keynote at PyCon.
19:09 So I was like, okay, cool. This is going to be like the largest stage I'm probably ever going to have. So I'm going to take advantage. So I did the opening and got through it. I had like, I can't remember five or 10 minutes to kill. And so I just started talking.
19:21 And as I was talking, that line came out of my mouth just to try to, yeah, thank goodness.
19:27 Yeah, to just express how I felt about the community, right?
19:30 And it was my way of kind of just saying thank you to the audience.
19:32 Because I also wanted to portray personal appreciation for what everyone had come represent to me.
19:37 And what hopefully the whole room represented to each other was.
19:41 The room is what makes Python and Python in general, not just the little piece of technology full of bits that we ship around the world and to Mars.
19:52 So, yeah.
19:52 So that's how that all came about.
19:53 That's awesome.
19:54 Yeah.
19:54 Just visit PyCon once and you realize how much humanity and how much people care and how much just
20:01 it is a community.
20:02 Yeah.
20:02 Barbara and Katie, I think Katie was involved, organized a workshop for kids and Barry's kid and my kid were there.
20:09 Oh, my goodness.
20:10 That's right.
20:11 That's right.
20:12 That's right.
20:12 I think about that, that community thing, it's really unique. And I think it comes from Guido, right? Like he brings this humanity to a cold technology, so to speak, right? But it's, it's something that I have felt, and I'm sure Paul has felt that since the first day, that first workshop, it just felt like we're just like hanging out and talking about computers and programming and stuff like that.
20:40 And I, some of my best friends still today in certainly in technology have been from Python community.
20:47 So yeah, I think it's definitely driven by Guido.
20:49 I mean, I have a very distinct memory from PyCon in Cleveland.
20:54 I've seen Guido get down on his knees to talk to a 12 year old saying, Hey, you, what have you been working on?
21:00 You want to show me like, oh, that's so cool.
21:02 Like, I mean, it's the creative of the language and he's just getting down to some little 12 year old.
21:06 just doing something. It just wants to just connect with that kid and just like have that conversation and just have that little one-on-one time and just, oh yeah, just show this grown-up what you've done and just show off and be cool and all that. And I think that really has Guido's approach to all this has really led to all this because I think Guido's approach made people similar to him, Paul and Barry and all of us on this call, gravitate towards this community and this language because of it. And it just becomes a bit effectively self-sustaining, right? Because the people who are not into this leave, right? They just don't like it. It doesn't match their view. And either they stay and stay quiet or they get vocal and leave because it just doesn't work the way they want it to work. And that's totally fine. Like I'm not no shade to anyone who's just not into the way the community functions, but I think it just becomes a center of gravity here.
21:59 to just bring more and more people who think and operate this way and becomes a thing.
22:04 And I think we've luckily hit a critical point here where we're able to self-sustain this kind of feeling because we have gotten large enough, but we also put in the effort because the people who get drawn in are to try to keep it feeling small and somewhat intimate and just this wonderful community we have.
22:20 So I think it's lovely that it's ended up turning out this way.
22:23 I've done some keynotes about Python and learning.
22:27 And I think it was baked into the language at the start, like the influence that ABC had and the, in particular, how readable the language is and the intention that, hey, you write code once, but you maintain it for a long time after.
22:46 And I think the language itself on some level is much more welcoming than a lot of programming languages.
22:53 And I think that coupled with the strength of the community and the education focus of the community, like you were saying, the kids workshops and stuff at PyCon, it's pretty cool.
23:06 And it makes it more inclusive by design.
23:09 On that point, Carol, I was reading, Michael put together show notes for us, and it reminded me of you winning the Frank Willison Award, richly deserved, and a wonderful guy he was.
23:20 And so I was doing some reading on that, and I came across an interview with Justin McKellar, and she was talking about her phase, which we might get to a little bit later, and that Guido showed up in 2015 on stage with Python is for Girls, a t-shirt saying Python is for Girls.
23:36 And he's done things like that repeatedly, like the call for a CPython core contributor.
23:42 And you leave from the front.
23:44 And the outcome is predictable when you see the origin.
23:49 I remember the first conversation I had one-on-one with Guido was actually he was on stage.
23:55 And I was like, will you sprint with PyLadies?
23:58 After Selina Dekelman kind of said, you need to tell people that I was actually at the language summit.
24:04 I just had to leave early because my baby needed to be picked up from childcare.
24:09 And I'm like, okay, this is exactly what I want to do.
24:13 Like tell the creator of Python, oops, you made a mistake.
24:16 And oh, by the way, will you sprint with PyLadies?
24:19 And he had that nice pause.
24:21 And then he was like, yes, I will.
24:24 And then I promptly went to the bathroom, was in tears, had a talk like the next talk schedule.
24:31 And Brett, do you mind if I tell the story?
24:33 No, no, no.
24:34 Okay.
24:34 So a few of the core developers came because I was giving a talk about how to contribute to core development, but not being a core developer. And after all of that happened, I was so nervous. So Brett was on stage wishing me well. And I'm like, can you just stand up here for a while just till it gets going? And then like the nerves were getting higher and higher. And I was like, will you hold my hand? And he said yes. And he's like, how long do you want me to stay up here?
25:03 I said, well, about five slides in, I have this young man who was my son in a bathrobe playing trombone. If I give you the thumbs up, you can sit down. If not, please stay. And fortunately, I was able to do the thumbs up, but I wouldn't have gotten to that place had it not been for Brett's kindness and support.
25:21 And it's something that, you know, it shows, A, who Brett is.
25:26 But, you know, there have been many, many things where people have given selflessly in different ways to so many different people.
25:33 And I think that's what I love about Python.
25:36 I think that also shows, I mean, thank you for the kind words.
25:41 I will say, I mean, I did that because, I mean, it's hard to talk in front of an audience.
25:45 And I learned that through my talks at PyCon.
25:48 And I think that also shows through the way conferences typically handle new first-time speakers too, right?
25:53 Like all the effort that goes in to try to have like open office hours and tutorials and letting people come in and putting an emphasis to let first-time speakers come and do all that stuff, right?
26:03 And I think that also kind of is a good showing of how the community, once again, really does try to lead based on how we set us off moving forward of trying to be welcoming and open and just great place.
26:17 I will also say, though, I think the humor of the language also has really helped.
26:22 And I think the Fluffle could probably speak well to that.
26:25 We're going to have a performance.
26:26 We're going to have a performance that remixes some awesome programming and some humor.
26:30 And it's really good.
26:31 Actually, before we get to that, though, I want to focus on a different story, which I just delighted me to no end.
26:38 And that's when I first got into Python.
26:40 And that's you can open up the REPL, or I guess you could write it in a Python file, but I'm not sure why you would do it.
26:44 But you can type import antigravity.
26:47 And I heard about import this.
26:49 I'm like, what is this anti-gravity?
26:50 So first of all, there's this XKCD joke comic that said, there's a person flying and says, how are you flying?
26:57 It says, Python.
26:58 I learned it last night.
26:59 Everything's so simple.
27:00 Hello world is just print.
27:02 Hello world.
27:02 I know.
27:04 I don't know.
27:05 Dynamic typing, white space.
27:07 Come join us.
27:07 The programming's fun again.
27:08 It's a whole new world.
27:09 But how are you flying?
27:10 I just typed import anti-gravity.
27:12 I think it's the Python, right?
27:13 Well, there's the comic.
27:15 And then there's, well, actually, let's just add that as a feature to the language, right?
27:19 Imagine getting that into Java.
27:20 No, if we could just make that to be the most popular Python XKCD comic again, and not the one about environment management.
27:26 It's funny because fun is such a big part of programming.
27:30 I think that gets under-recognized and play.
27:33 And I've been programming since I was a fifth grader, growing up in the shadow of Bell Labs on a mainframe, and got to program on some of the first Apple computers, which was absolutely mind-blowing because it was all this exploration. And Luciano Romulo, he and I have had lots of conversations on this. But Python, fast forward many, many years till 2012, because that was probably 1977 or so when I was using the Apple. Python gave me that same fun and exploration. And I'm like, this is so cool. And it's a joy to program in. And I'd have done C, C++, and I love C, C++ not so much, and Java and other languages list. But Python was the one that it was like, this just gets out of my way and lets me create. And I think that's fun
28:26 at whatever level you are as a developer. That translates into the development of the language itself and the fact that you can, and this comes back to the whole community thing as well.
28:37 You can't have a language that is not only vibrant for 30 years, but in some ways at its peak 30 years after its inception and will probably be so for another 10 or 15, 20 years.
28:52 Because it's so welcoming to bring people into the development of the language itself.
28:57 And you can choose how to be involved in Python and move it forward.
29:03 It's not some nameless, faceless committee that is pushing Python forward.
29:09 It's just people like everybody else who have their own itch, want to have some fun and dive in.
29:15 And that was something that Guido was always very adamant about, is that the implementation was very approachable, just like the language and just like the community.
29:24 So it's what keeps it alive for everybody.
29:28 This portion of Talk Python To Me is brought to you by Agency.
29:31 The agency, spelled A-G-N-T-C-Y, is an open source collective building the internet of agents.
29:38 We're all very familiar with AI and LLMs these days, but if you have not yet experienced the massive leap that agentic AI brings, you're in for a treat. Agentic AI takes LLMs from the world's smartest search engines to truly collaborative software. That's where agency comes in. Agency is a collaboration layer where AI agents can discover, connect, and work across frameworks. For developers, this means standardized agent discovery tools, seamless protocols for interagent communication, and modular components to compose and scale multi-agent workflows. Agency allows AI agents to discover each other and work together regardless of how they're built, who built them, or where they run. And they just announced several key updates, including interoperability with Anthropics, Model Context Protocol, MCP, a new observability data schema enriched with concepts specific to multi-agent systems, as well as new extensions to the OpenAgentic Schema Framework, OASF.
30:40 So are you ready to build the internet of agents? Get started with Agency and join Crew AI, LangChain, Llama Index, BrowserBase, Cisco, and dozens more. Visit talkpython.fm/agency to get started today. That's talkpython.fm/agency. The link is in your podcast player's show notes and on the episode page. Thank you to the agency for supporting Talk Python To Me.
31:03 I'll give a case in point from a couple of hours ago involving Barry.
31:09 Some interpreters which have taken the most circuitous path in history possibly, and Barry gets to announce the proclamation a couple of hours ago.
31:20 I don't know if you've noticed, but when the steering council comes out with an acceptance, it's always me.
31:26 And when it's a rejection, it's always somebody else.
31:29 So it's like, I only do the fun.
31:31 I'm kidding, but it's kind of fun.
31:34 I was just thinking about the fact that girl's comment about how she got to work on the early Apples.
31:39 And I got started on Apple IIs and Apple Basic.
31:44 And I remember Windows 3.1 shipping with QBasic in and having the Gorillaz game shipping.
31:49 oh, I can play with the gravity constant and make the bananas do crazy stuff, right?
31:54 And I think we were fairly lucky, as Barry says, the language is old, but it's hitting its prime, you could argue now, or it's perpetually always hitting more of its prime as time goes on.
32:05 But I think we also were very lucky in terms of timing because I think the language had a certain level of maturity when the internet had its maturity, right?
32:13 And because it was also one of these languages that's easy to pick up and get going with, we were at the right place at the right time for when oh yeah programming you can get into it and kids and other people just wanted to start trying out this whole programming thing and it wasn't just that weird corner of the bookstore that had like five books about programming at the time and so i think we just yeah really lucked out with the timing here where it's like oh yeah you want to learn programming yeah there's this thing called python go install it it's got its own little editor and blah, blah, blah. Before, like, downloading an editor wasn't just called Borland or whatever.
32:48 And so I think, yeah, the timing just was perfect for us to land right when we did and have the maturity level that we did in order to be useful to people but so easily accessible and to carry us forward to where we are now where it's like you still have a plethora of options. You can download a bunch of different editors whether it's PyCharm or what have you.
33:06 You can get what you need, but the point is the language is still there and still available. And I think it's allowed us to continue to be very accessible to people. And that's, I think, also played into this.
33:15 I have a theory of the case that features the three of you. How convenient. So I divide Python into three thirds. And as I was joking backstage, Python has many thirds. Brett says we'll get to nine thirds. The first third was like Guido opens a file.
33:29 I'm curious, was it Emacs? Did Guido open YOLO.C in Emacs?
33:35 Yeah, he was an Emacs user.
33:38 Guido opens the file, and then I'll say the first third for me ends, we'll say, 2002.
33:45 Why?
33:45 Dot-com bubble bursts, and so it's kind of the end of an era.
33:49 And it is the beginning of the PSF, which started in 2001.
33:55 And the end of that episode we'll refer to as the Python software activity.
34:03 And for me, it's also personal.
34:06 Well, it's when I left my company and moved to Europe.
34:08 Now this next third, the first third is interesting 'cause that's Barry was there at the beginning of the first third.
34:14 Second third is the rise of the PSF gave the ability to have the rise of PyCon and PyCon became this engine of change and growth and money.
34:27 And I'd say the end of the second third, I'll put it at 2012, 2013, and it finishes with the rise of diversity.
34:36 And I was reading up about Jessa McKellar and the years that that all went down.
34:40 It went from 1% speakers to 3% speakers to 10% speakers to 38% of the speakers were women.
34:47 And she was a director 2012 to 2014.
34:52 And Carol was a director in that time frame.
34:55 And I think from history, she got you kind of hooked into the world of Python organizing.
35:01 She absolutely did.
35:03 We were both volunteering on a project, which was a nonprofit called OpenHatch that helped people make their first contributions to open source before there were guides on GitHub or anything else.
35:16 What I think people don't see with that rise is the amount of effort Jessica put in behind the scenes, because there were a few of us one year when she was really busy that we kind of filled the gap for her.
35:28 But she sent hundreds and hundreds of personal emails out to many, many people across the ecosystem. Have you thought about talking about doing a poster, doing a lightning talk, doing the we'll help coach you? And some of it happened on the PyLadies Slack. Some of it happened on IRC with OpenHatch. And it was very intentional.
35:51 And I think the thing that she did was she measured the impact that she was trying to make.
35:57 And I think that really, I think it gave that momentum.
36:01 So I blame her for anything that I have done in Python, because that's where I learned Django.
36:08 And I just adore her.
36:10 I've conveniently chosen the second, third to kick off with Brett.
36:14 So around 2002, 2003 was when you started entering the scene and you got involved in the PSF.
36:21 And I'd say that the finishing with the diversity in that third, it wasn't just gender diversity. Python became a globally diverse outfit with things like PyLadies Drive and stuff like that. And then that became the engine for the third third, which was data science and then AI.
36:38 Before you go on to your third third, I think the second third also, it should be pointed out the diversity technically as well, because Jake Vander Plaats gave a great Python as a mosaic keynote. And people are, yeah, people are coming from all different places, data science, also brought in a bunch of scientists and just programmer curious people. You wouldn't get that at like a C++ conference. And I think that happened as part of the 2012 revolution and stuff.
37:05 So if we say to 2013, 2014, 2015 is the start of the next third and the start of data science and then Jupyter
37:12 arrives on the scene as this great democratizing force.
37:16 Carol becomes PSF board director and then things just really take off from there.
37:21 And it kind of needed the diversity from the second third to be the engine to bring in this group of people called data scientists who didn't think there were programmers.
37:30 So it's the entire new class of Python community.
37:34 Hey, what do you think? Did the three of you buy my thirds?
37:36 I think we're into a fourth third.
37:38 I'm curious what the next third is going to be.
37:41 Yeah. What's the fourth third going to be there, Paul?
37:44 In reading about Jessica, she got into Python because it twisted.
37:47 And it just turns out Glyph wrote a blog post today about AI.
37:52 So AI and Python are a interesting and contradictory, complimentary frenemy.
37:58 I don't know. You call it.
38:00 Surely.
38:01 It's one of those things. I've seen lots of paradigm shifts in tech. And I talked about this when I keynoted EuroPython. But I think AI is here to stay. Now, granted, AI was also here when I was in grad school in 1988. But we never had the compute power that we have today.
38:18 So I think I'm sort of in the camp of there's bad and there's good, which is the same thing when the internet sort of and the web sort of started. There was those feelings of bad and good. And over time, you kind of settle into, okay, what are these innovative ways we can use it that don't cause harm? And how do people benefit? Because I think it is a pretty good brainstorming partner.
38:45 Would I want to give it all of my security credentials and say, go deploy this application for me? No, not today. Maybe not ever. But I think there's going to be exciting stuff to come out of it. And I think it's going to be that tension between, hey, this is great or, oh, what about maybe not so much. And that will finally propel us forward to better things. So stay tuned.
39:11 Totally. And people forget, or they maybe never knew, there was a time in the internet where people would not put their credit card on to buy stuff because they were freaked out about it. And now I can hardly find stuff at a store. I have to buy it online because it's the only place it exists anymore. And there was Super Bowl ads with just weird dot coms, just burning money, just with no business model whatsoever. Like unlike, even unlike today, it was just completely crazy like monkeys dancing and stuff
39:39 i read today pets.com did their ipo and went out of business nine months later i
39:45 remember when java had super bowl ads oh wow the old sundays maybe of course it would be ibm i
39:51 very distinctly remember they had an ad where they had like a big like sphere in the middle of a conference room table with a dot and dot com and it's like somehow like activated like blew all the people back from their in their chairs from the table and it's just like it was a wild time.
40:07 This is not a history.
40:08 This is the future.
40:09 Yeah.
40:10 The last three words of every prompt.
40:12 It's going to be interesting.
40:13 Like, I think that's the crazy thing about all this is not only is Python being used to help derive this AI stuff, but the AI is also being used to generate Python code.
40:22 And actually it's a benchmark now for these things, which also plays into the whole, how does Python keep going forward and keep reaching its prime?
40:29 Well, you have the new tech actually literally make it for you now.
40:33 But yeah, it's going to be interesting.
40:34 And I think this is going to be a good example of how this tech is going to keep up.
40:40 But we also don't need to go down the AI rabbit hole.
40:42 The thing that makes me confident and excited and exhilarated is the stuff Carol's doing and Sarah Boyce and other people.
40:49 Where in order to stay healthy, Python's a hundred year project at this point.
40:53 Python's going to be around for a long damn time.
40:55 And so you need the next generation and the generation after that.
40:59 And Barry and I mean, there are multiple generations of heroes after us represented in this call.
41:06 And then Carol's help raising the next generation.
41:08 I meet some of these people at PyCon, obviously Dawn, but then meeting Velda and Abigail and some of these other people.
41:15 And my goodness, you can just see, wow, there's some energy here.
41:20 It all goes back to the start and things propagate out.
41:25 And I think Python, much like a network or a web, has really exploded in all different directions.
41:33 And I think some of the work that Barry's been doing with packaging, I have a lot of strong feelings that that's going to make it propagate out even more.
41:42 And apologies because my network decided today would be the day it was going to be super flaky.
41:48 So I've missed a bunch of the conversation.
41:51 But what I think is super important is that those new generations, those younger generations that are coming into Python are going to make Python part of their vision.
42:02 What Python is today is sort of like what myself and Brett and Carol and Paul, like our generation made Python to solve the problems that we had and to be part of our vision.
42:16 And if nothing else is true 10 years from now, five years from now, two years from now, Python will be something else.
42:23 And there will be other people coming in making Python what they envision it to be.
42:30 And I think that's actually what keeps it alive and keeps it vibrant.
42:33 Like you said, Paul, it's a hundred year project and every generation is going to come into Python and say, and it's always been that way.
42:40 It's always been a grassroots thing.
42:42 Like you think about like async, async, right?
42:45 First, we just needed yield.
42:47 And then we needed sort of co-routines.
42:50 And then those became async.
42:51 And so that didn't come from the top.
42:55 It didn't come from some committee.
42:56 It came from somebody who sort of said, I see what Python is today.
43:00 And we could just do this little thing and move it in that direction.
43:04 And it'll be really cool.
43:05 And that's what keeps it alive.
43:08 So I'm super excited to see what the next generation comes up with.
43:12 I'm as well.
43:13 And I think those kinds of things you're pointing out, Barry, I think it's the choice of do I go to and do I give up on working here in this community, in this language and go to another technology because I need something else somewhere else?
43:26 Or do I somehow add it to Python so that I can stay here and keep building with this language?
43:31 Right. And I think that's really nice.
43:33 Keeps it healthy.
43:33 Yes.
43:34 I think this is a key point that I think some people miss is to why do we keep evolving the language?
43:39 Why can't we be nice and stable like some of the languages?
43:42 At least that's how some of you like to phrase it.
43:44 Like, why aren't we more of a go or more of a Java where we evolve slower or make fewer changes?
43:49 It's like, well, our flexibility in moving with the times is, I think, helped keep us relevant.
43:55 And hence why we have this baked into the community of like, no, we all evolve.
43:59 We all grow.
44:00 We all continue to learn new things and language goes along with it.
44:04 Gary, I think Larry Wall has a quote.
44:06 Pearl is unreadable and ugly because people wanted it that way.
44:10 I call it a write-only language.
44:13 I got a phone.
44:13 Let's talk the Xenopython here, because I think that that comes up a lot.
44:18 I mentioned import this, and if you're in a REPL and you type import this, then you get the Xenopython by Tim Peters.
44:25 We also have someone in the audience who's musically inclined and has done something pretty awesome with this.
44:31 So somebody tell us the story of import this and the Xenopython, and then I'll play a little song, a song version of it for everyone that buried it. There
44:41 are definitely blog posts. I think Quido did one and I did one about how import this came to be. I think we were looking, I can't remember what year it was, but we were looking for a motto or catchphrase for a PyCon at one point or it might, yeah, I think it was a PyCon.
44:59 And so we actually solicited input from the community. And I think we literally got 500 entries, probably 98% of which were just terrible. But we had no way of choosing from that list.
45:18 And I remember Tim Peters. So this had to be Python Labs timeframe. But Tim Peters said, here's what we're going to do. We're going to take that list. I'll split it in half, and then I'll pass it on to somebody else. And then you split it in half and pass it on to to somebody else. And I think Tim and I were the only ones left that actually wanted to participate.
45:40 And we got down to the last couple and we, and import this had gotten pretty far down, but it wasn't one of the last choices. And when we ended up with the last choice, we said, oh, that's, that's really bad. We're going with import this. So, so that's how, that's how the import this thing. And then of course, once we came up with that, we're like, oh, well, we've got to add a this module.
46:04 What's the, this module going to print when you actually import it.
46:07 And so it was, we had to come up with the Xenopython, but we had to obfuscate it just a little bit.
46:14 So it was rot 13.
46:16 And I think we actually may have turned off some version notifications.
46:23 And then because we wanted it to be an Easter egg.
46:25 So we committed it and didn't, didn't notify anybody and then turned it back on and just waited to see who would, when, when somebody would find it.
46:34 So that was kind of the story of Import This.
47:03 Beautiful is better than ugly Explicit is better than implicit.
47:09 Simple is better than complex.
47:14 Complex is better than complicated.
47:19 Flat is better than nested.
47:22 Sparse is better than dense.
47:28 Readability counts.
47:34 Special cases aren't special enough to break the rules Although practicality meets purity Errors should never pass silently Unless explicitly silenced In the face of ambiguity Refuse the temptation to guess There should be one,
48:03 preferably only one, obvious way to do it Although that way may not be obvious at first, unless you're Dutch Now is better than never Although never is often better
48:34 than lying down If the implementation is hard to explain It's a bad idea
48:51 If the implementation is easy to explain, it may be a good idea.
49:05 Namespaces are one.
49:08 Aren't they a great idea?
49:12 Let's do more of those.
49:19 Very nice.
49:20 I love it.
49:21 That was awesome.
49:22 That's really good.
49:23 It reminds me of the band Tribe, who played this song called Super Collider, about the Super Collider being built in Texas out in the 90s.
49:30 And I just, I love that song.
49:31 It brings back some memories.
49:33 Oh, thank you.
49:34 That was supposed to be done for, so the idea.
49:36 Did you do the vocals?
49:38 Yeah, I did do the vocals.
49:41 Yes, I did.
49:42 I did.
49:43 Well, thanks.
49:45 They were good.
49:46 I did the whole thing in my little studio.
49:48 I have my liner notes up on my web webpage. But, you know, we were supposed to do that, so we have a lot of very musically inclined Pythonistas, and so the idea was we were going to produce a record, like an actual vinyl, for PyLadies. And so we all kind of went off on our own and worked on stuff, and I agreed to do it and had promptly forgotten about it until I think like 10 days before it was due. So then scrambled and stole Tim's Zen of Python for the lyrics. And of course, that was the year of the pandemic. So there was no PyLadies. And we were all so sad because I thought it was going to be really cool. I mean, everyone came up with some really great music for it. So anyway.
50:36 That was good. We'll put it on the podcast. How about that? It'll get out there in the world.
50:40 Thank you. Thank you.
50:42 We're getting short on time here. We're coming up, honestly, if we all had the time and maybe snacks and a beer or something or coffee. We could do this for hours, but we are getting in probably the time where we should wrap it up a bit. And I think we would be remiss if we didn't talk about Python 2 to 3. What are you guys saying? It was a tough story for a time, but I think it's in the past. I think we're all good. Everyone's rowing in the same direction. But I think just as an important historical note in the evolution of Python, that was one of the bigger challenges as it turned out to be. Who wants to riff on this? I
51:19 think we actually, maybe we did it a little late, but like we couldn't do it today. There's just too much Python code out there today. So in a sense, I think we did it at just the right time, as painful as it was and as long as it took.
51:32 I'm certainly super glad that we did because we got rid of a lot of warts and we really improved the implementation, the language, but we had to do it. And if we had done it any later, I don't think Python would be what it is today.
51:47 It would be impossible to do it today.
51:49 So yeah, mostly I think in hindsight, we can now say it was a success, but.
51:56 Yeah, I was, I, especially on my other podcast, Python Bytes, I really tried to carry the water for it.
52:03 I referred to Python 2 as a legacy Python for years.
52:07 So much so people gave me bad comments about it.
52:09 I'm like, I don't care.
52:09 I'm still doing it.
52:10 They're like, don't make me feel bad about it and working in.
52:12 Like, I understand what you're saying, but let's all get together and like, let's just get this forward.
52:17 Go forward.
52:18 Come on.
52:18 Barry's words are also slightly colored as the release manager for Python 3.0.
52:22 So take everything he just said.
52:24 Oh, five, I think.
52:26 I think we were two six.
52:27 I don't remember, but we did them at the same time.
52:29 And then then we told people don't use Python 3.0.
52:32 We were like, I think that was like the shortest length of time before the next release.
52:38 I feel worse for six months.
52:40 I feel worse for Benjamin Peterson because he showed up.
52:45 Oh, bless his heart.
52:46 He showed up on the scene and online.
52:49 He was like so smart and he communicated really well.
52:54 And then he showed up at PyCon in Chicago.
52:57 I think he was 15 and his mom had to drive him to the conference.
53:01 And we gave him Python 2.7, not knowing that he didn't have to do it for 10 years.
53:08 But he did it great.
53:09 He was absolutely a superstar for that.
53:13 One of the interesting things of 2 to 3 is probably like 2012, I started seeing Scientific Python and I was working on Django and Scientific Python.
53:26 And the more I started working with it, the harder it was because if you're trying to teach it to somebody, you had to do it.
53:34 Well, if you use 3, you do this.
53:35 And if you use 2, if you do this.
53:38 And oh, by the way, if you're using Windows with 3 or, and it became just super complex as an instructor.
53:46 And then I think it was around the latest part of 2014, the scientific Python community sort of put a stake into the ground and said, we are moving to Python 3 exclusively and kind of had a deprecation of we will no longer support 2.
54:06 And I think that that I think was a catalyst plus the growth of the whole scientific and data science ecosystem and notebooks and things like that kind of pushed us up.
54:19 But I know Brett, I think, was the one that made the tracker of how many Python packages
54:26 still or the top 300 or something.
54:28 Was it you or was it somebody else?
54:30 It was somebody else.
54:31 I didn't do the website, but I wrote, can I use Python 3?
54:34 the tool that you could use to do the calculation that it used behind the scenes. I didn't do the website. Yeah.
54:40 But that was super helpful because you'd get up on talks and say, okay, we used to be here and now we're almost got it completely green.
54:50 I had a similar kind of educational rough spot with two to three as well, because while I was at my alma mater, while I was doing my PhD at University of British Columbia, they were also looking at changing their intro language and they're considering Python, but it was during the transition.
55:04 So they didn't know, should we be teaching Python 2?
55:06 Should we be teaching Python 3?
55:07 Well, we don't want to teach the old stuff that the new stuff's coming, but the new stuff was still a little too rough.
55:12 So they went to Racket.
55:13 So we missed out on that one.
55:15 But I agree with Barry.
55:16 I think it was worth it, right?
55:18 I think switching to Unicode and all that was the right call.
55:21 I think that's definitely helped probably with our international reach and allowing people internationally to use the language in a better way and allowing people to use Unicode in their variable names, right?
55:33 That's a Python 3 thing that you can just do that innately without having to declare the little coding cookie, which I'm willing to bet most people don't know what is anymore because you don't care because it's all just UTF 8 now. And if you're not laughing now, I can tell you're too young to know what the heck I'm talking about. But I think that's the other thing too, is also we're all starting to meet core devs who never use Python 2. They don't know what the heck it is. They're literally people who are joining us like, I've never written Python 2 in my life. I just know it's a thing.
55:57 They hear stories and whispers in the back dark corners of conferences of what the transition was like.
56:03 I don't know what you're talking about.
56:05 I never used Python 2.
56:06 I jumped straight to 3 when I started.
56:08 And either they knew 2 existed but didn't worry about it before EOL'd or they didn't use Python until after Python 2 reached the end of its life in 2020.
56:17 And they just don't know what the heck we're talking about.
56:20 So it was rough.
56:21 I think it was, as Barry said, it was worth it.
56:23 I have a different perspective.
56:25 Python 3000 started right at the moment that my company's project was killing itself in a two to three transition.
56:33 And so I hear about horror stories.
56:35 I'm like, you call that a horror story?
56:37 Come on.
56:38 I coded uphill both ways to school.
56:41 It was below zero.
56:45 I had to write two different ways in the same code base.
56:49 There's another thing that's kind of funny because I have a slide deck that I've given this talk a few times and it goes through like the Python.
56:57 I think it starts at like 096 or 098 or something like that.
57:01 And I downloaded every tarball I could find.
57:04 Couldn't build a single one on a modern system without changes.
57:08 But I dug out all the change logs and news files and things like that and all the announcements.
57:14 And you find such really super interesting nuggets in there.
57:18 Like Guido just changed operators, the quality and comparison operator, and just said, fix your code.
57:26 No backwards compatibility.
57:27 no from from future thing just like plus i i've changed a bunch of other things it's up to you to figure it out so like those are things that we could get away with way back then or guido could at least you can get away with that stuff today you got to think about it's going to take five years for this to get through the community and there's backwards compatibility and we can't deprecate this thing
57:47 hey carol on barry's point about timing is it safe to say that when ipython notebooks were really ramping up around 2016, 2017, that they were all Python 3 by then, that that whole audience. The
58:00 code base was, but I think the kernels, there was still a language kernel for two and a language kernel for three. And I think it was shortly after that, that we dropped the two kernel. There was a transition period and I'm not quite sure on the dates now, but I mean, that was where the benefit of JupyterHub and later Binder came because we could kind of easily push out three to students and research institutions and not have to deal with two at all because they didn't need to set up their own environment.
58:35 They could have a backwards compatibility.
58:37 Four-letter word for you all.
58:39 Painful.
58:41 Yeah.
58:41 For those of you who don't know the story, Google's word for added keywords in a bug fix release.
58:48 Yeah.
58:49 Basically, Guido went, oh, how hard can it be?
58:51 who's using true and false with capital letters as their constants anywhere?
58:55 It'll be fine.
58:56 And so in a bug fix release, we made it a keyword.
59:00 And obviously the world kind of blew up a bit at the time.
59:04 I was assigning true to one and false to zero.
59:08 I think it was made a keyword in 2.3.
59:10 Michael's going to start flicking the lights and getting the band to play the game.
59:14 We were adding it to what was to become 2.3 and said, we'll just backport it as symbols in built-ins.
59:21 literally true equals one and false equals zero.
59:25 And it was like, man, that'll be fine.
59:27 Yeah, that wasn't fine.
59:29 But it was an important lesson.
59:31 We all learned an important lesson.
59:33 How to break all the software in the world at once.
59:36 I'm glad we're on the other side, though.
59:37 We all did learn lessons from the two to three transition that we will never repeat ever again.
59:41 Just a final thought.
59:42 I'll let Paul go first this time.
59:44 How's that?
59:44 As this rollicking episode showed, episode one of a hundred in the series, Python is full of great software, but it's also full of great stories and great people, different timelines and periods.
59:59 And it's going to keep going on forever.
01:00:01 You be one of those stories.
01:00:03 If you're sitting out there listening, get involved.
01:00:06 It's the most joyful thing you could ever do to start participating.
01:00:11 And then after a few years, you find that you're someone like Carol, who's raising up the next group.
01:00:17 Get involved.
01:00:18 It'll be the best thing you ever did.
01:00:19 Great advice.
01:00:20 You start nervous and feeling out of place.
01:00:21 And then all of a sudden people are looking up to you and you're like, how'd that happen?
01:00:24 Yeah.
01:00:25 All right, Carol, I feel like that's a perfect pass over to you.
01:00:28 Yeah, it was like everything that was in my head just went out of my head.
01:00:31 So thank you, Paul.
01:00:32 Good job, Paul.
01:00:33 Yeah, good job.
01:00:33 The biggest thing that I would like to say is express my gratitude to Guido for having the inspiration to begin a language and everybody else who has participated in creating it, evolving it, using it, it's really truly changed how people learn around the world and how they do research. And that's incredibly rewarding to see. And if I'm going to shill something for the next generation, there are people like Mariota and others that are really working hard on High Ladies Con. I was fortunate enough to sponsor it the first two, and I will again the third.
01:01:16 But I highly encourage other people, sponsor, attend.
01:01:21 It really is fantastic content and really lets you see how it's being used globally.
01:01:27 And thank you, Michael, for having all of us.
01:01:29 Oh, yeah, you're very welcome.
01:01:30 That's my pleasure.
01:01:31 Barry.
01:01:32 I would say, A, always have fun.
01:01:35 C, always be curious.
01:01:37 And if you follow your joy, you will not go wrong.
01:01:41 As Paul and Carol and all of us, I am so deeply grateful for having tripped into Python 30 years ago. And it gave me a life. It gave me a career. It gave me unbelievable friends and community.
01:01:58 And to anybody thinking about getting involved in Python, not just using it, but moving it forward and getting involved and contributing back, you can do it. You don't have to be a C guru. You don't have to know. You can get into the Python side of things. You can get into the governance side.
01:02:14 You can get into the documentation side, the community side. There are so many avenues into the world of Python. You can do it. And there are people who will help you and guide you, the wonderful people here. So don't feel like it's something unattainable. We're all just kind of like normal people who just kind of like add some fun so you can do it too.
01:02:37 I think one of the really inspirational and maybe unexpected things, as you guys were touching on before, is there's not a big company behind this.
01:02:45 It's just people who are doing something funky and different and loved it.
01:02:49 And it's taken over the world.
01:02:51 And how incredible is that?
01:02:53 Who would have seen that coming?
01:02:54 Before open source was like, obviously, the thing of the day.
01:02:58 All right, Brett, final word.
01:02:59 Yeah, this is hard.
01:03:00 Jeez, I didn't want to go last after all those phrases because you all stole the ideas one by one.
01:03:05 Yeah, I mean, really.
01:03:07 kind of what Barry just touched on, but I think everyone's touched on is just the thanks to the community for making this what it is. I mean, I know we all played our part, but so did a whole bunch of other people and all the millions of users of Python, which still blows my mind to say, and no, I'm not off in that measurement. I've all played their part in making the community what it is. And I became a dad last year and it, I mean, all the parents will say it changes how you view things. But for me, the way it's changed my view of Python is, A, I can say when my kid comes across Python, not if, and it won't be my doing, it'll be school, which still once again blows my mind. But that if they were to come to me and say, A, I want to try participating in the Python community, I feel extremely luckily and privileged to be a part of a community where I could say, okay and not have to think twice about it right i don't think we all quite realize how lucky we are to have that in this world especially the way things are today and so a big thank you to all of you for giving my kid a place hopefully i don't know maybe 10 years i don't know how long it takes for for the kids to get into python these days but for them to have a place to come and i can not have to watch over their shoulders about what they're dealing with online in that community so thanks to all of you and that as i said that includes all the millions not just the people
01:04:27 Very well put. Thank you all for sharing the history. Oh, well, you know what?
01:04:31 Let's make you be the last person for once.
01:04:33 Okay. Okay.
01:04:34 Okay. I see how this works. No, I appreciate that. Well, first of all, I can tell you that I've had a similar experience, Brett, with my kid, and that was not with the Python community, and it didn't go as well as you would think. And I've told Carol the still story, but I haven't talked a lot about it. I'm not going to go into it because we're out of time, but that story connects with me. Let's say that. I'll close it out with this. I don't know if it makes sense or if it's fair, but I do think it does to imbue human characteristics into languages.
01:05:03 But I think Python is a compassionate language. I think it welcomes beginners. I think it doesn't try to scare you or its community is not full of people who try to impress you with how hard the thing they did is to understand, right? Like, yeah, yeah, that's a void star star, but we're cast into this other thing at runtime. You know what I mean? Like, cause it's templated. Like, No, no, it welcomes people.
01:05:28 It's built to be welcoming, but it doesn't stop once you get started, right?
01:05:32 You can just keep growing into it.
01:05:33 And I think that's honestly the magic of it.
01:05:35 I think, Michael, you deserve credit for so many years stewarding so many different people, how they're using Python, sharing them, giving them a voice.
01:05:48 Because when I first came into Python, it was like, yeah, the language is really cool and gets out of my way.
01:05:54 But it was this playground of thousands and thousands of packages that you could do anything.
01:06:03 And I used to say, hey, folks at this community makerspace and five lines of code or less, you can do all these cool things.
01:06:11 And I think you're highlighting those cool things means a lot and contributes a lot to the health of the community.
01:06:16 So for that, I thank you.
01:06:18 Thank you very much, Carol.
01:06:19 Thank you, everyone.
01:06:20 It's honestly an honor to do it.
01:06:21 It's cool.
01:06:21 Cool.
01:06:22 With that, let's say goodbye.
01:06:24 Bye, everyone. Thanks for being here.
01:06:25 Bye, everybody.
01:06:26 Bye.
01:06:28 This has been another episode of Talk Python To Me.
01:06:32 Thank you to our sponsors.
01:06:33 Be sure to check out what they're offering.
01:06:34 It really helps support the show.
01:06:36 This episode is sponsored by Posit Connect from the makers of Shiny.
01:06:41 Publish, share, and deploy all of your data projects that you're creating using Python.
01:06:45 Streamlit, Dash, Shiny, Bokeh, FastAPI, Flask, Quarto, Reports, Dashboards, and APIs.
01:06:52 Posit Connect supports all of them.
01:06:54 Try Posit Connect for free by going to talkpython.fm/posit, P-O-S-I-T.
01:07:00 And it's brought to you by Agency.
01:07:03 Discover agentic AI with Agency.
01:07:05 Their layer lets agents find, connect, and work together, any stack, anywhere.
01:07:10 Start building the internet of agents at talkpython.fm/agency, spelled A-G-N-T-C-Y.
01:07:16 Want to level up your Python?
01:07:18 We have one of the largest catalogs of Python video courses over at Talk Python.
01:07:22 Our content ranges from true beginners to deeply advanced topics like memory and async.
01:07:27 And best of all, there's not a subscription in sight.
01:07:29 Check it out for yourself at training.talkpython.fm.
01:07:33 Be sure to subscribe to the show, open your favorite podcast app, and search for Python.
01:07:37 We should be right at the top.
01:07:39 You can also find the iTunes feed at /itunes, the Google Play feed at /play, and the direct RSS feed at /rss on talkpython.fm.
01:07:48 We're live streaming most of our recordings these days.
01:07:51 If you want to be part of the show and have your comments featured on the air, be sure to subscribe to our YouTube channel at talkpython.fm/youtube.
01:07:59 This is your host, Michael Kennedy.
01:08:01 Thanks so much for listening.
01:08:02 I really appreciate it.
01:08:03 Now get out there and write some Python code.
01:08:22 *music*