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


Transcript #82: Let's make a clear Python 3 statement

Return to episode page view on github
Recorded on Wednesday, Jun 13, 2018.

00:00 Hello and welcome to Python Bytes where we deliver Python news and headlines directly to your buds.

00:05 This is episode 82 recorded June 13th 2018. I'm Michael Kennedy.

00:10 And I'm Brian Ockett.

00:11 And we have, I think, quite a big episode. I'm sure people have heard about this thing with GitHub. What do you think?

00:19 Yeah, I think so. Probably.

00:21 It's definitely when the news about Microsoft buying GitHub came out, it definitely made some waves.

00:25 So we're going to talk about that. Before we do, though, let's say thanks to DigitalOcean.

00:29 Digital Ocean is sponsoring this episode and many of the Python Bytes one.

00:32 So check them out at pythonbytes.fm/digitalocean and get $100 credit, which is pretty awesome.

00:38 So we'll do the GitHub conversation at the end.

00:41 We'll focus on that.

00:42 But Brian, you got something about documenting REST APIs first?

00:47 Yeah, so there's Doug Farrell, I think we've highlighted one of someone's writing before.

00:52 I'm not sure.

00:53 But I definitely remember the name.

00:56 But he wrote on the real Python site an article called "Building and Documenting Python REST APIs with Flask and Connection." So one of the things, as you know, I've been playing with a little command line application on testing code, but I wanted to add a REST API.

01:18 And so this caught my eye.

01:20 And I had also heard of Swagger.

01:22 So this is one of the things that I like about this article is it talks about, first of all, it doesn't assume that you already know what you're doing, which is nice.

01:31 It does talk about what REST is and what REST isn't.

01:34 It has a nice explanation of REST and how that works with web APIs.

01:41 And then I know a lot of people, I think a lot of people use Swagger as a definition, a YAML definition language to define what your API connections are. And so this article uses that. And then also it's a to implement a little CRUD application. And then I had never heard of this connection module or package. And there's a yeah, connection with an X.

02:07 Yeah, yeah. So connection that takes us a swagger file and and helps you to implement the API with Flask.

02:17 And it's just a fairly brief read but I haven't done the demo yet but I'd like to. And one of the things that Swagger gives you, if you're familiar with Swagger, is that if you use it, you automatically get these cool user interfaces for your API that humans can read.

02:37 So it's kind of a self-documenting API system. So taking advantage of that is nice. Yeah, that's really cool.

02:43 I've definitely heard of Swagger and I think Swagger's pretty cool.

02:47 I've checked it out some for some of the APIs I've done.

02:50 I've never heard of Connection.

02:52 It's like, so basically you give it your Swagger file and just say, "Yeah, do that." And it more or less does, huh?

02:59 That's pretty cool.

03:00 Yeah, and then there are some pieces left over that you have to tie everything together.

03:05 So this article goes through that.

03:07 And one of the nice things also that I've seen a lot of REST API tutorials that kind of leave the ending, then you just have like a REST API with nothing using it.

03:17 This article finishes it up with a web application that uses the API with some JavaScript plugging into it, so it talks about that, which is good, 'cause I wanted to play with this, but I'm really not a JavaScript person, so having somebody write that for me so I can play with it, that's cool.

03:36 - Yeah, thanks, Doug, for saving Brian all the work.

03:38 (laughing)

03:39 - Yeah.

03:40 that a connection comes from Zalando, which is the largest online fashion platform in Europe.

03:49 I actually had them on Talk Python a while back, which is interesting.

03:51 I didn't put those two together, although I'm pretty sure we talked about that like two years ago and I just forgot.

03:56 Zalando.

03:57 I like that name.

03:58 Cool.

03:59 Yeah.

04:00 It's pretty cool.

04:01 I'm probably mispronouncing it actually, but that's all right.

04:02 That's pretty standard fare for a podcast, right?

04:03 Yeah.

04:04 Yeah.

04:05 Nice.

04:06 Yeah, that's a good pick.

04:07 I really like it.

04:08 I think Doug's article is well done and it's super thorough.

04:10 So yeah, if you're looking to get into writing APIs with Flask, then this is worth checking out.

04:16 And certainly the Swagger connection aspect is kind of unique, I think.

04:20 So mypy, that's Guido van Rossum's main project, as far as I can tell right now.

04:26 Him and some folks from Dropbox are working on mypy, which is a static type checker for Python, right?

04:33 >> Yeah.

04:34 >> That's pretty cool.

04:35 >> Yeah, I haven't heard much about it yet, or recently.

04:36 Yeah, they're still doing stuff on it as far as I can tell and it's coming along.

04:40 The big news that I got for this next item is there's now a plugin for PyCharm for mypy, which is pretty cool.

04:49 So you just hit, you're like in your PyCharm project, you hit a hot key and then you just get full mypy type checking.

04:55 Okay, that's cool.

04:56 Yeah, I like that.

04:57 Yeah, it's pretty awesome.

04:58 So yeah, this is by Ivan Levkinvitsky.

05:02 Let's see, what did I say about this?

05:06 So yeah, thanks, Ivan.

05:07 This is really awesome.

05:08 And it's great.

05:09 So Ricky Tichy asked, you know, what on Twitter, I'd link to the conversation says, you know, like, PyCharm already has type checking, right?

05:18 So if you pull it up, it'll say, hey, you're calling this function, and it's, it's using it wrong, you're trying to pass an int, and it takes a string or vice versa, says, well, why would I care about this plugin in the PyCharm, which already does that kind of stuff.

05:32 So Ivan had a few bits of feedback said, well, my pie is a little bit more strict and precise than pi charm.

05:39 It's a lot more configurable with rules, and it type checks the entire program like all at once.

05:45 Not just you know what's loaded in your project.

05:48 So that's pretty cool.

05:49 And then sometimes people use my pie as part of a continuous integration path.

05:54 And you might want to run my pie quickly before you do a push, just to know what the outcome will actually be.

06:00 So, you know, hotkey and then you commit.

06:03 Pretty sweet.

06:03 - Yeah, I'll have to check that out.

06:04 It's nice.

06:05 - Yeah, I've been pretty much just leaning on the PyCharm type validation whenever I use it.

06:11 But I can certainly see projects where mypy has lots of value and it's still my working theory that the reason they're so heavily working on it at Dropbox is they're trying to use mypy to convert to Python 3 safely, maybe even automatically.

06:24 - Okay, well, speaking of automatic.

06:26 - That's my working theory based on no data other than outside observation.

06:29 Was that like a really cool segue that I just missed?

06:32 - Yeah. - Okay.

06:32 So I've got, like, what if you had like a tool that could just automatically upgrade for you?

06:39 - That would be fantastic.

06:41 - I know that there's, so there's a two to three already, but it's fairly non-invasive, the two to three.

06:48 I think Python still ships with that, doesn't it?

06:51 I think so. - Yeah, I think so.

06:52 - And I've used it a couple times, but it's pretty conservative.

06:55 It's basically to get you over the hump from two to three.

06:58 But what if you want to go like farther and you want to like, and one of the things that I want to do is I want to take some of the, some of the code I was using prior to Python 3.6 and be able to convert some of the strings to f-strings because they're nicer to read.

07:14 And this will do it for me. I found a tool called PyUpgrade.

07:19 And it's a tool and it also can hook via pre-commit hook that automatically upgrades your syntax to new versions of the language.

07:27 - And it does all sorts of stuff, not just f-strings.

07:30 And the f-strings also is optional, so it doesn't do it by default.

07:34 If you're converting to Python 3.5, don't do that.

07:36 - Yeah, it'll crash.

07:37 - But for instance, the set literals have changed.

07:40 You can have an easier to read set literal syntax.

07:45 Also dictionary comprehensions and some things like that.

07:48 The Unicode's changed a little bit.

07:50 And yeah, anyway, being able to automatically do that, it's pretty fun.

07:54 - Yeah, that's pretty awesome.

07:55 And two to three is make it run on Python 3.

07:59 Whereas this looks like make it embrace Python 3.

08:02 - Yeah, definitely.

08:03 And yeah, dictionary comprehension is just awesome.

08:06 So you may as well use the better syntax.

08:09 - Yeah, that's pretty awesome.

08:10 And then you have another one for documentation, right?

08:12 - Yeah, so this was a pretty short little thing I thought I'd go along with this is, and we've all heard of black and we've talked about it a few times on the show.

08:21 but an extension to this is Blackened Docs.

08:25 So it runs black on your REST and Markdown, or RST and Markdown files.

08:32 For any of the code examples inside of there, it makes sure that those are blackened also.

08:37 So that's fun.

08:38 - That's pretty awesome.

08:39 You've got maybe like a little bit of demo code for your project that shows how to use it and that's in your documentation.

08:46 You could blacken it and boom, it's formatted like the rest of your code, right?

08:50 I think Black and Docs also, I was thinking it runs as a pre-commit hook, but I'm not sure if it does or not.

08:56 But, and that's, actually, I don't think we've talked about pre-commit, so maybe that's for another time.

09:01 - Yeah, yeah, let's talk about that.

09:01 But definitely, so, you know, sort of as part of your GitHub check-in, just magic happens.

09:07 Or your Git check-in, yeah, awesome.

09:09 All right, speaking of awesome, DigitalOcean, they're pretty awesome, both as an infrastructure provider and for supporting the show.

09:15 So, you can go from zero to a running server about 60 seconds, they have a bunch of cool different types of servers even have one click apps, you want to ghost blog server on Linux, press a button, you know, 3040 seconds later, you have it all set up and running.

09:31 Super nice.

09:32 Like I said, you get $100 credit for new users.

09:35 If you go to Python bytes, dot FM slash Digital Ocean and check them out, all of our stuff is running on it, at least all the you know, Python bytes and my things are running on it, which has been super flawless, like super happy customer and going to continue to be And if you want to be as well get a credit check them out Python by set of them slash digital ocean so we've talked about Python and we've talked about legacy Python and I believe that that original terminology of legacy Python was from Matias Poussinier who from the Jupiter project actually had him back on episode 44 of talk Python and He's part of this project called Python three statement org. So this was sent over by Bruno Allah. Thank you that for that Bruno and And the idea is to have these projects make a public statement of dropping support for legacy Python sooner.

10:27 Yeah, and we've seen that for some projects already, right?

10:30 Yeah, that's right. And you'll see, you can go there and you can see the ones that are listed.

10:34 So they say they now have 44 projects that are pledged to drop legacy Python in less than 30 months.

10:40 And some already have, which is awesome, like Django, for example.

10:43 I don't know if Django is even listed there, but they should be.

10:46 Maybe they didn't make a pledge, but they did it.

10:48 Anyway, it basically shows you various projects that are committing to it.

10:53 And the main motivation is like, we have tools and we have techniques to support legacy Python, but at the same time, it's like a small but constant friction on newcomers, on adding new features, and you just have to keep making sure your code works.

11:08 Right, like when, I think it was Django, when they switched to Python 3 only, they were able to drop a bunch of code actually get smaller have less to maintain. So that's pretty awesome. They say over there on their site, they say they're keen to see Python three reach its full potential. And they think that they don't want to, you know, they're happy to have these projects support Python to to help smooth that transition, but not forever. Right? And they actually one of the things I like about the site is they have a really nice why switch to Python three with like articles from say, Brett cannon and other folks. It's pretty cool.

11:40 It also has a timeline, a visual timeline that you can see the different projects that are signed up for this.

11:45 Oh, that's nice.

11:46 And when they're...

11:47 So this seems pretty heavily dominated by the data science crowd.

11:50 And I think that's because the folks that put the Python3statement.org together are data science people and they just have, you know, greater interactions and leverage on those projects.

12:02 So I'd like to see other projects like, you know, Django could come and be part of this and it would take them zero effort, right?

12:07 because they're already doing that in Django 2 and things like this.

12:11 So, yeah, I just want to encourage people if they have a project to go over there and make a statement.

12:15 I'd like to see more projects do that too, because there's a lot that I utilize that aren't done here.

12:20 But there's, and they make it real easy.

12:22 You can either, they said that they've got a GitHub issue tracker, you can just submit an issue with your project information and have somebody else do it.

12:30 Or you can submit a pull request on this tool to pull in the information.

12:34 So both those are cool ideas.

12:36 So no reason to not do it.

12:37 That's right. I definitely love it. Soon we will speak of Legacy Python in the past.

12:42 Well, there's an elephant in the room.

12:44 It is. Don't you mean a really giant octopus cat thing?

12:48 [laughter]

12:49 Octopus cat thing?

12:50 Yeah, the Octocat. That's the logo of GitHub.

12:52 Okay, okay. Got it. Forgot about the cat part of it, so.

12:56 Yeah, the head is a cat and the bottom is an octopus. I don't know.

12:59 You know, it's a pretty non-standard sort of creature, but it's like a platypus, but it's the cat octopus version.

13:04 Okay.

13:05 It is definitely big news and I think the Twitter was blowing up with people both somewhat cautiously optimistic I'd say, and two totally freaked out.

13:16 And that is that Microsoft has paid or agreed to pay $7.5 billion for GitHub.

13:23 Yeah, that's a lot of money.

13:24 It is a lot of money.

13:25 When I first heard about that, I was a little bit on the slightly negative side of things like, "Oh man, really?" The more I've looked into it, the more I feel like this is probably a positive thing.

13:39 So you and I haven't really had a chance to talk about this.

13:41 You've been like hanging out at the Eiffel Tower and stuff fun like that.

13:44 So yeah, so this is our first chance to get to chat.

13:47 Yeah.

13:48 So tell me what's your thought on this?

13:49 Well, I like you, I was a little bit on the negative side at first.

13:54 And then actually you shared with me a article called that everyone complaining about Microsoft buying GitHub needs to offer a better solution.

14:02 And it's not just a Glib article, it's actually a nice article that talks about some of the history.

14:07 One of the reasons why I like it, it talks about it from the GitHub side of saying really GitHub needed to go somewhere.

14:15 So it was still, I didn't know that GitHub was taking VC funding and didn't have a good roadmap ahead of it to, or at least there's a speculation is there wasn't a sound model to continue.

14:30 Because the way GitHub makes, I mean, GitHub spends money in it, clearly, but it makes money on the enterprise side.

14:36 And it kind of makes sense to have, so this article talks about the three potential, it makes sense to have it be bought, or to, and to be bought by somebody that already has ties into enterprise, have an enterprise sales staff and stuff like that.

14:50 So the, it said, potentials were really Microsoft, Amazon, or Google.

14:54 I think that's what that listed.

14:56 Yeah, pretty much.

14:57 Yeah.

14:58 And that makes sense.

14:59 From that standpoint, so on the side of being able to sell enterprise, GitHub enterprise, those three totally would make sense.

15:06 And so I actually, after reading that, I'm like, actually I would have been okay with any of those people buying it.

15:14 But Microsoft is not the evil empire that it used to be.

15:18 So I guess I'm kind of okay with it.

15:20 So how about you?

15:21 >> That's sort of where I came around to as well.

15:23 I did a lot of looking into this, a lot of research when the first few days when this was out to sort of figure out, okay, I have a gut reaction, but how should I feel about it?

15:33 Like, I didn't realize how much trouble GitHub was actually in, like, they have been like, they went like six months or something without a CEO at all, because they just couldn't find one, which is not super encouraging.

15:47 They took tons of VC money.

15:49 There's a really interesting retweet, a self retweet, something like a selfie tweet, I I don't know whatever David Hanamaya Hansen retweeted himself when this news came out.

16:01 And he tweeted something that he wrote when GitHub first took VC money back in 2012.

16:06 He said, I love the GitHub product to bits.

16:09 We're proud paying customers and I hope they figure out how to disarm this VC time bomb before it blows up.

16:15 That's what he said in 2012.

16:17 So of course, 2018, GitHub's time bomb has exploded right on time with the sale of the Microsoft of the sales of Microsoft.

16:24 And I think, you know, when you take VC money, it's not okay to just be doing all right, right, you got a 10 exit.

16:31 And if you're not 10x in it, something's going to happen, like a sale, or, you know, if it's going really great as an IPO, if it's not going super great, it's some kind of sale and acquisition.

16:41 And, you know, they sort of went down that path, you know, maybe GitHub wouldn't be what it is today if it weren't for that VC money.

16:47 But it does sound like something had to happen.

16:49 They had so they had this sort of VC pressure, they had, you know, financial pressure, they had the sort of organizational stuff with like not be able to find a CEO.

16:58 There's a guy who was a CEO, Chris, I forgot his last name, sorry, was the CEO in turn.

17:03 Then he stepped down and he became the CEO again, and they stepped back down.

17:07 And so now, Nate Friedman is going to be the CEO.

17:10 He's the co founder of Xamarin, which is pretty awesome.

17:14 And I think if you look at Microsoft's history of acquiring companies and either making them awesome or making them not awesome. There it's a mixed bag a little bit. Right. So for example, under the not awesome category, people have put Skype, I think I don't know, Skype was actually having some issues as well. But it's Skype seems to always be changing and never amazing. Like it doesn't ever stabilize on a UI. It's just always like, why is this hard? Wait, it's differently hard now. I don't know. Now it's hard in a different way. But anyway, so like, that's one example of not so great. But I think an example of really them shepherding something pretty well is Xamarin, right Xamarin was a big open source way to build mobile apps on C#.

17:56 They and Xamarin did a lot with bringing.net to Linux so they bought them and I think they're still doing pretty well as independent organizations.

18:04 So a bit of a mixed bag.

18:06 I feel like taking care of a developer space is better than than other tools.

18:11 And like regarding the Skype thing, although the interface might be all weird and occasionally, I still rely on it and it's still there.

18:19 I would rather have it be there than disappear without an owner if that was the other option.

18:23 Yeah, absolutely.

18:24 I know one of the fears is what's going to change with GitHub.

18:28 And I think it's big enough and in everybody's face enough that I don't think they're going to make major changes right away because they're under a microscope and they always will be.

18:38 I think the other thing is you got to look at where Microsoft is the last three or four years in terms of what their priorities are.

18:46 We got such an Adela who's doing pretty good stuff.

18:49 But mostly what I mean is, it used to be how can we make this jammed into some sort of lock in for Windows?

18:56 How can we make it like some kind of thing for office, you have to do, you know, things like that.

19:01 Whereas lately, it's always it's all about Azure, Azure, Azure, how can we get people to use Azure and Azure is their cloud stuff, right?

19:09 It doesn't matter if you use Python or dotnet or Linux or Node JS or whatever, right?

19:15 So I feel like there's not going to be pressure to say push people to one of their languages or something like that.

19:22 But there probably will be like up sales to Azure and hey, if you get GitHub Enterprise, you get a certain amount of Azure credits.

19:28 So you get like, brought into that world.

19:31 I think that that's the angle.

19:33 And I don't think there's going to be a lot of negative pressure because of it, right?

19:38 Like I can resist an Azure ad just as much as I resist all the other ones.

19:41 I don't really care.

19:42 But if they, you know, said, oh, it only really like GitHub really only works well if you use Visual Studio, like that would be super bad.

19:48 I don't think that that is even in their interest, as they see it these days.

19:51 So I feel like it's probably going to be okay, unless they screw something up on accident.

19:57 I don't see that they'll screw it up on purpose.

19:59 As the community noted, you can always switch to GitLab if you want.

20:02 You can.

20:03 Yeah, yeah.

20:04 I was amused by that.

20:05 I buy that and also pleased I didn't I don't.

20:08 At first there were people going, there's like a mass exodus out of GitHub into GitLab.

20:14 And although the imports from GitHub to GitLab are going up dramatically, it's really kind of a drop in the bucket for how many projects are on GitHub.

20:24 >> Yeah, exactly.

20:25 >> But I do like that there's some discussion to say, hey, everybody, GitLab is not that bad.

20:30 I've used GitLab and I actually kind of like that this has highlighted the fact that it's it's not bad for something to be in GitLab, even if you're trying to get people to contribute.

20:39 It's pretty much the same process, so it doesn't really matter too much.

20:43 - Yeah, that's cool.

20:44 So in summary, sort of like summarizing my feelings, like I'm kind of like genuinely cautiously optimistic.

20:51 I think Microsoft brings tons of resources to GitHub, and maybe GitHub will be more awesome.

20:55 They're gonna keep running as a independent organization.

20:58 They've got somebody who's pretty awesome leading it.

21:00 So these are all good things.

21:03 - Yeah.

21:04 But the Linux Foundation actually said something pretty surprising.

21:08 So they wrote up an official thing on after a few days and said, Microsoft's GitHub buy is a win for open source.

21:15 And one of the guys there who's been I forgot his name has been super anti Microsoft sort of said, Look, these are all the reasons why this is good.

21:22 And I'm happy for it, which is, you know, surprising, I suppose.

21:25 That's cool.

21:26 And then also the Nat Friedman did an Ask Me Anything session on Reddit, where there there was quite a few questions and answers on like what's gonna happen and things like that.

21:37 - Yeah, that's cool.

21:38 - There's Adam also, like how does Adam and code, they're kind of overlapping, so they'll keep both of those, things like that.

21:47 - Yeah, that's encouraging.

21:48 And it's also interesting that VS Code is based on Electron.js, which was extracted out of Adam.

21:54 Right?

21:55 So Electron.js used to be called Atom Shell.

21:58 - Okay, interesting.

21:59 - Yeah, it certainly is.

22:00 - Yeah, so one thing I do want to throw out there for people who want to dig into this a little bit more is this podcast called Exponent.

22:08 It's one of my absolute favorite podcasts, actually.

22:11 And the guys there, they basically do tech business analysis and they did a really nice job of looking at the sort of motivation and the pluses and negatives of Microsoft buying GitHub.

22:23 So I'll link to that in the show notes, episode 154.

22:26 - Yeah, I listened to that, it was good.

22:27 The one thing I thought was interesting nobody's really mentioned the, to me, the obvious truth that Microsoft would just rather be the owner of GitHub than have any of its competitors be the owner of GitHub. I think that's real and legitimate. I agree. And one other, like I had said my positive, the negative that I somehow forgot to tie together there was the thing that made me just go, "I'd rather not see this," even at the beginning was this is such a consolidation of a really major tech player. We already have so many things being sucked into Google, Facebook, Amazon, Microsoft, and there was like this nice independent place that wasn't any particular technology stack at all. It was just GitHub. You could go there and you build your software and they didn't try to encourage you to use Ruby or whatever it was. They're just like that was a place where the code goes And now there's less of that in the world, and I think that's a negative.

23:26 - Yeah, there's still GitLab.

23:27 - There's still GitLab, that's true.

23:29 Yeah, there's definitely, I mean, there's also Atlassian Bitbucket, right?

23:31 So that's another possibility as well.

23:34 But I think GitHub still is a special place for social coding and open source collaboration, and I don't think it's gonna change.

23:40 - It'll change if they muck it up.

23:42 And yeah, so we're a pretty fickle group, but I think they know that.

23:47 But we've seen, yeah, we've already hashed.

23:50 Microsoft is a different company towards open source than it used to be.

23:53 - All right, well, that's our thoughts.

23:56 If you have your own thoughts, feel free to put them in the show notes at pythonbytes.fm/82 and just go to the discuss section down at the bottom.

24:04 All right, that's it for our news.

24:06 Brian, you got any extra stuff you wanna chat about?

24:08 - No, not really, other than I did figure out how to bring home a over 100 year old Venetian glass chandelier on an airplane.

24:17 That was fun.

24:18 - (laughs) That's insane.

24:21 Can I get a bulkhead seat?

24:22 My chandelier needs to have a little room to breathe.

24:25 - Yeah, I had to take the thing apart and put it in bubble wrap and put it in two suitcases.

24:29 - Oh, how interesting, that's awesome.

24:30 - We made it.

24:31 How about you?

24:32 Anything going on?

24:33 - Nothing too major.

24:33 I'm working on a couple of projects like always and have news on them eventually, but I do wanna give a shout out to PyLadies.

24:40 So we were just in Cleveland, Ohio, right?

24:43 Had a nice time at PyCon there not long ago.

24:44 - Yeah.

24:45 - Yeah, so Cleveland now has an official PyLadies.

24:48 meetup or group. So they just launched and they're the first meeting on June 22. And I linked to their meetup and their Twitter and everything in the show notes. So if you're interested in pie ladies, and you're somewhat near Cleveland, or you can even stream it live, I think they're streaming their stuff live on YouTube. So you could check that all out just in length of show notes. Awesome. That's great. Cool. Yeah, one more good step down that path. That's awesome. Alright, so thanks. And it was great to share the GitHub conversation Yeah, it was. I thought we'd be more argumentative, but we're pretty much in agreement.

25:20 Yeah, that's too bad. Would have been fun, but we don't argue too much, I don't think.

25:25 All right. We'll talk to you next week.

25:27 Yep. Catch you next week. Bye.

25:29 Thank you for listening to Python Bytes. Follow the show on Twitter via @PythonBytes.

25:34 That's Python Bytes as in B-Y-T-E-S. And get the full show notes at PythonBytes.fm.

25:40 If you have a news item you want featured, just visit PythonBytes.fm and send it our way.

25:45 we're always on the lookout for sharing something cool.

25:48 On behalf of myself and Brian Okken, this is Michael Kennedy.

25:51 Thank you for listening and sharing this podcast with your friends and colleagues.

Back to show page