Python Bytes - #129 Maintaining a Python Project when it’s not your job
Episode Date: May 6, 2019Topics covered in this episode: * Maintaining a Python Project when it’s not your job* * Python in 1994* * Textblob* Extras Joke See the full show notes for this episode on the website at pyth...onbytes.fm/129
Transcript
Discussion (0)
Hello and welcome to Python Bytes, where we deliver Python news and headlines directly to your earbuds.
This is episode 129, recorded live from PyCon.
Excellent, excellent. And I'm Michael Kennedy.
And I'm Brian Ocken.
And we are Paul and Barry.
Yeah, Paul Everett, Barry Warsaw, thank you guys for joining us here for this live event.
It's going to be a lot of fun.
Our pleasure.
Yeah.
And I also want to say thank you to DigitalOcean for sponsoring this episode as well.
Check them out at pythonbytes.fm slash DigitalOcean.
More on that later.
Right now, I think we're going to kick it off with our first item, and I'm going to let Brian do that.
So I'm going to start with actually a talk that was given yesterday.
Easy research.
Hynek, and also because I like mispronouncing
his name. Hynek, and I'm not going to try the last name, did a talk called maintaining a Python
project when it's not your job. And this is really important to me because I'm starting to do some
projects that I'm pushing out on open source projects. And I'm a little scared of that,
how much work that's going to add to my life. But it has a whole bunch of great tips in here.
Along with the talk, he posted an article with a lot of the great information.
Goes through like setting up the development and code of conduct for a project so that people can get started and help you out.
Even walks through like making sure you set up continuous integration on it, how to get your testing using talks as a local CI server works great.
And then even goes through like making sure that your documentation is up to
speed, up to snuff with Sphinx, handling pull requests from people.
How do you deal with that?
Building a community of maintainers so that you're not overburdened and how to
do releases and deal with that.
And so it's pretty much the gamut of how to automate most of the work so that you're not burned out from the start. So I like that. So thanks, Heineck.
Yeah, you know, that's definitely an interesting challenge. Like,
you have all these projects that you want to build, but I don't know about you, but I've
actually said, this is cool. I'm going to put it on GitHub, but I'm not going to talk about it
because I don't want to own it as a puppy. It's cool. I need it. If people find it, that's great.
But, you know, it's a challenge, right? So it's really cool that he put that talk together.
All right. I'm going to talk about what Barry and I talked about here yesterday, Python 1994.
It's a talk that we do a lot and it's a lot of fun in a cave drawings kind of way.
But yesterday was a lot of fun. And I think it was because we didn't get to talk as long. And so we
had to leave out all the crap and get straight to the point.
And part of the point is in 1994,
which was 25 years ago,
was the first Python event.
We were at it.
It was colossal.
20 people.
And we talk about how things looked then,
what it felt like.
Did we know it would be like this?
Of course we knew it would be like this.
Yep.
I knew that 25 years later, we'd have 3,500 people. The strategic plans worked
perfectly. And we talk a little bit about a certain phrase that we were uttering back at that time.
What if Guido got hit by a bus? That would be bad. We like Guido. It would still be bad. Yeah. So
that was definitely a topic of the first workshop.
And yeah, I don't know what more to say about that other than, you know, I think finding a way to keep Python as a project, but also the community sustainable has always been on our mind.
And it's kind of led to, through the PSA, the Python software activity, down all the way through the PSF
has always been, we want to keep this thing going. And I think it continues not just for
the last 25, but for the next 25 years. And Barry will talk a little bit about what the answer is,
which is just happening last year. But the part that's interesting to me about it is pretending
that there's a point. And if there was a point to be pretended to, it would be, what did we do that kind of painted the road for the
way things became? And one of the things that came up when we first did this two years ago is
Brett likes to say, God, I get this backwards every time. Say it.
Come for the language, stay for the community.
Yeah. Okay. That one. And why would you stay for the community?
Because the Python community is awesome.
Some of the communities back then were not.
And we succeeded because of that.
Why did we succeed of it?
Because Guido.
And we are kind and humane because Guido is kind and humane.
So that's one of the original points to learn from that.
But the other is,
we're kind of old. And our story has been told, and there is a next 25 years of Python and PyCon,
and it's your years. And it's time for the next Python badasses to emerge. One of you listening
here in the floor, one of you listening on their awesome podcast is going to be that next badass.
Yeah. So should I talk about the steering council a little bit? Okay. So probably everyone knows
that when was it in July, June or July? Guido stepped down as the BDFL, which I think was
actually kind of a good thing. I mean, I think it was good for Guido's own health.
It was abrupt and unexpected, but in the end, I think it was good.
Yeah. Yeah. And having gone through the process of the community deciding how they want to be
governed, right? So Guido said, you guys figure it out. And I think the community did figure it
out. We came up with a series of peps, which all outlined different governance models,
looked around at the open source landscape and
saw how other communities sort of maybe of Python size, but also smaller and bigger,
organized themselves. And I think we came up with something that will work for us,
but will also evolve as we kind of figure out how to govern the Python technical side of this world moving forward.
So now we have a steering council of five people that are elected by the core developers.
And if you want to be involved in that, become a core developer.
Like everyone here can be a core developer.
And we really encourage that.
Except for Paul.
What I was impressed was not just the result you came to, but the way you got there.
Conferred legitimacy on what could have been a controversial and somewhat nasty journey and destination.
Yeah, I think that was really critical.
That was an important point through the entire process was how do we make sure that this is legitimate, that it represents
the will of the core developers, which sort of represent the entire Python community,
because we're making decisions that will affect Python moving forward. And we want to make sure
that that is representative of all Python users. I think it's super positive. And I think this is
the first time that we've had to decide how to govern ourselves. It was just,
we kind of grew into it before.
Is this like us moving out to go to college and get in our first apartment
or,
you know,
what's the analogy here?
Yeah.
Well,
we have to eat a lot of Mac and cheese,
I guess first,
but all right,
cool.
Before we go on to the last item here,
I just want to say thank you to digital ocean.
Like to highlight stuff that they're doing cool every week on the show when they're sponsoring it.
And right now, GitHub recently launched their GitHub Actions.
Are you guys using GitHub Actions?
Anyone out there to automate stuff when you do check-ins?
It looks really cool.
I haven't got to it yet, but definitely looking for it.
So with DigitalOcean, you can get their GitHub project
for GitHub Actions for DigitalOcean.
And anytime you do a check-in, it can create VMs and droplets and spaces
and all sorts of cool stuff.
So if you're trying to automate things,
look into GitHub Actions and do that with DigitalOcean,
check them out at pythonbytes.fm slash DigitalOcean,
get $100 credit for new users, which is pretty cool.
All right, last item.
That's the main one here that I want to talk about
is something called TextBlob.
Sounds awesome, right? No,
but it's really cool. So the two main text understanding libraries, I would say, were
NLTK and Spacey. So those are pretty cool. This one is like a higher level library built on top
of NLTK. So instead of just going and processing the text, you can do things like pull in some
text and say, what are
all the sentences? What are the words, the unique words in this document? What are the phrases or
various sayings in there? And it'll find that it does things like lemonization. You know, if you
want to search for goose, but the only keyword you have is geese, like a straightforward search
engine's only going to find, you know, nothing or just the gooses or whatever. So the geese like a straightforward search engine's only going to find you know nothing or just the
gooses or whatever geese so but so the geese you know it'll basically do that normalization
automatically for you does sentiment analysis all sorts of cool stuff and there's a great article
like going through and analyzing a whole bunch of text and showing you how it works so yeah if you
got to do anything with text text blob is it's pretty awesome. It seems like it's really quick and high level,
unless you need to get really deep.
So I'd probably start with that.
That's awesome.
All right, well, that's it for our four items that we're going to have here.
And since this is live, we wanted to give you all a chance
to maybe ask some questions of these guys
or throw a comment out there to get on the podcast or something like that.
So I'll have to repeat it.
It won't really be recorded because the mics don't pick it up.
But just feel free to shout it out if you want.
I'm curious from each of your perspectives,
what do you get most out of coming to PyCon and conferences in general?
Because Mike and Brian are content creators.
Barry, you're a core developer.
Paul's a developer.
So I'm curious what for you is the one or two things you get most
out of coming to PyCon or conferences in general?
Thanks, Jason. What are you? Paul? Left or right?
For work, we come not
to sell but to listen and to
make the PyCharm team face the
consequences of their decisions.
I specifically
come, PyCon is my home
and my family and this is
joy factory of the nth degree for me.
Yeah, for me, it's definitely the people. It's friends that I've known for 25 years.
It's new people that I get to meet. And I find that the hallway track is, for me, the best,
other than the sprints, which I also love, because it's just the synergy of ideas.
This person has a cool idea and they haven't connected with that person who also has a cool
idea that goes together. And that I think is, you can't get that anywhere else. It doesn't
happen online really as much. It just happens when you are face-to-face with 3,500 other people.
I came to try to find sponsors for testing code.
There's people that I recognize their faces from their Twitter profiles or their GitHub or on their blog or something. But I just interact with them mostly over text or little 140 or 280,
whatever we're up to now, and pull requests and things like that. And just being able to see people in person, even just even for a few seconds to say,
hey, you're that guy.
Yeah.
And shake hands and say, I appreciate what you're doing everywhere.
It's an incredible experience and there's nothing like it.
Yeah, I feel kind of like Paul does.
Like this is my geek holiday, right?
Like go to vacation with my family somewhere away from tech, but like,
this is, this is like really special. And I just love, I come, come here to see all of you. You
know, we have such great interactions online, but you know, some of my dear friends, I only see them
at these places, right? Like we connect through the internet, but we don't actually get to be in
the same place except for times like this. So that's, that's what I get out of it. Just making
those connections deeper and more real.
Yeah, maybe another question or two if you guys got it.
Okay.
You said that anybody can be a core developer,
but don't I have to know C to be a core developer?
No.
Okay, maybe can you expand on that a little bit?
Think about it.
So if you are a Python programmer,
like the standard library has a lot of Python code in it, and you can be a Python programmer.
So helping support the standard library is considered being a core developer?
Absolutely. Writing documentation can be considered a core developer. Writing bots that help our workflow on GitHub can be considered a core developer.
I mean, like, expand your thinking about what it takes to be a core developer. I mean, like, expand your thinking about what it takes to be a core
developer. There's a ton of things that help move Python, the project forward. And it doesn't just
require writing C code. All right, I got one more for two of you guys are on the end. You talked
about 1994. I suspect it was a smaller group, smaller conference back then? A little? In 1994, it was 20 people in a government room,
a windowless room.
No windows, yeah.
It didn't have metal walls and you could throw magnets
and they would stick to the wall.
That's pretty cool.
Yeah, that's pretty awesome.
So when I walked into the convention hall,
the expo hall today, the first day yesterday
or two days ago, whatever it was,
and I saw all this stuff,
I felt like even from last year,
there's a little more energy, there's a
little more effort that all the presenters and companies are putting into the space. Like,
with your perspective, how do you guys see that? Did you get that same feeling like Python still
growing? And you know, it's definitely still growing. And I know, so I work for LinkedIn,
and where we're seeing a lot of the growth, or probably most of the growth, is in the data sciences, right?
So that's an entirely new community that has sort of come into Python.
And I think that's fantastic to see.
The thing that I loved about Python in 1994 was how easy it is to understand, to read, and to write.
You could know all of it.
You could know all of it.
And what I think that appeals to is a data scientist who may not be professional programmers. So Python is very
approachable for them. And I think that that is, and you see that everywhere, right? In education,
in the talks that we had this morning, Python appeals to occasional programmers and professional
programmers, small programs, one-off scripts to running Instagram,
right? Like that is incredible. How many languages appeal to that broad of problem space and size
and scalability? I think that's actually key to the growth. You know, my visualization for that
is to think of Python as a full spectrum language. I can start easy and I don't have to know all the complicated stuff, but you don't outgrow it.
Like I could start easy with VB6,
but then it stops real quick.
Or I could start with C++ and build something awesome,
but it starts real hard, right?
But Python kind of goes that full spectrum.
You said you could learn all of it in 1994.
You could also meet all of the people in 1994.
And one of the things we mentioned yesterday,
Spam2, the conferences were called Spam 1, Spam 2, etc.
Spam 2 in Menlo Park,
there were two guys there from the Digital Library Project.
Anyone know what that project was later renamed to?
I'll give you a hint.
You could probably Google it.
So it's probably neat that it was written in Python at that time.
But kind of comparing that to now,
one of the fun things,
I work for a company that makes tools
for programming languages.
I'm an advocate.
We have a Slack channel sitting there.
We talk bleep to each other.
How satisfying is it for me
every time a Stack Overflow survey comes out
and my language is number one,
I paste that URL.
It's like, bam, what y'all got to say about that?
Yeah,
that's pretty awesome.
Yeah,
go for it.
So I have a question for Barry and Paul.
So that meeting in 1994,
was that where the Python secret underground was born?
Or did that come later?
Yeah,
we're not allowed to talk about that.
First rule of the secret underground is you don't talk about the secret underground.
If we do talk,
it's in Dutch.
The PSU definitely does not exist.
All right, Brian, is it time for a joke?
Yeah, let's do the joke.
Yeah, I've adapted this one.
I'll see what you all think.
So you've heard the thing of sort of like randomness
about if you put a million monkeys in front of a keyboard,
they're going to write Shakespeare or something.
Well, if you put a million monkeys at a million keyboards,
eventually one of them will write
a Python program.
The other, you know, 999,999 will write a Perl program.
Maybe APL.
I don't know.
All right.
Thank you guys for being on the show.
Brian, thank you as always for doing this.
Thank you JetBrains and PyCharm team for giving us this live space to do
it and also DigitalOcean for the support. So, and all of you, thank you for coming. It's been great.
Thank you.
Thank you for listening to Python Bytes. Follow the show on Twitter via at Python Bytes. That's
Python Bytes as in B-Y-T-E-S. And get the full show notes at PythonBytes.fm.
If you have a news item you want featured,
just visit PythonBytes.fm and send it our way.
We're always on the lookout for sharing something cool.
On behalf of myself and Brian Ocken,
this is Michael Kennedy.
Thank you for listening and sharing this podcast
with your friends and colleagues.