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


Transcript #258: Python built us an anime dog!

Return to episode page view on github
Recorded on Wednesday, Nov 10, 2021.

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

00:04 This is episode 258 recorded November 10th, 2021. I'm Michael Kennedy.

00:10 And I'm Brian Okken.

00:11 And I'm Karen Dalton.

00:13 Yay.

00:13 Yay. Welcome, Karen. So good to have you here.

00:16 It is quite a delight and an honor. I've been a longtime fan, as they say on the radio, long-time listener, first-time caller, of both of your podcasts and books and Slack channels and training.

00:30 And so I'm really excited to be here.

00:33 Well, thanks for being part of the community and all those ways.

00:35 And you and I got to meet down at Pi Bay in San Francisco.

00:40 That was a lot of fun.

00:40 Yeah.

00:41 I don't know if Brian knows, I arrived at Pi Bay and I was going to be one of the emcees.

00:48 And I saw Michael Kennedy, who I cherry picked to introduce.

00:54 I was one of the organizers and MCs for the event and approached him and overwhelmed him.

01:00 I'm like, you're a super fan. And he was like, so, but he was very gracious about, about being a fangirled just at the registration table.

01:10 Yeah, no, you, you were great to help me out with the talk. Thank you so much. And hey, it's Anthony Shaw on the live stream. Hey, says, hi, Karen. Great to have you on the show.

01:18 Nice. Hi, Anthony.

01:20 Anthony and I just did a show on Pigeon, P-Y-J-I-O-N, the JIT compiler that he just released, version 1.0.

01:27 That talk Python episode will be out today, tomorrow, fingers crossed, very, very soon.

01:32 So stay tuned for more on that.

01:34 But let's start with whatever you brought us, Brian.

01:37 - Well-- - Number one.

01:38 - Well, I figure we really need to talk about Will McGugan because, you know, get that--

01:43 - Has it been a show since we've done that?

01:44 - Yeah.

01:46 So just get that out of the way.

01:47 So on Twitter, Will asked a general question to everybody.

01:51 Something like, if I've got an open source project and somebody files an issue with it, but I have a question about it and I ask them a question and they don't ever respond for a really long time.

02:04 So is there a way to just automatically clean those up or clean them up easily?

02:09 Because we could just assume that the person has figured out or solved the problem or it's not a problem anymore or they don't care.

02:16 So one of the responses which I liked, which I thought was pretty cool was a bot, a GitHub bot.

02:22 It's actually from GitHub.

02:25 It's a bot called Stale.

02:28 So it's a bot that closes stale issues and PRs.

02:31 And the gist of it, like on the 10, it says, it warns and then closes issues and PRs that have had no activity for a specified amount of time.

02:42 That sounds perfect.

02:44 configuration must be on the default branch and the default values will be, it will add a stale label to issues or PRs that are after 60 days of inactivity and close stale issues or PRs after seven days of inactivity.

03:02 If an update or comment occurs during that time frame, it restarts the clock.

03:06 >> I love it.

03:07 >> But for me, since I'm an open-source maintainer, but sometimes I don't pay attention to them for a couple of months.

03:16 I would definitely want to bump that up to make sure that it's at least within my timeframe so that if my own inactivity problems might not be the case.

03:26 - I totally hear that.

03:27 I would love to see one minor change, one more bullet point on the things it does.

03:33 Add a stale label after 60 days, close it after seven days of inactivity.

03:37 A comment will bring it back.

03:40 But I would love to see this bot put a comment on there saying, if we don't deal with this, it's going away.

03:46 That way, the people who submitted the PR will get an email, the maintainer will get an email.

03:51 And so like you're notified the seven day clock has begun, you know?

03:56 Karen, you're shaking your head.

03:57 - Yeah, I mean, I've certainly seen it on open source repos, and it's nice to have that there, but sometimes it's an issue that's important to you, and you don't want it to necessarily go away.

04:12 Like, and I wish there was a way to like say, this is actually really important to me.

04:18 Please don't post it, even if you can't pay attention to it.

04:21 - Yeah.

04:21 - Well, there's, for instance, in one of the settings, there's a bunch of settings.

04:25 One of the settings is a stale issue message or comment on stale issue.

04:28 So it lets you look like it.

04:30 - I thought about it already.

04:31 - That one.

04:33 And I think there's exempt issue labels, labels on issues exempted.

04:38 So you can mark something as, you know, keep this around or something.

04:43 - Oh, see, I don't have that window up, so I didn't scroll, perfect.

04:47 - Yeah, so it looks like it-- - That's what I need.

04:49 - Looks like it does everything.

04:50 - Yeah, this looks well thought out then, I love it now.

04:52 - Yeah, and it's been around for a while, and it's got like, I guess only 498 stars, but it'll be more than that after we do this show.

05:00 - That's right. - Exactly.

05:02 - It'll be at least 500.

05:03 - Yeah, 499. (laughs)

05:07 - No, this is a great find, I really like it.

05:09 So yeah, good one, Brian.

05:11 - Yeah, I think I'm really impressed with GitHub that they've added so many features.

05:16 I use it more than I have GitLab, so GitLab may have as many, in all fairness, but GitHub has added lots of cool features and ongoing development to make things easier.

05:28 As many things have evolved, lots more features added, but things like this that make it easier to maintain things.

05:36 I'm really happy with the way, the direction of GitHub these days.

05:40 So it seems like it's going really well.

05:41 - Yeah. - Yeah, I'm definitely happy there.

05:43 - I use both, I like them both, but GitHub definitely has a focus on the, or at least it feels like it's listening to open source maintainers and their needs.

05:53 - Yeah, for sure, for sure.

05:54 All right, so I wanna show you another one that I think also may involve Wilma Googan.

05:58 I gotta do a quick check here.

05:59 It is called Jut, Jut, Jut.

06:02 Maybe if you're German, it's Jut.

06:04 I don't know, but we could look at the Py Project, Tom will see if Rich is in here.

06:09 It is, okay, so yeah, it definitely involves Rich and Wilma Guggen.

06:13 And what it is, is it's a renderer, not a interactive environment, but a renderer for Jupyter Notebooks.

06:20 And we've had that, you know, in BViewer, things like that, like on the web, but this one is in your terminal.

06:28 So here's the scenario, like you're in the terminal, remote, maybe SSHed into a remote machine, and you're like, oh, there's this notebook file, but what the heck is this?

06:37 What is it?

06:38 I don't have a browser or whatever.

06:40 And so the way that it works, let me pull up this little animation for everyone and have it go, is if you're somewhere, you just say, I'm gonna go with jute, jute, give it a URL, and you can literally give it something off of the internet, and you can even give it like tail command.

06:54 So I wanna see the last 10 cells instead of lines, and it uses rich to colorize and style what the notebook has, including the data cells as well as the actual output, the computation, you know how the notebooks will store their output from the last time they were run, unless you clear them, it'll show that as well.

07:14 What do you all think?

07:15 - I love that.

07:16 I mean, sometimes you get a file and you just wanna check some introspect some portion of it and you can't just do more for cat on a Jupyter notebook.

07:27 - Yeah, you get something completely wrong, yeah.

07:28 - And I don't, sometimes in the space then you're in, You don't, you just want to quickly be able to check what it is and move on.

07:36 And so I love that.

07:38 And I love rich.

07:39 That's that it's, you know, the color, the colorized terminal is really helpful.

07:44 - Honestly, it might have better syntax highlighting the notebooks themselves.

07:49 Brian, what were you gonna say?

07:52 - No, no, just, I love, I really like the focus on the, of tools making things usable on, on command line because I'm a command line lover.

08:04 And I mean, I've got nothing against doing notebooks in a web browser, but things like this make it possible to do things like put them in a pipeline and automate them more easily.

08:16 And like this, it's not really automating using the notebook but it might be, you might make sure that like something is, you know, a regression thing.

08:25 You wanna make sure that things are visible.

08:27 So you can use this to grab one off of a repo or something to make sure nothing weird happened.

08:32 - Yeah, for sure.

08:33 Yeah, it looks good.

08:34 And to bring it back around full circle, Will McGugan out in the audience says, "Neat, that's a new one for me." Hey, Will.

08:40 Yeah, it's always fun to show you projects using your library, 'cause there's a bunch of cool ones out there.

08:46 Awesome.

08:46 All right, well, I'm not sure what else I have to say about this one, other than it was sent in to us by KidPixo.

08:52 Thank you for that.

08:53 That was awesome.

08:54 Keep them coming.

08:55 He sent a bunch of things along.

08:56 Like I said, you can display the different cells, like the first five, last five, whatever you wanna pass over.

09:01 You can also do things like show it to me just in plain text if you for some reason wanna copy it and you don't want the formatting.

09:07 Pretty straightforward to use, but also really nice.

09:10 All right, Karen, you're up next.

09:12 - Adding on to the Jupyter thread, one of the interesting things that's coming out is JupyterLite.

09:19 It is being developed by core Jupyter developers, but it's still unofficial.

09:26 And one of the nice things is static.

09:28 And if you share it with somebody, they can just go to a web page and you can just, you can cache it so you don't have to have a Jupyter notebook server running.

09:39 It's a static page.

09:41 Obviously there's JavaScript and other elements involved.

09:44 And so if you just click on one of those links, try it with JupyterLab, it takes you to a browser that window, as you can see, is a static page.

09:53 It's going to take a second to come up because it's got some JavaScript.

09:56 And if you click on that pile light and then just do like an import this to see a standard kind of notebook.

10:03 Yeah, it has a little, it has a notebook tour.

10:05 If you do an import this, which is a standard kind of test to do the Python mantras, it, you know, it runs simply and that's all just running in a browser.

10:14 So obviously it's, if you wanted to share things with some somebody, it's, It's an easy way for them to see it.

10:23 You would just send them that file and they can open it up and do some additional things.

10:28 It's probably you won't want to run your poor data pipelines in a static web browser window, but it does allow you to do a variety of things.

10:38 There's some sample notebooks included with it that let you do some things.

10:43 You can run through either step-by-step, that you can actually add text into as you saw into the window.

10:50 So it's a nice feature add to be able to run a notebook in a browser window and show some examples of your code in a static way.

11:01 I know that people have sent me Jupyter notebooks or shared them or sometimes you can see them on GitHub.

11:07 There's even tools now that you can do Git diffs.

11:12 There's a service that allows you to do diffs of Jupyter notebooks that you can do that for your pull request reviews.

11:18 But sometimes it's nice to be able to say like, I would like to change this a little bit without like starting up a server yourself.

11:24 So yeah, yeah, we've been able to host these, we've been able to set up notebook servers and host them.

11:29 But there's issues with letting people run code, maybe don't want to let them run it.

11:32 It's only read only.

11:34 And so but this is cool, because it will let you run it in the browser, right?

11:38 Which is using WebAssembly.

11:40 Yeah, exactly.

11:42 They, you can have the JupyterLab look or kind of retro look, which is just very minimalist without that kind of UI.

11:50 So it's, it's a really nice feature.

11:52 I've never tried retro lab.

11:54 Yeah.

11:55 It's just more of a basic like file list.

11:57 It doesn't have that.

11:58 it doesn't have that nice kind of look and feel of the, the newer version of JupyterLab, but it works.

12:06 Yeah.

12:06 Fantastic.

12:07 Just run all the cells and it runs, I guess, in WebAssembly.

12:11 Super cool.

12:12 Oh yeah, that's a good one.

12:14 Brian, what do you think?

12:14 A simple pip install and then you run another command to generate all the JavaScript and things it needs.

12:24 And then once that index file is made, that directory is made, then it's really easy.

12:30 You just open up that index.html on your...

12:33 You can run it on localhost, you can Python start at HTTP server easily with Python 3, so that it will serve that page as well.

12:42 You can even deploy it to GitHub pages or something like Netlify or some other static host.

12:47 Yeah.

12:48 Pretty sweet.

12:48 I definitely think, I agree that you don't want to do big heavy workloads on this, but especially for graphing and interactive stuff and just like tweaking the data a little bit, I think this is amazing to be able to, especially for reports and things.

13:04 There's a lot of places where this is useful.

13:06 Yep. And you have no security issues or worried about people running code or messing with it, because whatever they do, they're doing this themselves.

13:14 - Exactly.

13:15 - Right, there's still little Bobby Tables issues that you have to worry about with a static web browser on your site.

13:22 - Yeah, you definitely wanna lower your surface area there.

13:25 All right, Brian, a bit of an intermission.

13:27 - Yeah, let's talk about our sponsor today.

13:31 So today's sponsor is Shortcut, which is formerly Clubhouse.

13:36 And thank you for sponsoring the episode.

13:38 There are a lot of project management tools out there and I've used a ton of them, but most suffer from a few common problems.

13:46 They're either too complex and it's hard to get started and there's all tons of options all the time make you confused, or they're too simple and you really, you can get started on one project but you can't use it for multiple projects and stuff.

14:00 Or they seem to be like geared towards managers but difficult for engineers or geared towards engineers and difficult for managers.

14:08 I think shortcut is different.

14:09 So Shortcut is built for software teams and based on making workflows easy, which I like.

14:15 So let's say you have a big scale objectives, goals and roadmaps, topics in those and items in those, big goals and roadmaps can easily be tied to teams and individual work sprints and progress on those can be easily flow back into reports at the top level.

14:33 It's keyboard friendly, so you can hook up short codes and stuff.

14:36 So you don't, the UI is intuitive and it's pretty easy to use, but the things you do every day, you can tie those to keyboard shortcuts and make them even faster.

14:46 And it has tight VCS integration.

14:48 So you can update your task progress by just adding a comment or a little key code into your commit or PR and it flows back upstream.

14:59 This is really cool.

15:00 Iteration planning is also a breeze.

15:02 You can see your team activity when you need it, but you can see your own work really easily when you need that too.

15:08 and burden down charts and cycle time and lead time charts are just built in for you.

15:13 It's really, really great to see all that.

15:16 So finally, a project management tool for both engineers and managers.

15:19 Give it a try at shortcut.com/pythonbytes.

15:23 - Awesome, thanks Shortcut.

15:24 Hey, Brian, before we move on to your next item, that Jupiter Lite was sent in by Marcel Millicent.

15:29 So thank you, Marcel, for sending that over.

15:32 - Yeah, nice.

15:33 - Yeah, we always appreciate when our listeners help us do our research 'cause they have all these ideas that we don't know about.

15:39 - Yeah.

15:40 - Yeah, thanks for picking that up.

15:42 - For sure.

15:43 - Yeah, of course.

15:44 - Well, ACK, ACK now, supplies are limited.

15:48 No, I don't actually use that.

15:51 - But wait, you get more.

15:52 - Yeah, I wanna talk about grep a little bit.

15:56 I use grep all the time for finding stuff within my codes, command line tool for finding stuff in files.

16:05 And I'm not gonna cover it in the show, but I threw in in the show notes, if you don't use grep or tools like grep, I threw in a couple of examples in the show notes to get you started real easily.

16:15 It's a, I think it's useful to find stuff.

16:18 One question I did have is like, I've got a command sequence in the show notes that I'd like to have people take a look at.

16:24 I don't have a screenshot for it, but if I want to find like say foo in recursively in all the folders and directories, I can do that easily.

16:35 and I wanna try to eliminate a directory, like don't look in my virtual environment folder.

16:41 I've got a weird thing about using just grep and then piping it to another grep.

16:45 I don't know how to do it easier, so please help me out.

16:47 But anyway, this article I'd like to point to is called Feature Comparison of ACK, Silver Surfer, Git grep, GNU grep, and Rip grep.

16:59 And this is actually really cool.

17:02 So it's put out by the ACK people themselves at beyondgrep.com.

17:08 ACK is a kind of a grep alternative that's written in Perl.

17:12 But this comparison chart says, we need more comparison charts like this.

17:16 And it compares all these different alternatives to grep.

17:21 Silver surfer, silver searcher, sorry, is AG.

17:26 AG for silver, it's kind of clever.

17:28 But the chart talks--

17:30 from the chemical symbol table.

17:32 - Yeah, and also kind of a play on Silver Surfer, the superhero as well.

17:37 So the chart shows like kind of a whole bunch of stuff about all these tools, like what languages are written in.

17:45 Most of them are in C, but ACK is in Perl and RG or Rip Grip is in Rust.

17:51 So that kind of intrigues me.

17:52 I've been enjoying some Rust tools lately, but it goes through a whole bunch of features.

17:57 So I didn't really know that these were all that different.

18:00 So if you're gonna try something new, it's kind of nice to see if the thing that you really need qualifies.

18:05 And it's got some high level features, but then also dives into like specifics, like if you have specific pattern matching needs or output needs, but kind of a cool tool to decide which grep alternative to use.

18:19 - It's cool, I'd never heard of get grep.

18:20 That'll let you grep, but against a get repo?

18:23 - I don't know.

18:24 - It says up at the top that it lets you search a get repository by default, of like search where, right at the bottom of your screen there.

18:31 >> Oh, yeah.

18:31 So that was pretty.

18:33 >> It's interesting.

18:34 >> Repo by default.

18:36 Nice. >> And search your git history.

18:38 That sounds useful.

18:39 >> Yeah, let's try that out too.

18:41 This is cool.

18:42 >> Exactly.

18:42 That's going to make me learn grep.

18:44 >> But actually, so one of the things I do appreciate is if people that write tool, like little tools that are alternatives to something else, often they do look at the landscape to find out what else is out there and try things out.

18:56 So actually, one of the reasons I'm highlighting is this, is I agree with the author that says, we need more of these.

19:04 Take that research you've done and actually publish it.

19:07 Because sometimes one of these tool authors is one of the best people to compare all the different alternatives.

19:13 So, sweet. - Yeah.

19:15 This is cool.

19:15 Nice one.

19:16 I don't use grep nearly as much as I should, or hardly at all, but it seems very useful in this Git.

19:21 Like I said, this Git one might make me learn grep.

19:23 Karen, do you do anything with grep?

19:25 No, it's all good.

19:26 We're happy to have your puppy on the show as well.

19:28 Yeah, featuring a five-month-old golden retriever.

19:32 It's very vocal.

19:33 Yeah, I love Silver Searcher.

19:36 I think it's really super fast.

19:38 If you're, that's my favorite of these.

19:41 A long time ago, I started programming in my backgrounds in molecular biology.

19:48 I started in academic publishing, putting academic journals online.

19:52 And so Pearl is, you know, close to my heart.

19:54 But I'm surprised that, you know, like these Perl tools that are still around, they still work perfectly fine.

20:02 I learned a lot of Perl compatible regular expression use, you know, that PCREs.

20:07 And I remember asking some years ago, you know, in another language, they had PCRE regular expression.

20:13 They're like, what's PCRE?

20:14 You know, it's Perl compatible regular expression.

20:17 So, but AG is great.

20:19 I think in my world a lot of people are submitting data and sometimes you're looking for bets and places and things and so these kinds of tools are really helpful. I use Grep mostly because that's you know, it's easy to pipe it to something else But ag is great great because it colorizes your results without passing a color flag, which is usually more convenient there's a little bit different syntax, so so But I haven't used some of these other ones.

20:48 So this is cool to know about.

20:50 Yeah.

20:50 It's always good to learn about more.

20:52 Maybe I'll try all of them just for the heck of it.

20:54 Nice.

20:54 Yeah.

20:55 All right.

20:55 I want to talk about Airtable real quick.

20:58 So Airtable is like Excel, but it kind of has a database backend.

21:02 It's also got like a Trello aspect to it.

21:05 So I don't know if people are using Airtable for things.

21:08 It also has kind of a Gantt chart or a project management thing.

21:11 I don't exactly want to talk about Airtable, but I want to set the stage.

21:15 I want to talk about PyAirtable.

21:16 So I just had Gui, the maintainer of this on the on-talk Python, to talk about Python and architecture and what they were doing, where he was working was a lot of things were backed by Airtable.

21:30 So PyAirtable is this API to talk to it through Python, which is pretty interesting already.

21:36 But then if you look a little bit more on the docs, it's got, where's the right spot to go look?

21:44 There is under the API, somewhere in here there's an ORM aspect as well.

21:50 So you can even use Airtable like an ORM where you create classes that map to the stuff you're doing over there and do select statements against it and delete them and whatnot.

22:01 So if people are doing stuff with Airtable, here's a pretty awesome way to automate it. What do you think?

22:06 >> I think it's great. Is it done by the same people or?

22:09 No, no, it's done by a guy named Gwee.

22:13 Last name, I'm gonna look, sorry Gwee.

22:16 - I just think it's pretty cool to have, oh, nice name, Gwee.

22:22 - Yeah, Tala Rico, yeah, Gwee Tala Rico.

22:27 And he's also in San Francisco, so he's one of your extended neighbors, Karen.

22:32 - Yeah, the Bay Area is big.

22:36 - Yeah, he was also at Pi Bay.

22:38 Yeah, well, there was a lot of people at mass.

22:40 So even people that are in my community, I'm a co-organizer for a Bay area Python interest group or the longest running Python groups.

22:50 Obviously I didn't start it, but I recently started helping out.

22:56 And even people that I'm in meetings with every month and for a number of years, they'd have to say like, oh, Karen, and even with badges on.

23:06 So I, I, I'm, you try to like spy people or, you know, based on their silhouette, if that's the right person.

23:14 So.

23:15 - Yeah.

23:16 And it was outside, so a lot of people had sunglasses or a hat.

23:18 Yeah, it was, it was tricky, but yeah.

23:20 So he was there.

23:21 So yeah, he maintains this, but it's sort of endorsed by the Airtable folks.

23:26 It's like listed as one of the independent things that they might recommend for people doing Python.

23:31 So.

23:32 - Yeah.

23:33 I think it's great to have a Python APIs for a lot of services that have a Python client to help support them.

23:41 It's really helpful that whether it's written by the company or somebody else.

23:46 And sometimes it's really helpful if you're a small team as the kinds of teams, I'm in a research community, we have small teams to be able to look at the tests, look at their code to see how to use it.

23:57 Sometimes the company's documentation is not great on how to use their API.

24:02 sometimes these extra Python components help you understand their API a little better and what you can do with their API. Some companies are better than others in documenting their own APIs to be able to interact with this. But I know that people use Airtable for a variety of different things and use things like Zapier to connect it to, you know, it's like a Rube Goldberg kind of like stitching together all these kinds of services to do, of a thing at the end, like make toast.

24:31 - Yeah, yeah, 'cause you wanna let the business people still just use Airtable, but you need other things to happen or something like that, right?

24:37 Right, so when they insert this, it's going to heat up that thing, which knock over a cup, which will then trigger an API, like that kind of thing?

24:45 - Yeah, yeah, or send a meeting invite, so.

24:49 - Or exactly.

24:50 - One of the things I like is if, like a company that's using one of these tools, having a Python API allows individual hackers like me to be able to just say, how do I find just the stuff I need to care about?

25:02 And I can write my own little application just to pull out the bits that I need to care about and do it on the command line and probably use rich if I doing that.

25:11 And I only see grep grep air table for things to do.

25:16 Assign.

25:16 Exactly.

25:17 Yeah.

25:17 No, yeah, I've actually done that.

25:19 You can search within GitHub itself or sometimes I'll clone it and kind of offer some keywords that might help me figure out what I need to do a little bit faster.

25:31 Yeah, yeah, for sure. And Neil Heather out there, just giving a quick shout out to Bay Piggies, the meetup group out there. Awesome. Very, very cool. All right.

25:41 We have, we're pretty fortunate in the Bay Area that we have several different, from all the way from down in Santa Cruz. So for people who don't know that, you know, the Bay area is, or depending on how you're looking at it, you know, the San Francisco Bay and, and, and there's meetup groups and Python groups all along.

25:59 And we're kind of a mid to South peninsula.

26:01 there's all the way from up Santa Cruz to up to, SF Python, which runs PI Bay, Grace law, and there's other ones in the North Bay.

26:11 So we're pretty fortunate to have a lot of, really rich, strong Python community.

26:16 Yeah.

26:17 local stuff going on there for sure, which is no surprise in San Francisco.

26:21 But it's also necessary because even though things are close together, you can't get there from here.

26:26 Usually they're separated far by time, if not.

26:29 Yeah, perhaps the traffic has started to pick up again for sure.

26:33 Yeah, same here.

26:34 All right, Karen, you want to do our last item here?

26:37 Touch one more time on some notebook things.

26:39 Yeah. One of the the ways if you're part of a team, Everyone probably knows about the black formatter that helps you Make opinionated decisions or it makes opinionated decisions for you about how things should be formatted So your your team's a little bit more streamlined and now marco gorelli Has who is a creator of a package called nbqa for notebook qa that did things like eyesore and other things Has added into black the black formatter itself um an ability to do black formatting on notebooks, which is great because then it's part of the core package and Support will be even richer. very powerful So you can just run once you've once you've installed it it there's a command there shown on the screen pip install black That you can run uh black on a like notebook, you know - Yeah, there's probably some hotkey or something like within Jupyter itself, right?

27:45 - Say that again?

27:46 - There's probably like some kind of little icon or hotkey or something in there automatically, right?

27:52 I would guess.

27:53 - I don't know.

27:54 I've run it on the command line and the instructions have it run on a command line.

27:59 I don't know if you can run it on itself.

28:02 It'd be like, you know, modifying an array that you're iterating over.

28:05 I don't know if it--

28:06 - Oh, no, I guess I have it backwards, right?

28:08 'Cause this is actually--

28:08 - Yeah, this is actually going into black, not into Jupyter, right?

28:13 So yeah, so it's more from the black side, got it.

28:16 - Yeah, you're running it against a notebook to apply black formatting to the notebook itself.

28:23 - Yeah, but at this point, how long until somebody puts a button into Jupyter to do this?

28:28 - Yeah, I imagine that certainly can happen.

28:31 I think that you have, like in VS Code, you already can apply black or other kinds with F8 formatting within something.

28:40 So I imagine that totally makes sense that you'd be able to apply it.

28:43 But I guess I think about it in that sense.

28:45 It's not the notebook itself that's applying that standardization, it's a package running against whatever kind of thing that you're using, whether it's PyCharm or VS Code or some other tool.

28:56 So I still think it's running against it rather than the notebook itself changing itself, like spinning around like Wonder Woman coming up super sorted. I sort, you know, package import.

29:08 Absolutely. Yeah, this is cool. I really like this. I've always thought that the notebooks lacked a little bit of coding assistance.

29:16 Standardization too.

29:17 Yeah. Yeah. And also black brings that right. But I felt like, you know, if you type a thing dot, it doesn't pull up any autocomplete. You have to do the research to know, well, well, now I have to proactively hit tab to trigger an auto-complete and also formatting is not just a hotkey for format my code or command palette thing to format my code as easily.

29:39 - Yeah, I imagine that, we're lucky that the Jupyter community is really rich and people are committed to it and enhancing on it.

29:48 I know that there's other kinds of notebook systems that are being developed by places like Netflix where they're like, what is the bare bones we can do that our data scientists can run something else.

29:59 But the Jupyter notebook community is really extensively used.

30:04 The community is very active.

30:05 So I'm glad that things like this are being added to enhance its usability and readability and standardize it in an easier way for everyone.

30:17 Yeah, absolutely.

30:18 Well done, Marco.

30:19 All right, Brian.

30:20 I think that brings us to the extras.

30:22 Extras.

30:23 Yeah.

30:24 You got any extras you want to throw out there?

30:26 - No, I just, I'm not gonna like put a link or anything, but I just wanted to comment.

30:33 Some of the times I've been giggling today is because Anthony Shaw's on the show and we talked about Pigeon briefly.

30:40 And every time I hear about Pigeon, I think of the Burton Ernie skit with doing the pigeon.

30:47 I don't know if anybody else remembers that, but anyway, that's my quick extra.

30:52 - Hang on.

30:53 I know that Anthony Shaw likes to run VS Code pets.

30:57 >> Yeah.

30:57 >> Are you sure that's right? I think I saw one of that.

30:59 >> I wonder if there's a pigeon in this pet thing.

31:01 >> Yes, maybe it could come full circle and it could be some kind of pigeon in the pets.

31:05 >> In the pets, VS Code pets.

31:06 >> Like below the project settings, that'd be fantastic.

31:09 >> What are these pets that you're talking about?

31:12 >> Let me see if I can find it. Let's see if I can see VS Code pets.

31:15 Yeah, I don't have a link.

31:16 I don't do that much VS Code, so I don't know all that much.

31:19 But what it is, is it will literally put like a little animated animal in your editor.

31:24 And it can be simple like this.

31:26 This is like a cat that's crawling along like a git diff section.

31:32 Or they can be way more complicated.

31:34 Like here, like see this one, for example.

31:36 There's like a castle and there's a cat that lives in the end.

31:39 Alas, Anthony Shaw says, but there is no pigeon on the pets extension.

31:43 There's a lot of stuff happening.

31:46 Like here, here we go.

31:47 There's like a hunting cat in the forest and all kinds of things.

31:51 So, and Chris May out in the live stream says, "Yet, there's no pigeon in the fight yet." - Yeah, well, pull request accepted.

32:01 - Exactly, exactly.

32:02 Who's gonna be adding this?

32:03 Anyway, this is how we should bring it around, full circle, Brian.

32:07 - Well, do you have any extras?

32:08 - I do, but I always have them.

32:10 So let me ask Karen if she has anything she wants to add or throw out while we're here.

32:13 - Yeah, well, it's a general thing.

32:16 I just helped out at Pi Bay.

32:18 I help out at Bay Piggies.

32:20 And, I just want to off just tell people, whatever, wherever your community is, they're always looking for lightning talks.

32:29 It's good practice.

32:31 it's as, as both of, you know, Michael and Brian that, you know, coming up with show ideas or, you know, meetup talks and finding speakers is a challenge. And so, you know, offering something that you want to talk about is good practice, and the people in the communities around you are really supportive and welcoming.

32:51 And a lightning talk is great practice. It gets you feedback. And I know that for somebody who's who talked at at Bay Piggies, and also for some of the speakers at Pi Bay, you know, I've been willing to work with them on their slides and talk to them how to give the talk and everything To it's it's great practice both, you know professionally and then you have a recording of what you talked about. So, um Tribute you contribute in code or you can contribute in ideas and experience In your learning journey, even if you're just starting out talking about that journey is really helpful talking about a new package that came out and and you guys are doing a fantastic job bringing things up to date, but maybe You know in these other communities people can do that. I just want to just open it up It's not just the experts who are contributing at people at every level in your local meetups can can give a talk and It's good experience. It's good for you. It's good for them. And so i'm just going to encourage everybody to volunteer in your python community Yeah, absolutely And if you're thinking about doing like submitting a talk to say pycon or another big conference doing it locally At your local meetup with people, you know with just 10 people It's a really good way to practice that and get a sense for what it's going to be like if you do get accepted and hone it a little bit.

34:09 Yeah, great feedback and great questions too.

34:11 So yeah, perfect prep.

34:12 Great.

34:13 Yep.

34:13 All right.

34:14 My Apple watch wants me to stand up, but instead I'm going to talk about some extras.

34:18 So first one is I've been playing around with a new password manager.

34:24 I use one password.

34:25 I love one password.

34:26 I use it on all my things, but I've decided that there are certain things I would like to put on the systems.

34:31 I don't want to set up my super important passwords on or I want to share with people and so on.

34:36 I was like, all right, well, what else could I use?

34:38 So I came across a Bitwarden, which is an open source password manager that also has like a cloud backend and mobile apps and all sorts of stuff, browser integration.

34:47 So instead of just running a local encrypted file or something, this is a really good option from what I can tell for setting up.

34:56 It does, it does have a paid plan if you want.

34:58 But if you look at the paid plan, the paid personal plan, it's like $10 a year, you know, like 80 cents a month or something.

35:06 So it's it's totally doable as for only 80 cents a month.

35:11 You too could be secure.

35:13 Exactly.

35:14 For the coffee that you spilled on yourself, the price of that you could have.

35:17 I like this because actually just I know you have a bunch of other stuff, but it's driving me kind of nuts that even like five or ten dollars a month or twenty dollars a month for some things.

35:27 everything is going towards these subscription plans.

35:30 And it's like, it's just storing my password.

35:33 I don't want to pay $20 a month.

35:34 So, yep.

35:35 This also has a self-hosted version, I believe, because it's open source.

35:39 You could run it at your company if that was that the kind of thing you wanted to do.

35:42 So anyway, cool.

35:43 Good recommendation.

35:44 I think this is a pretty neat option.

35:46 Again, I'm still using one password for my personal main stuff, but this is like my, I want another one that doesn't hold all that stuff.

35:52 And it's, it's pretty neat.

35:53 Also, Chris may, I'll give you a shout out for high RVA for the Virginia meetup.

35:57 is also looking for speakers.

35:59 Because Chris, as Karen, and as we know, booking people to come for this kind of stuff is never easy.

36:06 Lightning talks, long talks, whatever, you know, there's lots of options.

36:10 Show up and help us out.

36:12 All right, so Bitwarden, check it out.

36:14 Seems cool, open source bonus as well.

36:16 This one is both a joke and a real thing.

36:19 Okay, so I love it that it all comes together for Python.

36:22 So Patrick Mason, synonymous, said The @PSF is on Twitter.

36:27 The @PSF is searching for an executive director.

36:30 So Iwa has been the executive director for 10 years.

36:35 Thank you so much for that.

36:37 She's finally retiring or moving on, I suppose.

36:40 And so they're looking for a new person, but that's the real part.

36:43 So if you want to apply for that, that'd be excellent.

36:46 The joke is the @PSF is actually the Pacific Salmon Foundation.

36:50 (both laughing)

36:52 So they said-

36:54 - You wanna swim upstream.

36:56 - Exactly, but here's the thing that's funny is the Salmon Foundation replied saying, @thepsf is looking for an executive director.

37:04 @justpsf without the the is not currently looking for one.

37:09 Cheers on a successful search.

37:10 So Patrick come back and says, sorry for the confusion.

37:13 The Salmon Foundation says, it happens.

37:16 We're starting to feel like @thepsf family.

37:19 It's not like @java ever calls us, broken heart.

37:21 (laughing)

37:24 (laughing)

37:25 - Isn't that fantastic?

37:26 - Yeah, that's great.

37:27 Yeah. - Yeah.

37:28 - Good sense of humor.

37:30 Now I kinda wanna give to the Salmon Foundation just for being cool people. - I know, I do too.

37:35 All right, I got a quick pull up a little bit extra for this one.

37:37 So, Kieran, this will relate to you as well.

37:41 So there's this thing called the Anime Gan V2 Face Portrait thing that will take a picture that you put up here and it will turn it into anime in like some really wild looking ways.

37:54 - Oh, wow.

37:55 - Isn't this crazy?

37:56 - Yeah, I wanna anime me.

37:58 - So you can take a picture and throw it up here and get these, they're not very anime.

38:02 Like I don't think there's exaggerated as anime often is, but you put a picture up here.

38:07 Doesn't work very well for me with glasses, but I did put up here a picture of my dog.

38:13 So there's a picture of my dog, which I'll try to link to this in the show notes or something.

38:18 - What kind of dog is that?

38:19 That is a carrier mix of like 10 different things.

38:22 It's very, very sweet, but I can't really give it a type.

38:26 But if you turn it into anime, it looks like this, which is pretty awesome.

38:30 - Well, I think it should have some kind of battle sword or a helmet.

38:34 I feel like-

38:35 - Yeah, it's just way too chill, this dog.

38:37 It needs to be much more ready to go in battle.

38:41 So anyway. - With a slowly forming tear.

38:44 - Exactly. - Go back to the other, the anime, the other spot. - The humans?

38:49 - Yeah, so it looks like there's a movie.

38:53 Can you have real time? - Yeah, I don't know what this movie, I couldn't make it move.

38:55 Maybe if you drop a movie or something up there.

38:58 There's like an Elon Musk, you know, Bill Gates anime.

39:02 - So I was hoping that you could do real time filters so we could possibly do our YouTube all in anime sometime.

39:08 - Oh my gosh, if we could do an episode like once a year where we're in anime, that would be fantastic.

39:13 I would be all about it.

39:14 Yeah, they've got Tim Apple there.

39:16 - Or a Snapchat filter, you know, I'm really on bites.

39:21 I'm not a cat.

39:23 - Exactly.

39:23 Your honor, I'm not a cat.

39:25 I'm ready to proceed.

39:26 - Maybe we could ask StreamYard to update that in our new update.

39:30 - Oh yeah, that would be fantastic.

39:31 All right.

39:32 And then finally, a couple of versions of Python are out.

39:35 The interesting one is 3.11 alpha 2 is now available for people to download.

39:41 We've spoken about Mark Shannon's plan to make Python faster.

39:44 Guido van Rossum has been helping over the last year.

39:47 And I actually interviewed them.

39:48 - Talk Python.

39:49 - Yeah, I interviewed them on Talk Python.

39:50 - Cross, go listen to it.

39:52 - Yeah, I recently had, at the moment, the most recent episode on Talk Python to me is Guido and Mark talking about the work they're doing to make Python five times faster.

40:04 This is the first release that has some of those features in it, and you can test to see if this is any faster on your code.

40:11 So they said they'd love people to try it out.

40:12 So a double shout out there to that.

40:15 All right, I think that's enough time for a joke.

40:17 Although I feel like the salmon one is really kind of also a joke, but it was also real.

40:21 Like if you're looking for a job within the PSF, the PSF, not just PSF, check it out.

40:27 All right, but as somebody who does testing, Brian, I'm hoping this one touches your heart a little bit.

40:32 You ready?

40:33 - Yeah.

40:34 - So here's a picture.

40:35 It's a meme type of picture and it has some text on it.

40:38 It says, "Hot fix in production." Could you describe that for our audience, please?

40:42 This is an awesome picture.

40:44 So you've got like a drainage pipe coming out in the water and it's clearly not attached to, there's, and then it kind of, it's coming out at an angle, then going down, the pipe goes down, straight down.

40:57 - It's supposed to be connected as one big pipe, but apparently not. - Yeah, it's supposed to be connected, but it's not.

41:01 But actually there's a hole in the lower pipe, so the upper pipe actually just directly hit, it all works.

41:07 - The broken pipe on top is being poured into a broken pipe, a hole in a broken pipe that is disconnected.

41:16 So it works.

41:18 - Yeah, so it's a hot fix in production.

41:20 Just make it work.

41:21 - I'm guessing somebody like just noticed the break and then just popped a hole in the pipe in the bottom to fix it.

41:28 - Something like that.

41:29 - Yeah, this is great.

41:31 - I feel like this is that rush to get that broken website, the website is down type of thing, running as fast as possible.

41:38 - Well, yeah.

41:39 - Or it could be Facebook whole internal network can be broken and you have to break out like a saw to saw open the data center door because the network is required to open the door, but the network is down and you've got to get in the door to restore the network.

41:51 Well, actually, you know, some stuff like this happens all the time because you've got like a team that finds a problem, but the problem isn't in their code.

41:59 It's in like some other component that happens to be written by the team in Germany that's on vacation because it's one of their million big holidays.

42:08 And so you just fix it in the other layer or something like that.

42:12 So, yeah.

42:13 - Yeah, absolutely.

42:14 It's awesome.

42:14 All right, we got a little audience participation in this joke.

42:17 Anthony Shaw says, "Integration tests pass." - Exactly.

42:21 - And Wilma Coogan says, "Leaky abstractions." - Oh, nice.

42:25 Well done.

42:26 - Yeah, well done, you all out there.

42:27 And well done to you, Karen, as well.

42:29 Thanks for being here.

42:30 - I'm super excited.

42:32 I've been a longtime fan of both of your work.

42:36 And that--

42:37 - Oh, thanks.

42:37 just thank you for letting me be here. And thank you for inviting me after I super fangirled you at PyBay. Because I appreciate both of your work. Everybody should also help out these two wonderful podcasts, Talk Python, and the Python Testing Podcast, and Python Bytes on Patreon, as I have for a number of years. So super excited to be here. Thank you so much for the invite.

43:04 Yeah, it's great to have you here. Thanks again. Brian, thanks as always.

43:07 Bye.

43:07 See you all later.

Back to show page