Brought to you by Michael and Brian - take a Talk Python course or get Brian's pytest book


Transcript #129: Maintaining a Python Project when it’s not your job

Return to episode page view on github
Recorded on Saturday, May 4, 2019.

00:00 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 Okken and we are Paul and Barry Yeah, Paul Everett Barry Warsaw. Thank you guys for joining us here for this live event It's gonna be a lot of fun our pleasure - Yeah, and also want to say thank you to DigitalOcean for sponsoring this episode as well.

00:30 Check them out at pythonbytes.fm/digitalocean.

00:33 More on that later.

00:34 Right now, I think we're gonna kick it off with our first item, and I'm gonna let Brian do that.

00:38 - So I'm gonna start with actually a talk that was given yesterday, easy research.

00:43 Hynek, and also because I like mispronouncing his name, Hynek, and I'm not gonna try the last name, did a talk called Maintaining a Python Project When It's Not Your Job.

00:53 And this is really important to me because I'm starting to do some projects and I'm pushing out on open source projects and I'm a little scared of that, how much work that's gonna add to my life.

01:04 But it has a whole bunch of great tips in here.

01:07 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.

01:18 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.

01:28 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?

01:35 Building a community of maintainers so that you're not overburdened and how to do releases and deal with that.

01:41 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.

01:47 So I like that.

01:48 So thanks, Hynek.

01:49 - 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 gonna put it on GitHub, but I'm not gonna talk about it because I don't wanna own it as a puppy.

02:01 It's cool, I need it, if people find it, that's great, but you know, it's a challenge, right?

02:05 So it's really cool that he put that talk together.

02:07 - All right, I'm gonna talk about what Barry and I talked about here yesterday, Python 1994.

02:12 It's a talk that we do a lot, and it's a lot of fun in a cave drawings kind of way.

02:17 But yesterday was a lot of fun, And I think it was because we didn't get to talk as long.

02:22 And so we had to leave out all the crap and get straight to the point.

02:25 And part of the point is in 1994, which was 25 years ago, was the first Python event.

02:33 We were at it.

02:34 It was colossal.

02:35 - 20 people.

02:36 - And we talk about how things looked then, what it felt like.

02:41 Did we know it would be like this?

02:43 Of course we knew it would be like this.

02:44 - Yep, I knew that 25 years later we'd have 3,500 people.

02:47 the strategic plans work perfectly.

02:49 And we talk a little bit about a certain phrase that we were uttering back at that time.

02:55 What if Guido got hit by a bus?

02:58 - That would be bad.

02:59 We like Guido.

03:01 - It would still be bad.

03:03 - Yeah, so that was definitely a topic of the first workshop and yeah, I don't know what to, 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.

03:19 And it's kind of led to, through the PSA, the Python software activity, all the way through the PSF, has always been, we want to keep this thing going.

03:29 And I think it continues, not just for the last 25, but for the next 25 years.

03:34 - And Barry will talk a little bit about what the answer is, which is just happening last year.

03:39 But the part that's interesting to me about it is pretending that there's a point.

03:43 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?

03:52 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.

04:00 - Come for the language, stay for the community.

04:02 - Yeah, okay, that one.

04:04 And why would you stay for the community?

04:07 'Cause the Python community is awesome.

04:09 Some of the communities back then were not, and we succeeded because of that.

04:14 Why did we succeed of it?

04:15 because Guido and we are kind and humane because Guido is kind and humane.

04:20 So that's one of the original points to learn from that.

04:23 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.

04:38 One of you listening here in the floor, one of you listening on their awesome podcast is going to be that next badass.

04:45 - Yeah, so should I talk about the steering council a little bit?

04:49 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.

04:59 I mean, I think it was good for Guido's own health.

05:02 - It was abrupt and unexpected, but in the end, I think it was good, yeah.

05:05 - Yeah, yeah, and you know, having gone through the process of the community deciding how they wanna be governed, right, So Guido said, "You guys figure it out." And I think the community did figure it out.

05:18 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.

05:34 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.

05:47 So now we have a steering council of five people that are elected by the core developers.

05:53 And if you want to be involved in that, become a core developer.

05:56 Like everyone here can be a core developer.

05:58 And we really encourage that.

06:00 Except for Paul.

06:01 - What I was impressed was not just the result you came to, but the way you got there.

06:07 and conferred legitimacy on what could have been a controversial and somewhat nasty journey and destination.

06:14 >> Yeah, I think that was really critical.

06:18 That was an important point in, 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?

06:31 Because we're making decisions that will affect Python moving forward, I want to make sure that that is representative of all Python users.

06:39 - I think it's super positive, and I think this is the first time that we've had to decide how to govern ourself.

06:45 It was just, we kind of grew into it before.

06:48 Is this like us moving out to go to college and getting our first apartment?

06:51 Or, you know, what's the analogy here?

06:53 - Yeah, well, we have to eat a lot of mac and cheese, I guess, first.

06:56 - All right, cool, before we go on to the last item here, I just want to say thank you to DigitalOcean.

07:02 I like to highlight stuff that they're doing cool every week on the show when they're sponsoring it.

07:06 And right now, GitHub recently launched their GitHub Actions.

07:10 Are you guys using GitHub Actions?

07:11 Anyone out there to automate stuff when you do check-ins?

07:13 It looks really cool.

07:14 I haven't got to it yet, but definitely looking for it.

07:17 So with DigitalOcean, you can get their GitHub project for GitHub Actions for DigitalOcean.

07:22 And anytime you do a check-in, it can create VMs and droplets and spaces and all sorts of cool stuff.

07:27 So if you're trying to automate things, look into GitHub Actions and do that with DigitalOcean.

07:32 Check them out at pythonbytes.fm/digitalocean.

07:35 Get $100 credit for new users, which is pretty cool.

07:38 All right, last item.

07:39 That's the main one here that I wanna talk about is something called TextBlob.

07:44 Sounds awesome, right?

07:45 No, but it's really cool.

07:47 So the two main text understanding libraries, I would say, were NLTK and spaCy.

07:54 So those are pretty cool.

07:55 This one is like a higher level library built on top of NLTK.

07:59 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?

08:06 What are the words, the unique words in this document?

08:09 What are the phrases or various sayings in there?

08:12 And it'll find that it does things like lemonization.

08:16 You know, if you want to search for goose, but the only keyword you have is geese, like a straightforward search engine's only gonna find, you know, nothing or just the gooses or whatever, geese.

08:26 So, but so the geese, you know, it'll basically do that normalization automatically for you.

08:31 a cinnamon analysis, all sorts of cool stuff.

08:34 And there's a great article going through and analyzing a whole bunch of text and showing you how it works.

08:39 So yeah, if you've got to do anything with text, Text Blob is pretty awesome.

08:44 It seems like it's really quick and high level, unless you need to get really deep.

08:47 So I'd probably start with that.

08:49 It's awesome.

08:50 All right, well, that's it for our four items that we're going to have here.

08:53 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.

09:03 So you have to repeat it.

09:05 It won't really be recorded because the mics don't pick it up.

09:07 But just feel free to shout it out if you want.

09:09 I'm curious from each of your perspectives, what do you get most out of coming to PyCon and conferences in general?

09:16 Because Mike and Brian are content creators.

09:19 Barry, you're a core developer.

09:21 Paul's a developer.

09:22 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?

09:28 Thanks, Jason.

09:28 - Right here, Paul, left or right?

09:30 - For work, we come not to sell, but to listen and to make the PyCharm team face the consequences of their decisions.

09:37 (laughing)

09:39 I specifically come, PyCon is my home and my family and this is joy factory of the nth degree for me.

09:48 - Yeah, for me, it's definitely the people.

09:50 It's friends that I've known for 25 years.

09:53 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.

10:08 You know, this person has a cool idea and they haven't connected with that person who also has a cool idea that goes together.

10:15 And that, I think, is, you can't get that anywhere else.

10:17 It doesn't happen online really as much.

10:20 It just happens when you are face-to-face with 3,500 other people.

10:24 I came to try to find sponsors for testing code.

10:26 - Look how many.

10:27 (laughing)

10:28 - There's people that I recognize their faces from their like, their Twitter profiles or their GitHub or on their blog or something.

10:35 But that, you know, I just interact with them mostly over text or a little 140 or 280, whatever we're up to now.

10:42 And pull requests and things like that.

10:44 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.

10:57 - Yeah, I feel kind of like Paul does.

10:59 Like this is my geek holiday, right?

11:01 Like go to vacation with my family somewhere away from tech but like this is like really special.

11:07 And I just love, I come here to see all of you.

11:10 You know, we have such great interactions online but you know, some of my dear friends, I only see them at these places, right?

11:16 Like we connect through the internet but we don't actually get to be in the same place except for times like this.

11:22 So that's what I get out of it.

11:23 Just making those connections deeper and more real.

11:26 Yeah, maybe another question or two if you guys got it.

11:28 - Okay, you said that anybody can be a core developer, but don't I have to know C to be a core developer?

11:34 - No.

11:34 - Okay, maybe, can you expand on that a little bit?

11:36 (laughing)

11:39 - 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.

11:48 - So helping support the standard library is considered being a core developer then?

11:52 - Absolutely.

11:53 Writing documentation can be considered a core developer.

11:56 Writing bots that help our workflow on GitHub can be considered a core developer.

12:01 I mean, like, expand your thinking about what it takes to be a core developer.

12:07 There's a ton of things that help move Python, the project, forward, and it doesn't just require writing C code.

12:14 - All right, I got one more for two of you guys around the end.

12:16 You talked about 1994.

12:18 I suspect it was a smaller group, smaller conference back then, little?

12:22 In 1994, it was 20 people in a government room, a windowless room.

12:27 No windows, yeah.

12:28 It did have metal walls and you could throw magnets and they would stick to the wall.

12:32 That's pretty cool.

12:33 Yeah, that's pretty awesome.

12:34 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 this, 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.

12:51 your perspective, how do you guys see that? Did you get that same feeling like Python's still growing and you know?

12:56 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 like that's an entirely new community that has sort of come into Python. And I think that's, it'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.

13:21 - You could know all of it.

13:22 - You could know all of it.

13:23 And what I think that appeals to is a data scientist who may not be professional programmers.

13:29 So Python is very approachable for them.

13:31 And I think that that is, and you see that everywhere, right, in education, in the talks that we had this morning.

13:37 Python appeals to occasional programmers and professional programmers.

13:42 Small programs, one-off scripts, to running Instagram, right, like that is incredible.

13:48 how many languages appeal to that broad of problem space and size and scalability?

13:55 - I think that's actually key to the growth.

13:57 You know, my visualization for that is to think of Python as a full spectrum language.

14:02 I can start easy and I don't have to know all the complicated stuff, but you don't outgrow it.

14:06 Like, I could start easy with VB6, but then it stops real quick.

14:11 Or I could start with C++ and build something awesome, but it starts real hard, right?

14:14 But Python kind of goes that full spectrum.

14:16 You said you could learn all of it in 1994.

14:19 You could also meet all of the people in 1994.

14:22 And one of the things we mentioned yesterday, Spam 2, the conferences were called Spam 1, Spam 2, et cetera, Spam 2 in Menlo Park.

14:29 There were two guys there from the Digital Library Project.

14:33 Anyone know what that project was later renamed to?

14:36 I'll give you a hint, you could probably Google it.

14:39 So it's probably neat that it was written in Python at that time.

14:42 But kind of comparing that to now, One of the fun things, I work for a company that makes tools for programming languages.

14:49 I'm an advocate, we have a Slack channel, sitting there we talk, bleep to each other.

14:53 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!

15:04 What y'all got to say about that?

15:06 - Yeah, that's pretty awesome, yeah, go for it.

15:07 - So I have a question for Barry and Paul.

15:09 So that meeting in 1994, was that where the Python secret underground was born?

15:15 Or did that come later?

15:16 - Yeah, we're not allowed to talk about that.

15:17 (laughing)

15:18 - First rule of the secret underground is you don't talk about the secret underground.

15:21 - If we do talk, it's in Dutch, so.

15:23 (laughing)

15:24 - The PSU definitely does not exist.

15:26 (laughing)

15:28 - All right, Brian, is it time for a joke?

15:30 - Yeah, let's do the joke.

15:31 - Yeah, I've adapted this one.

15:33 I'll see what you all think.

15:34 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 gonna write Shakespeare or something.

15:41 Well, if you put a million monkeys at a million keyboards, eventually one of them will write a Python program.

15:47 The other 999,999 will write a Perl program.

15:51 (audience laughing)

15:54 Maybe APL, I don't know.

15:56 All right, thank you guys for being on the show.

15:59 Brian, thank you as always for doing this.

16:01 Thank you JetBrains and PyCharm team for giving us this live space to do it and also DigitalOcean for the support.

16:08 So, and all of you, thank you for coming.

16:10 It's been great, thank you.

16:11 (audience applauding)

16:14 Thank you for listening to Python Bytes.

16:17 Follow the show on Twitter via @PythonBytes, that's Python Bytes as in B-Y-T-E-S.

16:23 And get the full show notes at pythonbytes.fm.

16:26 If you have a news item you want featured, just visit pythonbytes.fm and send it our way.

16:30 We're always on the lookout for sharing something cool.

16:33 On behalf of myself and Brian Okken, this is Michael Kennedy.

16:36 Thank you for listening and sharing this podcast with your friends and colleagues.

Back to show page