Every year, the PSF and JetBrains team up to do a Python community survey.
The most recent one was fall of 2021. For this episode, I've gathered a great group of Python
enthusiasts to discuss the results. I think you'll really enjoy the group discussion on this episode.
You have Gina Houska, Emily Morehouse, Tanya Sims, Brett Cannon, Jay Miller, and Paul Everett
here to help us with the episode. This is Talk Python to Me, episode 374, recorded June 30th,
2022. Welcome to Talk Python to Me, a weekly podcast on Python. This is your host, Michael Kennedy.
Follow me on Twitter where I'm @mkennedy and keep up with the show and listen to past episodes
at talkpython.fm and follow the show on Twitter via at talkpython. We've started streaming most
of our episodes live on YouTube. Subscribe to our YouTube channel over at talkpython.fm
slash YouTube to get notified about upcoming shows and be part of that episode.
This episode is brought to you by Sentry and their awesome error monitoring product, and it's brought
to you by Compiler from Red Hat. Listen to an episode of their podcast as they demystify the tech industry
over at talkpython.fm/compiler. Transcripts for this and all of our episodes are brought to you by
assembly.ai. Do you need a great automatic speech to text API? Get human level accuracy in just a few
lines of code. Visit talkpython.fm/assembly.ai.
Brett, Jay, Tanya, Emily, Paul, and Gina, welcome all of you to Talk Python to Me.
Thanks, Michael.
Hey, everyone.
Hey.
Hello.
It's really great to have you here. I'm super excited to have a conversation around the whole
community of Python survey results. Thank you to the PSF and JetBrains for putting the survey
together. Thank you all for being here. And I want to invite a bunch of you so that we could have a bunch
of different perspectives and thoughts and ideas on where we are. So that's going to be so much fun.
But let's do a quick round of introductions. Brett, open source contributor extraordinaire.
So my name is Brett Cannon. I'm in charge of the Python experience for VS Code. I'm also a core
developer for 19 years now. I'm a member of the Python Steering Council since its founding,
and I'm calling from Vancouver on the unceded territory of the Squamish, Musqueam, and Tsleil-Waututh
First Nation.
All right. Great to have you here. Thanks for all the Python things you've done. Jay.
Yeah. I'm Jay Miller. I'm a senior cloud advocate at Microsoft. I work with our Python advocates.
And yeah, it's my job to keep Brett looking so amazing. Or at least talk about the amazing stuff he's
done.
That's right. Spread the word.
Tanya.
Hey, everyone. My name is Tanya. I'm currently a Python developer advocate at
Deepgram. We're an AI speech-to-text company. So before I got into Python, I was a professional
athlete. So I'm like a pro athlete, turned, worked in sales for a little bit, and then
gotten the tech after. But thanks for having me today. It's good to be here.
It's great to have you. And I love your story because it shows you don't have to just grow
up doing code from a young age to be really great at this and how fun it must have been
to be a pro athlete. So cool.
Thank you.
Yeah. Emily, great to have you here.
Yeah, absolutely. Hi, I'm Emily. I am the director of engineering at
at a software consultancy called Cuddlesoft. I'm also a CPython core developer and the
recovering PyCon US chair from the last three years.
Yeah, great work. It sounded like people I talked to had a wonderful time there. So
good job on PyCon. Paul, nice to have you back.
Hi, everybody. I'm Paul Everett, developer advocate at JetBrains, a teller of semi-true stories
of Python history and really happy to be with the six of you. This is a cool panel.
Yeah, I'm happy to have you here. It is a cool panel. Gina, you were not too long ago on Python
Bytes, as was Tanya as well. But it's great to have you over here on Talk Python.
Yeah, thank you for having me. Yeah. So my name is Gina Huiske. I'm the creator and maintainer
of something called Octoprint, which is the snappy web interface for your 3D printer and which is
written at Python, which is why I'm here, I guess. So hi.
Hi. And people who are not watching, I think you've got just the coolest office setup. You've
got your laser cutter and 3D printer and stuff that you've created with your your makerspace
that set up a really nice camera AV setup. So it's fantastic.
And a three headed monkey.
And a three headed monkey, of course.
Right behind you.
I love it. All right. Paul, do you want to maybe say a few things about the relationship
of the PSF and JetBrains and sort of a little bit of background in the survey to just maybe
introduce a virtual quick since JetBrains was part of it? If I go and look at the results
here when we get to them, it's at jetbrains.com. But it's not really a JetBrains survey, is it?
No, not at all. It's interesting. When I was doing the prep for this, I was like, how far back
does this go? Damn, this thing goes back to 2016. Wow. Which is interesting to see some changes
over time. But this was kind of a brainchild back then. Well, we got a need. Python has a
need. Let's do it together. But then it kind of turned into PSF steering the ship and JetBrains
just doing what it was told for. Conducting the survey, doing a little bit of throwing smart
brains at it from our research folks to do statistical validity, trying to add new questions, but preserve
old ones so that we could see trends over time. So this is now the PSF survey. And I think that's
a great resource because we all have these questions, right? Yeah. Yeah, we absolutely do. And one of the
things I remember when I was reading about it is it wasn't conducted on the JetBrains site. This was on
python.org, right? Yeah. It's hard because it can feel like, well, it becomes a selection bias because
it's affiliated with JetBrains. And so over the years, we've really tried to turn this into kind of a
contribution to the community. Let the PSF kind of dictate what it wants to see and how things should
be organized and conducted. Yeah. Yeah. Brett or Emily, anything you want to add to that since
you're a little bit on the inside? No, I mean, Paul nailed it on the head. It's a great partnership
between the PSF and JetBrains. Like, as I said, it's mainly questions coming from the PSF and the JetBrains.
Folk happened to help do it. Make the Spiffy website with the awesome cookie policy pop up in the
corner. I still think you all have the best one in the industry. Yes. You could
type in it. It's a console, right? Yeah. That's pretty cool. We can talk about it later,
but like the development residence questions, for instance, all came straight from Wukash.
And it's basically asked Wukash to come up with those and such. So it's great collaboration.
Yeah, absolutely. Cool. All right. Let's, I'm going to pull this up here. And for folks who want to
check it out, obviously there's not going to be probably that many links in the show notes,
but there's the one, the one important one, which is the Python developer survey 2021 results. So
one thing to keep in mind as we talk about this is it's a bit of a historical look a little bit. So
this was conducted in the fall of 2021. And here we are in the summer of 2022. So for example,
there's questions about Python 310, right? I'm sure the adoption is higher of that now than it was,
was that eight months, seven months ago, something like that. So keep that in mind. And so, yeah,
what do we want to say that actually links back to the previous results as well, which is really good.
I went through a bunch of different areas. And so I think the first, we're just going to go through it
in order and maybe skip some that are not, you know, maybe too detailed or something. But the first one
is, are you a Python developer or are you a developer that also happens to use Python? And for the people
who took the survey, you know, granted, they're going to python.org to see this, or they were
encouraged on Twitter from Python people to go take the survey. And it's 84% of the people are using
Python as their main language. I personally think that's pretty high. I think that's, that's a pretty
positive number here. What do you all think?
I'd be curious what the bias is. Like, I wonder what would happen if this made the front of Hacker News
and what this number would then be. Because for instance, I know plenty of people who complain at
me at work about why is this Python stuff kicking up? I only use this script every two months kind of
thing. So I know lots of ancillary uses of Python all over the world. So I'd be really curious.
Obviously, this does not really represent the world itself. So I think it just at least helps set a
guideline as it is, as it were, as to how to view these results more than an actual number we can rely
on for the overall computing world.
Yeah, I think it's interesting, because if I remember correctly, this question was sort of a
self-selection of how you identify. So I definitely say like, yeah, I am a Python developer. But if I am
realistic about the actual code that I'm writing on a daily basis, I'm definitely not like primarily
writing Python. So I think that this really sort of frames the perspective of the person filling out
the survey to say like, yes, Python is my main language of choice in whatever way that might be,
but it might not actually be the thing that they're writing the most code for.
Sure. I'd like to hear your thoughts of this from everyone. But my view of the Python world
is it basically breaks into three pieces. We've got the web developer, web API sort of folks.
We've got the data scientists, and we have this massive other, you know, scientists, economists,
maker folks, programming little devices. And it seems to me that the first two, the web and the
data science would probably really be the main, right? They would just live in Python. But that other
group, they might drop into Python to just, oh, I heard there's this library, and it'll give me this
picture that I need and then go back to whatever they were doing, something like that.
Yeah, I guess too. Like I was, that actually made me think about like, like when you were collecting the
survey results for this one, like what levels, like, did you ask like what level they were at? Like
maybe more junior, senior, mid-level? Because I feel like maybe someone maybe just starting out in Python,
you know, maybe that's like their own, like their main language that they're using versus someone who's
more senior or more experienced. Maybe they were using, you know, secondary languages as well.
Yeah, that's a very good observation. There's a section on the how junior or senior people are,
which I think is pretty interesting. Jay, you're, you've been doing some of the developer
relationship stuff. You probably got to think about this sort of breakdown a lot. What are your thoughts?
I do. And my history comes from being a tinker slash automator. So often had to use whatever tools
I was told to use and find ways to inject Python into it. What I'm glad to see is now, I think that's
the case for most people. Like you said, that is that, that bubble that the Python community is vastly
growing in of people who are, I'm using Python to do this thing in my job that isn't as a developer.
And it's nice to see that I think more and more use cases of Python are becoming available so that
I don't have to go reach for whatever the parent language is in my project. I can go and just use
Python for most things. I think that while a part of this is, you know, we're looking at this data set
as people who love Python, wanting to come in and talk about Python and share their thoughts and
feelings about it. But I also recognize that had you asked me this very question three years ago,
I would have had to give a different answer. So yeah, I think that it's great that that number can
go up because of the growth of Python from a technical standpoint.
Yeah, great point. Gina?
Yeah, that pretty much mirrors what I was about to say, because when I started with Python, when I
got the first time into touch with it, that must have been sometime around 2007,
2008-ish. So a really long time ago when I actually was still a system administrator at university in the
computer science department. And I used Python to automate some stuff like maintenance things and
bookkeeping and whatnot. So I distinctly remember writing a label tool for the backup drives. And back
then, if you had asked me this question, I would certainly not have said I'm a Python programmer. And I'm not
even sure I would have said that Python is my secondary language because it would probably rather have been my tertiary or whatever the word is for forces.
And even 10 years ago, I would still have identified as a Java developer with maybe a bit of background in Python and a lot of JavaScript, HTML, CSS, and Bash stuff thrown in. But these days, yeah, I've also moved to someone who would call themselves a Python developer. And I kind of find it funny that apparently many more people have made the same transition over the years. That is kind of amazing to see.
Yeah, there's definitely a large influx of people moving in. So related to that, you said you had done Java. And actually, right now I'm working on Dart. I'm trying to maybe do some Flutter mobile app stuff to augment our courses and whatnot. And there's, you know, it's,
Tanya had a great point where she said, you know, the more junior you are, you might just be learning one language now. But then as you grow, you're like, well, I really need to learn this other language to do this thing. So the next question was, well, what are you using in addition to your Python code, regardless of whether it's your primary or second? You know, are you doing JavaScript?
Do you in HTML? Are you doing C#? Or Rust? Or Go? And I think these questions are, they're always really hard to pick. Because for example, HTML and CSS, that seems like a valid question. But on the other hand, it's not really a standalone programming language. Like no one would introduce themselves like, hey, I'm Michael. I'm a CSS developer, full stack, by the way.
You know, it's so should it really be a thing that pairs with that or not? It's a tricky for me to decide. But for that question, the most paired up language is JavaScript, and then HTML and CSS. And then we've got, you know, sort of to genius point, bash or shell scripting and SQL. I guess if you look at programming languages, we probably have JavaScript, and then C++, and then Java, and then C#. This is pretty interesting what people pair it with. I think you got to, you know, I talked about the third of sort of web developer side.
That clearly is the 40-30% of, you know, JavaScript and HTML. And then I think it gets pretty interesting. What stands out to everyone here?
and may not quite view themselves as Python developers,
even though they are, right?
And I think this kind of plays into that
with the whole JavaScript, HTML, CSS,
covering that web group and then Bash shell
covering that cohort.
And then SQL kind of cross-cuts across web and data science.
So I think it kind of is interesting.
I also personally hope C++ group drops
because people write more Python and less C and C++
with all the performance coming in Python 3.11
in the future.
But that's just a personal wish.
Yeah.
Paul, you're pumping your fist there
at some C++ being overtaken by more Python.
I will start by giving the first of 20 consecutive compliments
to Brett, who is reviewing WebAssembly pull requests,
probably as we speak.
He's got two or three other Bretts back in the back
that are doing the pull request reviews.
But as WebAssembly becomes a thing,
then maybe Brett's mission to demolish C#
will take effect.
I'll take exception to the HTML ain't a language.
The L language.
Come on.
Give it some love.
And Stack Overflow says it's the number one language.
So maybe the only thing I'll add
that was interesting to me on this
is seeing the change since 2016,
because this is a question that's been asked every time.
Fairly stable wording on it.
Hasn't changed that much.
The top five are the top five.
SQL has bounced around.
If I remember correctly, last year it was number one ahead of JavaScript
at 43% or something like that.
And I kind of thought, well, that's data science kicking in.
But then this year it took a little bit of a drop.
Question about the makeup of this language.
Was this a kind of a multiple choice thing?
Or did you have to?
Okay.
So you could say JavaScript, HTML, dash.
I remember taking the survey,
but I cannot remember the question on it.
Yeah, yeah.
Gina, the little giveaway is that there's this 100 plus at the top,
which means like people can pick more than one.
Okay, okay, okay.
When you see that at the top by a second, yeah.
I should add that the anonymized cleaned up data sets
are available for all you smart people who can do cross.
If they want to do SQL against their CSV.
I have tried to escape JavaScript for a while.
And I just feel like I'm not able to escape it.
And it's like, you know, I have, you know.
There is no escape.
I'm going to still escape from JavaScript.
I've just given up.
Yeah.
I am curious to see though, how, you know,
like as the development of, you know, PyScript,
as it develops, like if that JavaScript number will stay the same
or if it's going to like kind of drop off a little bit.
And then, I mean, I know Bootstrap isn't a language.
It's more of a front end framework.
But, you know, this kind of made me curious, you know,
like are Python developers using Bootstrap more with their applications
or are they using straight JavaScript?
Are they using, you know, vanilla HTML and CSS?
I could imagine that React is pretty much featuring very highly there
and maybe also Angular and Vue.js as well,
which is also how I explain that maybe JavaScript is actually ranked up higher
than HTML and CSS because if you write React in these days,
you pretty much only interact with JavaScript code
and you might throw snippets of stuff in there that looks like HTML
but actually isn't.
So people in that case would probably more identify as the JavaScript crowd
or maybe the TypeScript crowd.
So, yeah.
Dina, do you use a lot of other languages
or technologies for your devices and embedded things and so on?
I used to have this thing that I try to learn a new language
every other year or so,
but then life happened and I haven't been up to that
for the last, I don't know, 13 years or so now.
I can say that in my day-to-day,
I probably mostly use Python, JavaScript, Bash as well a lot.
No Java anymore, thankfully.
SQL here and there maybe as well,
but I think that is about that.
I mean, sometimes I also have to touch C or C++ code,
but I try to really avoid it
because I know my weaknesses,
pointer arithmetics,
and forgetting to free up memory,
so I stay away from languages
that allow to shoot myself a little too much.
Yeah, even if you're good at it,
it's just, it's a hassle if you can avoid it.
Final thought on this one,
Emily, you said you were doing other languages as well.
One, being a core developer,
C++ is probably something that you've got to mess with,
or C rather, being CPython,
but what stands out to you here?
Yeah, I think that most of my contributions
to CPython have been C and not Python.
Yeah, I think it's interesting.
I think it's very clear that web development
is very much at the forefront.
I think being able to sort of ingest this data
and make meaning of it does get really difficult
because you look at HTML, CSS,
and there's so many different ways that it can be used.
So it's like, oh, like,
are these people writing Django or Flask applications
and they're also including that?
Or do they happen to be writing a React front end
and are considering it in there?
So I do think that that's interesting
and just sort of a difficult thing
to really like take that meaning out of it.
But I think it's very clear that there is some section of people
who are still looking for things that are more similar to Python elsewhere, right?
So you can't get away from JavaScript.
As we all know, there's really not a good substitution
for something like HTML, CSS, if that's what you're building.
But you see things in here where there's, you know,
there's Go, there's Rust,
things that people might be leaning towards
when they need something that's a bit more performant
or feeling a different need for them.
I think it's interesting that those are still
making a meaningful enough impact
that they're making this list.
And I think it will be interesting to see how this changes
over the next few years with, you know,
improvements of Python performance.
This portion of Talk Python to Me is brought to you by Sentry.
How would you like to remove a little stress from your life?
Do you worry that users may be encountering errors,
slowdowns, or crashes with your app right now?
Would you even know it until they sent you that support email?
How much better would it be to have the error
or performance details immediately sent to you,
including the call stack and values of local variables
and the active user recorded in the report?
With Sentry, this is not only possible, it's simple.
In fact, we use Sentry on all the Talk Python web properties.
We've actually fixed a bug triggered by a user
and had the upgrade ready to roll out
as we got the support email.
That was a great email to write back.
Hey, we already saw your error and have already rolled out the fix.
Imagine their surprise.
Surprise and delight your users.
Create your Sentry account at talkpython.fm/sentry.
And if you sign up with the code talkpython, all one word,
it's good for two free months of Sentry's business plan,
which will give you up to 20 times as many monthly events
as well as other features.
Create better software, delight your users,
and support the podcast.
Visit talkpython.fm/sentry
and use the coupon code talkpython.
It's hard to tell from these little graphs that shows year over year change.
And the one that seems to have grown the most is Rust.
And I feel like there's a lot of people starting to pair Rust with Python
instead of C with Python for some of those internals.
Pretty interesting.
Okay.
Languages for web and data science.
They break this stuff all down.
This next question here asks,
Python usage as a main or secondary language for a certain purpose.
So maybe we could touch on top four or five here.
Data analytics.
Python is the main language, but only by 4%, right?
And then web development.
It seems like Python is more of the main language and so on.
But for example, DevOps, as Gino was sort of talking about
in system administration,
it's a secondary language that people bring in.
So yeah, Tanya, were you going to jump in there?
I was just kind of nodding my head about the data analysis,
the, you know, the 52% and just thinking like, you know,
what else are they using?
Are they using R instead of Python for data analysis or something else?
Or just kind of made me think of that.
It's a real good question.
I don't know the answer.
Maybe some other folks do.
What are they using?
If not the second language.
I don't even think it was necessarily like a language.
I think it was,
where is the data coming from and how do you get into it?
That was one of the things where I've been a massive advocate for working with public data
and using tools like Socrata that provide REST APIs for a lot of that data.
But when all of a sudden you're working at a project and you have a map and the map is only GIS data
and you're like, well, yes, I could.
I could start doing like neonatum stuff or I could just use what they give me.
And unfortunately, a lot of data like that is kind of locked into however they decide to give it to you,
albeit sometimes a CSV file that has, you know, 2,000 columns to it.
So you're like, you know, it's almost terrifying to open up Pandas or open up, you know, just Python import CSV and run with it.
So you just kind of use whatever they've given you to use.
But I'm glad that there are services.
Again, like that's going to be my repeating sentiment is I'm glad that there are more and more things coming out
that make using Python with a lot of these tools a little bit more accessible to beginners.
And I would say enthusiasts.
I'm not a data analyst.
I'm not a data scientist.
I don't even pretend to be one.
I'm just someone that loves looking at data and says, what can I discover from it?
Yeah, very cool.
Gina, how does that DevOps system administration breakdown for you?
Does that resonate?
Absolutely.
Because frankly, even though I now consider myself a Python developer,
whenever I have to get into DevOps administration stuff,
the first thing that I try to use to solve any given problem that I have is shell script.
Once that reaches a certain level of complexity and I start to slowly but surely lose my sanity over it,
then I switch it over to Python.
The first approach is usually just, I don't know, three or four lines of best script.
Then suddenly all ton of logic ends up in it.
Then I might need an argument parser.
It's a point.
And then Python starts to look more attractive at that point.
But if it's really just chaining a bunch of units commands together and throwing JQ against the JSON dump
or something like that, then it's just, I don't know.
The shell script is just faster.
Yeah.
And no dependencies.
It's just right there.
Yeah.
It just works.
Like maybe I have to install one single command line tool or statically linked even maybe.
And then I'm done.
So yeah, when I can do that, I prefer doing that because then I don't feel like I have to maintain something now.
Emily, the one that stands out to me most here is that the biggest I'm using Python as my primary language is for web development.
You probably run into a lot of web projects at Cuddlesoft.
What are your thoughts on that?
Yeah.
I mean, I think that at least for the space that I operate in, Python really is sort of a sweet spot.
Python and Ruby, don't kick me off the show.
We're not judging.
I think that as a whole, web development is something that needs to be very accessible.
You need to be able to hire for it.
It needs to be something that's maintainable over time.
And so I do think that there's kind of like a sweet spot of like getting something started.
And a lot of times, especially if it's your first iteration of building something out, Python is a much more accessible language than trying to jump into something where you're maybe over optimizing or over engineering for something in the future.
I think Python just really shines with web development.
And it's such a rich ecosystem that why wouldn't you reach for it if you could?
Yeah. And you have to hand off these projects as being a consulting firm, right?
You build them and you probably hand them off.
And I bet it feels more reasonable to hand off a Django or a Flask app than it would be to some highly configured ASP.NET type thing or a Java type of app that requires a bunch of steps even just to get the thing to run, you know?
Yeah, absolutely.
Anything that's going to wind up being like operating system restricted is really tricky.
We've also been working with especially back-end applications that require a really complex ecosystem and architecture to deploy them.
And my goodness, like if you can't easily spin up your local environment within, you know, 5-10 minutes, you're probably doing something wrong.
Like all of these cloud infrastructures that exist have their place, but a lot of times people really want to grab onto those as well.
It complicates things.
So I definitely see why Python is still shining in web development.
For sure.
Brett, I'll give you the final word on this section.
And it's a two-part question.
Uh-oh.
One, educational purposes.
Python's a primary language there.
That's pretty interesting.
It's fantastic.
I mean, way back when I started programming, definitely, I didn't have Python.
I wish I did as an easier language to get tied into it.
But I definitely see it and I appreciate it.
And I wish I had convinced my professors when I was in grad school to switch to Python instead of some of their choices.
But luckily, Python still went out years later.
I've gone back and looked at, yeah, all my previous schools I attended have all switched.
So that's fantastic.
But yeah, and I hope it grows too, right?
Like Paul alluded to WebAssembly and such.
And I think we have some opportunity here to make getting started for education.
As Emily also pointed out, just getting up and going is a really important friction point to lower.
So I'm hoping we can continue to improve that to get us somewhere.
Yeah, that was the part two of the two-part question is the WebAssembly stuff.
I think traction is finally starting to take there.
And that's post the time the survey was run, but I think it is.
I just want to toss in two things here.
One, I love this question because it's got the most, I find, odd specific point of programming of web parsers, scrapers, and crawlers out of all the other options.
It always throws me every time I take this question.
It's like, why that specific line?
And I know it's historical because what Python's been used for over the years, but it's always so specific.
The other thing I look at this, and this shows how weird my relationship with Python is, I don't view this as Python for today.
I view it as what I wanted to see change for Python tomorrow, and specifically three, five, ten years from now.
I hope we can move the education, the desktop development, and the embedded and mobile development more on our screen to the left, but higher percentages.
Yeah, put them higher in that list for sure.
Absolutely.
Yeah, great point.
Okay, totally agree.
I believe Paul had something you want to bring up.
Oh, Paul, get in here.
Yeah, a quick point.
First, on the historical anomaly, Brett, when you said that, I just went back and looked at 2017.
And web crawlers was a big thing, man.
It was 32% back then.
So it is a little bit of an anomaly.
So I guess it still is.
What I'd like to call everyone's attention to is look at data analysis.
The difference between the 52 and the 46, it's gone down for people who identify to that.
If you go look at the two previous years, it went down then as well.
Counterintuitive.
Yeah, it really is.
It must mean that the data analysis folks have a lot of different languages to juggle.
All right.
A bunch of other things that we could dive into.
Kind of touched on a bunch of these.
I think this is a really interesting question.
I've always enjoyed it.
And the question is, do you consider yourself a data scientist?
And let's see, 66% say no.
29% say yes.
And then there's an other.
And I'm not really sure.
If I looked at the results, I guess that makes sense.
But it sounds like a yes or no question.
But there's some uncertainty in there.
But when I describe the world as one-third, one-third, one-third, at least for the data science folks, here's the one-third.
I do think there's a very interesting trend in the Python space where people who do data science, they feel like they are more isolated in the minority than, say, web developers and other folks.
Because I think you have a team of web developers.
And often you have one data scientist at the company that's doing the processing and analyzing and whatnot.
But if you look at the usage for Python, the highest use, it's 50% is data analysis.
And yet only 29% of the people say they consider themselves data scientists.
So I think there's something interesting.
I think there's more data science happening in Python than even the people in the trenches of that space of it see it as.
I think it gets even a bit weirder because it's not that two-thirds of everyone who got asked here doesn't consider themselves data scientists.
But two-thirds of all the people that were asked that stated that they work in data analysis and machine learning said they are not data scientists, as it says there.
So that is something that throws me completely off here because, I don't know, I may be imposter syndrome, but I don't know.
Yeah.
Yeah, I think a lot of this goes to what Jay was saying earlier.
When we look at data analysis as these questions were asked, that's not necessarily data science for a lot of people.
So Jay was talking about using Python to pull data from public APIs and do analysis on them.
We're like, we use Python to run our accounting department, right?
Like, we pull together spreadsheets and do analysis and budgeting and automatically generate invoices.
So I think that there's just like so much more within that data analysis section that just doesn't necessarily apply to data science.
Right.
They're not doing machine learning with TensorFlow and Jupyter, so it might not feel like I'm a data scientist type.
Yeah.
To me, this is an industry direction question.
You know, the industries that we work in are becoming more and more data focused, more and more data driven.
And we've been saying that for a decade now.
So I'm just going to keep the pattern going.
But it seems like even in newer industries, even in industries that are popping up, like I think about how many people are social media influencers that have to deal with things like impressions and stuff like that.
So it's like, yes, you have high school kids and younger folks and people who like get it that I just don't.
And they're having to look at data and they're having to think about things from a data driven perspective a lot earlier in life.
And I think as it becomes more commonplace, what we'll see is people will do anything and everything to make their jobs easier.
And in fact, that was what originally got me into Python was how do I make this job easier?
Oh, I can script this out.
And I think we have some I mean, I talked to the high school kids, you know, from time to time just about, you know, their careers in computer science in the future.
And a lot of them are thinking about everything that they do now from a data perspective.
And I think that's where, you know, you have more people doing data analytics that aren't necessarily doing data science.
Yeah, that's a great perspective.
I'm very excited, especially for Brett and Emily on this one.
This next question, Python versions, Python 3 versus 2.
There was a little bit of uncertainty back in 2017.
25% of the people were still now I'm doing Python 2.
Now it's just down to the ones I suspect you have no choice.
It's 95% Python 3.
Brett, can you do a celebration lap on this one?
Oh, yeah.
I mean, I started to celebrate when we got past 50% and the trend continued to go down.
I mean, I basically had on faith alone and partially because this is somewhat my fault.
I did play a part in trying to make this all happen.
I kind of had to have faith that this would all trend this way.
I feel sorry for the people, those 5% that are still stuck on Python 2.
I know they're keeping friends of ours.
Yeah, there's some of the banks that have like 5,000 Python developers working on some forked, specialized version of Python 2 that has millions of lines of code.
I mean, that could be 3% right there.
Yeah.
And I mean, and I do know people are still actively working on this, right?
Like a friend of some of us, Jeff Triplett, like I know, part of his consulting work is to help companies move from Python 2 to 3.
So I know it's not that people aren't trying to do it.
My worry about those folk that can't move is how much of an island will become to themselves just because they'll slowly just be able to use less and less of the open source stuff.
But not much we can do there.
But yes, I am very happy about this.
And at work, all of our stuff, we draw Python 2 support officially beginning of this year.
So it was a nice day when that happened.
Fantastic.
Emily, being on the inside, what are your thoughts on this as well?
Yeah, it's interesting because I feel two very like conflicted feelings about this.
So my gut reaction when I look at this is like, wow, like, was it really 75% of people who were already on it in 2017?
Like in my soul, I feel like there was still this big push to like get people on Python 3.
And it doesn't feel like we were that successful that long ago.
So that's the first thing.
And then the other thing is like, I just I am lucky to function in a space that we were so able to jump on Python 3 right from the beginning.
I do kind of share a lot of Brett's concerns and hesitations about, you know, the people who are still on Python 2 right now are probably really stuck on Python 2 and will be for the foreseeable future.
Yeah, you're going to have to leave that job and go to a different place where you no longer have to touch that software to make that change.
I'm sure.
That actually happened.
I mean, a company I was working for in 2019, they were on Python 2.7.
They're still on Python 2.7.
So unfortunately, they're in that small percentage that's using Python 2.7.
But yeah.
For me, this graph represents a struggle that I actually am still fighting or was fighting until very recently in Octoprint's maintenance.
Octoprint is something that is deployed at the end user space.
So I do not control the Python environment it is running in.
And so until the very latest stable version, Octoprint still supported Python 2 and 3.
And dropping Python 2 support was something that I dreaded because I feared a huge backlash from the community along the lines of, but then this and this plugin will no longer work because the maintainer has not upgraded it yet to support Python 3 as well.
And I'm currently looking at my own tracking stats.
And for Octoprint, the split is still 15% of all instances are still on Python 2.
But at least we now have 85%.
So we are slowly catching up to these survey results.
But still, the journey was long and hard.
And I'm really, really glad that I can finally now say, no, I'm exclusively developing in Python 3.
F-strings.
Yes.
3.6 is all you need.
That's where the magic is.
You got async and await and you got F-strings.
Yeah.
I think that's an interesting microcosm to think about how your app has these plugins.
And so there's that cascading dependency as well.
Yeah.
It also means that if I make decisions like dropping Python 2 support, I pretty much nuke a whole part of my ecosystem.
And that is obviously bad because I depend on my ecosystem.
It makes up like it's one of the biggest selling points of the whole thing.
So that always was, or stuff like this is always decisions that are especially hard to make.
This portion of Talk Python to Me is brought to you by the Compiler podcast from Red Hat.
Just like you, I'm a big fan of podcasts.
And I'm happy to share a new one from a highly respected and open source company.
Compiler, an original podcast from Red Hat.
With more and more of us working from home, it's important to keep our human connection with technology.
With Compiler, you'll do just that.
The Compiler podcast unravels industry topics, trends, and things you've always wanted to know about tech through interviews with people who know it best.
These conversations include answering big questions like, what is technical debt?
What are hiring managers actually looking for?
And do you have to know how to code to get started in open source?
I was a guest on Red Hat's previous podcast, Command Line Heroes, and Compiler follows along in that excellent and polished style we came to expect from that show.
I just listened to episode 12 of Compiler, How Should We Handle Failure?
I really valued their conversation about making space for developers to fail so that they can learn and grow without fear of making mistakes or taking down the production website.
It's a conversation we can all relate to, I'm sure.
Listen to an episode of Compiler by visiting talkpython.fm/compiler.
The link is in your podcast player's show notes.
You can listen to Compiler on Apple Podcasts, Overcast, Spotify, Pocket Cast, or anywhere you listen to your podcasts.
And yes, of course, you could subscribe by just searching for it in your podcast player,
but do so by following talkpython.fm/compiler so that they know that you came from Talk Python to me.
My thanks to the Compiler Podcast for keeping this podcast going strong.
There's a Zed Shaw quote for everything.
And I wondered if there was a Zed Shaw quote for this.
Guess what?
There's a Zed Shaw quote.
There is.
That's November 2016.
There's a high probability that Python 3 is such a failure it will kill Python.
So, Brett, I mean, you killer.
I'm okay with that.
Python 2 can go hang out with Cobol in the back of the room and just live on forever,
well beyond all of us, and do its thing for the few that are stuck on it forever and just can't do anything better.
I am curious about that box next to the graph here about, I'm saying,
compared to Python 3, Python 2 is more often applied to computer graphics, games, and mobile development.
I know for Mac.
Yeah, I'm curious about that as well.
Yeah, it was interesting.
Kind of really stood out to me.
I know for Mac, right, they're dropping Python 2.7 support, I believe, right, which happened at the beginning of this year.
So, yeah, that just was, this was just, I was curious about that.
It's got to be embedded in something.
I can also kind of indirectly talk to this.
I have a friend who used to be in the gaming industry professionally, and chats with him suggest the gaming industry is very slow to pick up on new stuff, ironically.
Right, like cutting edge graphics and all that, but like modern, like development practices and stuff, extremely slow to switch.
I don't know if it's the just culture or the velocity tempo we do development at causes them to not stop and look at how things change.
So I think it's a combination of the embedding comment just made, plus just literally, it works, why make a change?
And we don't have time to move anything we've written in two to three.
I think Paul Hildebrandt talks about that in Hollywood and video production, right?
Yeah, Maya and all that switching over.
Yeah, I gave a talk at Disney for Paul at one point to help him try to convince folks to move to Python 3.
And they had to get the whole industry on board, right?
Like, because there's a whole industry group that controls, control sounds a little extreme, but works together to come up with standards of software.
So the whole industry works together and they, as a group, had to decide to move to Python 3.
And I think they did it a bit later than some people might know.
And then that's what got like Maya and all those graphics tools to move over and all that.
And if you're still running all the versions, I'm sure you haven't switched.
So that's my guess as to why those specific areas are kind of taking a bit longer to switch.
Yeah, I totally agree with the game, computer graphics.
I'm not so sure about mobile because I don't even know what is happening there.
This game at one point just kind of made me wonder.
A long time ago in a galaxy far, far away, I doubled briefly in Unity.
And back then, I think it didn't have Python bindings.
And I just checked.
Apparently, they introduced Python bindings in 2020.
And they started with Python 2 in 2020.
So then I currently have the blog post in front of me, Python for Unity editor,
and where they said Python 3 support is in the works.
And that was on February 26th in 2020.
So I don't know if they have shipped it by now.
I sincerely hope so.
But that kind of explains why it might still be a factor in games development.
Because if you started, for example, on a Unity game and developed everything in Python 2,
then why port it over?
No one will look into the source anyhow because you shipped the whole game binary and stuff like that.
Yeah, very good.
Very good point.
Okay, let's move on to the next one.
And this one, I think more than most, you've got to keep in mind,
this is from the fall of 2021.
And this is for Python 3.
What versions are you using?
You know, you hear about a lot of libraries these days being 3.7 or above.
I believe official support for 3.6 is no longer there, right, Emily?
It's now retired.
So it breaks down what percentage is being used.
So 3.5 or lower is only 2%.
3.6 is 7.
7 is 13.
Then it was 27% and 35% for 3.9 and 16% for 3.10.
And so there's sort of this right side heavy normal distribution type of thing.
And I suspect it would move a little more to the right with 3.10, you know, being seven months later or something like that.
Yeah.
I was going to say the timeframe, I think, as you pointed out, Michael, really important to keep in mind.
Because in the fall, 3.10 would have been brand spanking new because it comes out at the beginning of October on the broadcast anniversary of Monty Python's Flying Circus.
So it's so new that if the community hadn't caught up yet with releasing usually the extension modules that everyone relies on, right, that scientific stack and all that being ready to go, that would probably hold that up.
So actually 16% is kind of nice because it does show that at least some people are ready to go day one versus everyone being on 3.9, which for the majority of the year that this survey covers was the latest and greatest, right?
And talking about the Python 2 stuff, I love this chart because for the longest time, right, Python 2 was up over here on the left side and everything was slowly keeping up on the other side.
Now we're back to what would have been normal way back in my beginner days of Python of, oh, yeah, pretty much everyone just is on the newest version like three months, six months later.
And I see Paul shaking his head, remembering at the same time as I do, where the whole community just moved together on the same versions versus the old split that we had where it's just like, well, some people are moving, some aren't.
And it's nice to be back on this cadence.
Not to fast forward any of your conversation, Mike, but I think the point below it also speaks to why a lot of people were on 3.9 at this point in time, which is how they're installing it.
Oh, yeah.
If you're installing it from your OS provider or some other form, you're going to get an older version of Python.
And if you're learning Python, just from surveys that I've seen from Python communities, the largest member of Python communities are often...
Often students and people wanting to learn.
So how do they install Python?
Well, if it's already there, they're just going to use what's there.
If they don't, then they're probably going to go to the website and download it and then and just run the installer.
I think that we as Python professionals like to think that the way that we do things is normal or normalized, I guess.
No.
But often not.
Me using, you know, ASDF to manage all of my different Python versions that I'm using back and forth is very much the outlier.
I feel like 3.9 is the largest in this case because teachers are telling their students, go here, install this, do this thing.
And if that's what they're using and that's what they're, you know, being forced to use, then they're just going to tell their students to do the same thing.
Yeah.
The other thing is if you the main way you get Python here that people got Python is by downloading the installer.
If you do that, it doesn't auto update.
Right.
And so if you did that a year and a half ago, you're just going to have that.
Oh, I have Python 3.
I'm good.
There's no auto update.
Whereas if you did brew install.
Right.
It'll say, oh, there's a new version.
There's new.
And you just generally just accept whatever the updates are.
So I think that actually has a big influence here as well.
And then, Brett, to your point, I remember right as 3.10 came out, there was a few things I wanted that didn't have wheels for 3.10 that also had to be on M1.
There was like, there were certain libraries that didn't, not that they didn't support it, but they weren't quite ready to deliver you the stuff you actually needed to use it, you know?
Tanya, Paul, Jay, you all are talking to customers and working with folks.
Does this influence how you might think of working with people or presenting stuff like tutorials or things along those lines?
Yeah, I think so.
I think it would depend on like, you know, which level they're at and like which operating system that they're using maybe.
I know for myself, like I just, I literally like just started using IAM.
It just makes it a lot easier to like also switch between, you know, different Python versions.
But yeah, I think this is definitely something to think about, like when we're writing content.
For sure.
I may have been told once or twice to not lean on the walrus operator and some of my match case operators as much.
But, you know, you do have to think about how you're writing code and some of the benefits.
And I think that's I know 311 isn't on here for obvious reasons, but that's one of the things that we think about when we talk about what's happening in the future, too, is yes, it's great to be able to extol the virtues of all the efficiency improvements.
But at the same time, we have to also understand that we might be talking to someone that says, yeah, that's great.
We're not going to touch 311 for another three years.
So it works.
We're not touching it.
Yeah.
It's fun to encourage that conversation, but also to remember that not every blog post can have the latest and greatest features included.
Yeah, for sure.
Three quick points for me.
First, Emily's first contribution to CPython was walrus.
So you will address walrus with love and respect.
I love the walrus operator.
I, for one, reach for it every time I can in my personal code.
However.
Second, I find myself blocked sometimes by, of all things, has black gotten to it yet, which is kind of funny.
And third, I believe all these problems will be solved when Brett adds install Python to the Python launcher feature set.
I think that we'll all be in good shape when that happens.
I'm curious, Emily, I want to put you on the spot.
Make a prediction.
310.
What's its number going to be next time?
Think it'll hit 35%?
Yeah, absolutely.
All right.
I think what we're seeing here, at least to a certain extent, is that we haven't inflicted too much trauma on the community that they've said,
no, I finally got to Python 3.6 or 3.5 or wherever they were at when they migrated over and that they wanted to kind of like stay there.
And I think that the core team takes great care, especially now, to not introduce any sort of deprecations or breaking changes that are going to impact the majority of users.
Because we know, like we have this talk internally all the time, like there is not going to be a Python 4 because we don't want to see that sort of transition that we saw from 2 to 3.
And so I'm hoping that in a way we've broken that stigma that a Python upgrade is a pain.
And I don't think I was really around to see the better days before we introduced that.
But I do think at this point there's much lower friction and much better tooling for somebody to say, hey, you know, yeah, like Python 3.10 just came out.
Let's upgrade our Docker container.
Let's run CI.
Let's see if our tests pass.
And like we should be good to go and just kind of like more readily upgrade on a regular basis because we look at these more as incremental changes.
One, and two, I think there is, there's a lot of cool new features that go into each release that people want to grab for.
And I think that will drive people to continue to upgrade as much as they possibly can.
Yeah, absolutely.
I do think it's been a very smooth ride from 3.5 onward.
I can't think of anything that's been a problem.
So people are encouraged to keep going.
I do think there's two things.
One, I love the Waller's operator as well, although I've taken down my website with it on accident.
Because there were some utility scripts that were not loaded by the website that I thought, oh, I can put my newer code over here.
And that was 3.7 on the server.
But the server, the web framework scans all the files to try to find routes, URLs, even if you don't call it.
And it didn't work so well.
But I also love it.
I think the other thing is there's going to be an interesting blip in this graph over time from going, because it goes 3.8, 3.9, then 3.10.
And it's sort of this curve, what you would expect, like a normal-ish distribution.
I think the performance that's coming in 3.11 is going to make a lot of people say, no, no, no, no.
It's time to be cutting edge.
We're going to get such a boost from it that we're willing to jump not just to 3.10, but to 3.11.
Trying to pull up the graph here for us.
Yeah, there's some amazing numbers for that.
And maybe the core data is on the team.
I want to speak real quick to this.
But there was, Eduardo pointed out, there's this article.
Maybe you all have seen it.
This says the Python 3.11 performance benchmarks are looking fantastic.
And it's kind of hard to navigate this thing.
But if you cruise through here, you see some really meaningful performance improvements, like 40% for certain use cases and so on.
So, Brett and Emily, what do you think about this?
More people kind of jump in over 3.10 to get to this faster Python.
I think in general, you're right.
I think when 3.11 comes out and people start talking about how they're getting like bare minimum 5% and certain benchmarks 60%,
which averages out probably roughly to 20% for most people, right?
I think that's going to cause a lot of people to park up and go like, yeah, we should jump.
Now, having said that, there is the potential for compatibility concerns because so much of the internals have had to be,
uprooted and changed.
That if you're depending on an extension module, that there's some really deep mucking around with CPython internals.
They might have to spend some time still to get updated.
So there might also be some cohort of users that get kind of held up because of that.
But yeah, I suspect most people are not in that group.
And so they will be able to jump straight over and people are going to go, oh, wow, this is so much faster.
For literally just business reasons alone of just literally saving on your compute costs, let's switch to the other.
Like, I think this is going to be one of those.
You can go to management and convince them that you update your code because the amount of money you're going to save on your costs is going to be high enough that it's worth putting the time and effort in.
Versus other times where it's the engineers coming to management going, I want the waller's wall operator.
Why will you let me have this?
Right?
And they're all like, well, it's not worth it.
Just keep doing it.
Versus now, like, we can save 20% off our compute costs.
Oh, okay.
Yeah, let's go ahead.
Yep.
Exactly.
Everyone will eventually get Emily's waller's operator, hell or high water.
And me, I'll probably, for all eternity of Octoprint's development, will be stuck on whatever is the latest that is still supported kind of thing.
Or the oldest.
Right, right.
So 3.7.
Yep.
Yeah.
So currently, I'm still stuck on 3.7.
I mean, I'm happy I'm finally on 3.7 and not on 2.7.
But I hear waller's operator.
I hear matching and pattern matching.
And I hear all this stuff.
And this looks so amazing.
And I would love to play around with it.
But maybe in five years or so.
I don't know.
For now, it's like, yeah.
If you have to support something that people install on their OS providers, Python, then you are a bit out of luck.
Absolutely.
Very interesting angle there that you're constrained by.
All right.
I want to just, we only have time for one more.
I want to find out how long people, two things, actually.
Let's just, I think since we have two, a representative for the two major editors.
Let's real quick, maybe Brett and Paul give us your thoughts on if I'm going to use, write some code.
You know, what editor do I use, right?
It's VS Code and PyCharm pretty close, neck and neck.
And then it just tails off to some insane long tail after that.
Honestly, this must make both of you pretty happy that playing such an important role up front.
Yeah.
Especially, I mean, PyCharm has been up there from the get-go, the start of this survey.
And us little spunky folk over at VS Code have finally caught up to PyCharm.
Because if you go back to 2017, we were...
You and all your extensions.
That's what it is.
Because if you go back to 2017, when this was actually added, we were sixth or seventh on that list.
So we're fairly lucky that the community has decided that we are worthy, as it were, to be up there with PyCharm.
So, yeah.
Yeah.
Awesome.
I think an interesting story for this is just smart editing in general.
When we're just looking at the distribution of Python releases, for me, I think 78% is 3.8 or higher, which is great news for me because I like the typing convenience, type hinting conveniences that started to appear in 3.8 and after.
And it's just a wonderful surprise to me that the Python community values typing and values tooling that puts that to work to help you write better code.
So for when I look at this, I see this to a degree as a demand for smart tooling, smart editing.
Yeah.
And I think that's a really good point that not only...
I think it's two signals.
It's one, the community, as Paul said, picking up on typing and smart tooling, I want you to do that.
But also the tool makers, speaking for myself, realizing that the Python community is big enough and important enough to invest in it, right?
Because there's always been a conflict of, oh, smart tooling for Python's hard.
I don't want to do it, right?
Which is honestly kind of good in a weird way because it led to us having such a good tradition of documentation, right?
And people care to so much about this.
I mean, like I know what Michael and Paul have done around Mist and their tutorials and that coming up and being a thing and what's continuously caring about our documentation.
And all that.
But it's also, I think, just a showing of, yeah, just where we've all come from all directions, both from a support perspective, the community perspective, and just getting to the point where this...
Everyone views this as totally reasonable and possible and something people can totally rely on and push on.
And the community going along with it and going like, yeah, this is fantastic.
We now have the equivalent tooling, more or less, of other languages.
Isn't this fantastic?
Versus, oh, I don't want to use Python because I don't get autocomplete, right?
Because I know that used to be a big complaint I used to get, which is, once again, the history of us pushing for good documentation, good names and caring and all that stuff and API design.
So I think, ironically, not having this at the start of the community, back in the 90s and early 2000s, actually has become a benefit long term because we have good practices that have now paid tenfold because good practices plus tooling now.
Versus, oh, we'll just lean on the tooling and who cares what the name is because everyone's just going to hit dot anyway and just choose the first answer.
Yeah.
You know you can't bring me on the show without knowing I'm going to troll a little bit.
So I just want to point out that the Vim slash Vim mode users are winning in the war between Vim and Emacs.
Yeah, it's a three to one.
Yeah, I'm going to leave that.
Yeah, the Notepad++ folks, they're out there too, but excellent.
All right, well, we are getting a little bit long on time for everyone on the show's time.
I could sit here and talk for hours about this.
This is such a great panel to be here and talking with you all about it.
It's been super fascinating.
So maybe we could just close this out with if you have any thoughts on where Python has recently come from and where it's going.
I'll start it off with just WebAssembly, PyScript, very exciting new PySlice of where Python might show up and make big impact.
So thank you to everyone who's done that in particular, Brett.
And I know, Paul, you're working on PyScript stuff as well.
I'll just say I just hope the community continues to be as fantastic and wonderful as it is.
I'm sure Emily and anyone else who got to be at PyCon in person this year got to relive that experience after a two-year high-dice and got to see it still alive and thriving.
And I mean, I've said this before, and I'll continue to say it.
I came for the language, but I stayed for the community, and I continue to stay for the community, right?
Like, I literally just had a career conversation with my manager last month, and I opened with saying the reason I'm here and the passion I hold is for this community.
It's not even specifically for the language anymore.
The language is the enabler to allow me to help bring more wonderful people to this community and to help others get to enjoy and benefit from this community.
And I hope that's the future is this community continues to thrive and grow and be that open, welcoming place for everyone who needs that place in their lives.
I just want to say seven years.
It took me seven years to go from, hey, this Python thing looks cool.
I would love to work with this in my day-to-day to now I'm in a job where my focus is working on Python.
And I don't think that, you know, part of that is just me being persistent and ornery, I guess.
But then like the other part of that is the fact that the community continues to grow, the resources continue to grow.
I feel Emily's pain with working with Ruby.
My first programming language was learning Ruby.
And the thing that made me switch from Ruby to Python was that community.
So we have a couple of PSF folks and core maintainers here.
You know, thank you for making the language what it is, but also thank you for making the community what it is.
Because without it, I don't think I would be in the role that I'm at today.
I would like to just hook into this as well, because I went to my very first German PyCon in 2018.
I felt utterly out of my space.
I had large imposter syndrome because who was I?
I was this open source project maintainer who had actually self-taught herself Python because she developed a project in that.
And now I had the courage to go to a PyCon and I sat there and people just started talking to me.
And I had so very nice chats.
And actually the next PyCon, I held my first talk at one.
So I cannot say that I have ever felt so welcome in the community ever before the Python community.
So thank you very much for that.
Yeah, that's awesome.
Yeah, that seems to be a common trend on our talk.
So yeah, I actually started out programming with Java.
Then I moved to Ruby.
Some other people here did.
And then I just wasn't, I didn't feel that like the community was that supportive.
And then when I moved to Python, it was just like, you know, a light bulb came on and the community has been absolutely amazing.
So thank you to everyone who is supporting me in the community.
Thank you to our core developers as well.
I'm definitely excited to see where, you know, of course, where PyScript goes and also to see where like some of the other types of things go, like mobile development and game development as well.
Looking at all you hear on the screen and just realizing what a great community it is, what awesome contributions you all have made.
So thank you for being on the show.
Thank you for reflecting on the survey and the state of community with me.
It's been great to have you here.
See y'all later.
Thanks, Michael.
Thank you.
Yep.
Bye.
This has been another episode of Talk Python to Me.
Thank you to our sponsors.
Be sure to check out what they're offering.
It really helps support the show.
Take some stress out of your life.
Get notified immediately about errors and performance issues in your web or mobile applications with Sentry.
Just visit talkpython.fm/sentry and get started for free.
And be sure to use the promo code talkpython, all one word.
Listen to an episode of Compiler, an original podcast from Red Hat.
Compiler unravels industry topics, trends, and things you've always wanted to know about tech through interviews with the people who know it best.
Subscribe today by following talkpython.fm/compiler.
Want to level up your Python?
We have one of the largest catalogs of Python video courses over at Talk Python.
Our content ranges from true beginners to deeply advanced topics like memory and async.
And best of all, there's not a subscription in sight.
Check it out for yourself at training.talkpython.fm.
Be sure to subscribe to the show.
Open your favorite podcast app and search for Python.
We should be right at the top.
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.
We're live streaming most of our recordings these days.
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.
This is your host, Michael Kennedy.
Thanks so much for listening.
I really appreciate it.
Now get out there and write some Python code.
I really appreciate it.