Skip to content

Commit aa9c326

Browse files
authored
Merge pull request mikeckennedy#216 from talkpython/master
sync some new transcripts back
2 parents 2018105 + eba8291 commit aa9c326

File tree

174 files changed

+16001
-635
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

174 files changed

+16001
-635
lines changed

transcripts/049.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -306,19 +306,19 @@ For a free, no obligation 30 day trial just go to snap.ci/talkpython.
306306

307307
57:17 Yeah, very cool. Two other questions- if you are going to go write some Python code what editor do you open?
308308

309-
57:23 I am actually currently opening visual studio code, or VS code, I have very little allegiance to code editors, I totally jump around constantly, I learned Vim way back in my undergrad days, and used that for a long time, but I've tried Eclipse, I was a Text Mate user for quite a while until updates kind of dried up and then I ended up switching to Sublime, especially when Sublime 3 beta came out using Python 3, and i was like I can throw a couple of bucks this way to support someone going with Python 3, but then updates kind of slowed up a lot. And then, I used Atom for a while, from GitHUb, I was using that and I actually still do. I joined Microsoft and Microsoft released VS code and we actually announced-
309+
57:23 I am actually currently opening Visual Studio Code, or VS Code, I have very little allegiance to code editors, I totally jump around constantly, I learned Vim way back in my undergrad days, and used that for a long time, but I've tried Eclipse, I was a Text Mate user for quite a while until updates kind of dried up and then I ended up switching to Sublime, especially when Sublime 3 beta came out using Python 3, and i was like I can throw a couple of bucks this way to support someone going with Python 3, but then updates kind of slowed up a lot. And then, I used Atom for a while, from GitHUb, I was using that and I actually still do. I joined Microsoft and Microsoft released VS Code and we actually announced-
310310

311311
58:16 Which is not the same thing as Visual Studio, right?
312312

313-
58:18 No, not at all. So, Visual Studio is an integrated development environment, right, it's a full fledged IDE, it does everything, and if you like IDEs it's actually really great. It is Windows only though, and it is an IDE and I am personally a code editor kind of guy, like I like separate tools like I will have a git bash open to do my own git work, I don't need an IDE to give me a fancy tree view of all my branches, for instance. I like having a separate code editor. And, VS code is more like Atom, then it is like Visual Studio, but it is from the same team, so it's from a team that's been doing code editing and IDE development for basically decades. So there is a lot of worth of knowledge there for the design of it. And, we have actually announced that my team, which is in charge of Python tools for visual studio was actually a really cool plugin which lets you do crazy stuff like the plug across Python, and C code and other stuff. We are actually in charge of adding Python to VS code
313+
58:18 No, not at all. So, Visual Studio is an integrated development environment, right, it's a full fledged IDE, it does everything, and if you like IDEs it's actually really great. It is Windows only though, and it is an IDE and I am personally a code editor kind of guy, like I like separate tools like I will have a git bash open to do my own git work, I don't need an IDE to give me a fancy tree view of all my branches, for instance. I like having a separate code editor. And, VS Code is more like Atom, then it is like Visual Studio, but it is from the same team, so it's from a team that's been doing code editing and IDE development for basically decades. So there is a lot of worth of knowledge there for the design of it. And, we have actually announced that my team, which is in charge of Python tools for visual studio was actually a really cool plugin which lets you do crazy stuff like the plug across Python, and C code and other stuff. We are actually in charge of adding Python to VS Code
314314

315315
59:17 Oh that's cool to hear.
316316

317317
59:18 Yeah. We don't have a time line or anything like that but my manager announced it on hacker news, so I can talk about it publicly that we have been put in charge of doing that once we get around to it. pythonjobs@microsoft.com. 
318318

319319
59:34 Very cool, there is a lot of stuff going on in Python around there, more than people might think, these days.
320320

321-
59:37 Yes. Exactly, so I am actually using VS code because I want to make sure |I fully understand it for one we do development with it and know where we need to add stuff in and be familiar with it, so that I can be either contributing to project or at least be an internal tester  of all the stuff we have.
321+
59:37 Yes. Exactly, so I am actually using VS Code because I want to make sure |I fully understand it for one we do development with it and know where we need to add stuff in and be familiar with it, so that I can be either contributing to project or at least be an internal tester  of all the stuff we have.
322322

323323
59:52 Right, and adviser, very cool. So the other question is, on PyPi, there are many thousands of packages, everybody has their own sort of favorite that a lot of people don't have experience with. What is yours?
324324

transcripts/191.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -298,7 +298,7 @@
298298

299299
01:05:50 Steve Dower: Yeah, Windows, Mac, Linux, having .NET core support for all of those platforms is... I feel like that's the limiting factor right now. Obviously it's Electron based so anywhere that can run, it'll work. But some big pieces, especially the Python support are running at .NET core, so that's about the limit. That's still a really big limit. Even got some old versions of Linux distros that we support because it works there where really most people would not dream of using them. But you can run VS Code there. It's a tool, it's got to run where people want to use it. We can't force you to upgrade your operating system just for the editor.
300300

301-
01:06:27 Michael Kennedy: Yeah, that's great. Alright, I definitely think there's a ton of energy around VS code, and I think that whole Python extension editor side of the story deserves like sort of mention in the Python's journey at Microsoft even though I didn't get it till the very end here. Then notable PyPI package?
301+
01:06:27 Michael Kennedy: Yeah, that's great. Alright, I definitely think there's a ton of energy around VS Code, and I think that whole Python extension editor side of the story deserves like sort of mention in the Python's journey at Microsoft even though I didn't get it till the very end here. Then notable PyPI package?
302302

303303
01:06:44 Steve Dower: Yes, so one that I'm really excited about right now, the Azure machine learning team recently came out with their new product and the name is very similar to a lot of things we've had before. So it can be tricky to track through exactly what it is, but Azure Machine Learning Service is basically an entire service for being able to do your machine learning tasks. Everything from data cleaning to model management and deployment in a way that works really nicely, balanced between your local editor and running stuff and pushing stuff in the cloud. So it's got a whole lot of nice functionality for hey, run this job in a cluster that is this big, let me know when you're done. And run that training job and then store the model somewhere, you get good history of all the models that have ever been published. And that's one of the products that has come out with only support for Python. If you want to use that, you're using Python. There's actually no other options right now. So I'm excited about that. But one particular part of that package that's really cool is the Azure ML data prep package. So this is one part of it. But it's the part for, I have a file on disk or I have a set of files on disk that have some raw data in it and I need to pre-process. I need to clean, I need to extract data from certain columns and split them into more. I need to add more columns, I need to remove rows, I need to replace missing values. It's a library for doing that. It does a couple of really cool things. So if anyone's used flash fill in Excel, which is this cool feature. You can try, just put in a list of people's names, just first name, last name, however many names in one column and then start splitting them out manually. You put a few examples of like type the first name in the next column then the last name, and do that for two or three. And it will suggest splitting up every single row using those examples. And figure out how to do it. That's been in Excel for a while, it's also in this package. So you can take a raw data file that has, maybe it has the date and time in those same column and you say okay, here's a couple of examples of how I want it split up. Put the date here and the time in a separate column and it will figure out how to do that. And it will use those examples and then you can run it, stream it over a huge huge file that won't fit in memory and it will do it to the whole thing and write out a new file that's being pre-processed.
304304

transcripts/209.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
00:02:09 Michael Kennedy: For sure. So am I. So before we get into all those topics though, maybe let's just sort of set the stage with you as a guest so folks know. Tell us what you do day-to-day maybe in your regular job in the opensource space. You've got a lot going on.
1010

11-
00:02:20 Brett Cannon: My job is actually divided into two sections. One is I am a Principal Software Engineering Manager now as of last month at Microsoft leading the dev team for the Python extension for VS code.
11+
00:02:20 Brett Cannon: My job is actually divided into two sections. One is I am a Principal Software Engineering Manager now as of last month at Microsoft leading the dev team for the Python extension for VS Code.
1212

1313
00:02:36 Michael Kennedy: Right on. Congratulations. That's great.
1414

@@ -320,7 +320,7 @@
320320

321321
00:51:16 Michael Kennedy: Yeah, yeah, of course. It definitely would, yeah.
322322

323-
00:51:17 Brett Cannon: Yeah, so I personally haven't bumped up against that. But the other thing I would say is Python's been successful at the corporate level for quite some time, I would argue, right? It's not like Instagram showed up yesterday, and Instagram is probably one of the largest single Python applications in turns of volume of users out there. So I don't think it's necessarily any different than any other growth we've seen in the community. I mean, from my perspective on the Python extension for VS code, for instance, I do see somewhat uptick in terms of people learning. And I definitely see that as increasing over the last year and a half since I've been leading that team. I haven't seen it shift and sort of, like, all these corporate people coming without this. I can't use this, blah blah blah.
323+
00:51:17 Brett Cannon: Yeah, so I personally haven't bumped up against that. But the other thing I would say is Python's been successful at the corporate level for quite some time, I would argue, right? It's not like Instagram showed up yesterday, and Instagram is probably one of the largest single Python applications in turns of volume of users out there. So I don't think it's necessarily any different than any other growth we've seen in the community. I mean, from my perspective on the Python extension for VS Code, for instance, I do see somewhat uptick in terms of people learning. And I definitely see that as increasing over the last year and a half since I've been leading that team. I haven't seen it shift and sort of, like, all these corporate people coming without this. I can't use this, blah blah blah.
324324

325325
00:52:04 Michael Kennedy: Oh yeah. That's good.
326326

transcripts/217.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -488,11 +488,11 @@
488488

489489
00:50:43 Michael Kennedy: That's that's a pretty good point. Alright, cool. Well, it's been a super interesting compare and contrast, the .py versus the notebooks, a way of working. But thanks for both of your sharing the stories. And let me ask you a quick question before we get out of here. Although I'm, especially Rong, I'm sure I'm going to be able to guess your answer here but... So, if you're going to write some Python code, what editor do you use?
490490

491-
00:51:06 Panelists: Video Studio Code. You guessed right. I said, if I'm writing some Python code, usually notebooks but I used to be a Vimer and now I use the Vim extension for VS code when I'm in an editor environment.
491+
00:51:06 Panelists: Video Studio Code. You guessed right. I said, if I'm writing some Python code, usually notebooks but I used to be a Vimer and now I use the Vim extension for VS Code when I'm in an editor environment.
492492

493493
00:51:21 Michael Kennedy: That's cool. You kind of brought them together.
494494

495-
00:51:23 Panelists: It was just been great. Yeah it's nice. All the key mapping. I need my key... Yeah it's all in there. So when I can get that with the power VS code, I'm happy.
495+
00:51:23 Panelists: It was just been great. Yeah it's nice. All the key mapping. I need my key... Yeah it's all in there. So when I can get that with the power VS Code, I'm happy.
496496

497497
00:51:33 Michael Kennedy: You'll be happy, awesome. And then, you know, there's so many packages out there that people might know about. So, you have you come across one that's like, oh, wow, this is really cool, people should check it out a notable PyPI package?
498498

transcripts/233.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@
6666

6767
00:10:29 Joseph Mancuso: So I'm taking a lot of those concepts and trying to come home and apply them to Masonite.
6868

69-
00:10:34 Michael Kennedy: Yeah, excellent. All right yeah, so let's dig into the Python web frameworks. So speaking of Masonite, if you go look at the usage stats, we've got 40% Django, 40% Flask, plus or minus a couple in there. A little bit down from there we've got like Pyramid, I think it's like 6% was the last usage I saw there. That rounds out a significant portion of what is Python and web frameworks. But we talked at the opening, it used to be well, Flask, Django, which are you? It's kind of what was the greeting or whatever amongst the Python web developers, right? The last two or three years, there have been so many different frameworks. We have Japronto, Sanic, Vibora, Starlette, Fast API, Hug Falcon, it's not even a super clear connection, API star for example. So there's Starlette and there's Fast API? So there's a handful of websites that actually use Starlette underneath. I think Responder from Kenneth Reitz for example is one of those. So there's just, there's like this layering on of what people's different ideas of the Python web world should look like. And how would you summarize that? Is that looking at trying to make type hints do interesting things? Is that Async? What are the trends that you're seeing in all of those or kind of in general there?
69+
00:10:34 Michael Kennedy: Yeah, excellent. All right yeah, so let's dig into the Python web frameworks. So speaking of Masonite, if you go look at the usage stats, we've got 40% Django, 40% Flask, plus or minus a couple in there. A little bit down from there we've got like Pyramid, I think it's like 6% was the last usage I saw there. That rounds out a significant portion of what is Python and web frameworks. But we talked at the opening, it used to be well, Flask, Django, which are you? It's kind of what was the greeting or whatever amongst the Python web developers, right? The last two or three years, there have been so many different frameworks. We have Japronto, Sanic, Vibora, Starlette, FastAPI, Hug Falcon, it's not even a super clear connection, API star for example. So there's Starlette and there's FastAPI? So there's a handful of websites that actually use Starlette underneath. I think Responder from Kenneth Reitz for example is one of those. So there's just, there's like this layering on of what people's different ideas of the Python web world should look like. And how would you summarize that? Is that looking at trying to make type hints do interesting things? Is that Async? What are the trends that you're seeing in all of those or kind of in general there?
7070

7171
00:12:00 Joseph Mancuso: So this is mildly controversial and I actually argue a lot with the people inside the, well not argue, debate a lot with people inside the community of. The correct answer is that the trend is moving towards asynchronous frameworks itself, like the actual framework code is built around some kind of ASGI server or asynchronous server. That's the trend, I'm not entirely sure I agree with the trend because I feel like it forces a lot of people that are new to all of this to sort of see the trend and sort of prematurely optimize their application. So if their application is like a blog framework for example they're like yeah, this blog framework, I mean, sorry this blog application can handle 15,000 requests per second but does it need to? Does it really need to do that? I mean that is really cool, and especially if you try to load balance across two of these applications, you can handle like thousands and thousands of requests per second, but I feel like it's more of a premature optimization. And then when they use these frameworks like a lot of times, they have to start writing their code with the idea of it being also asynchronous as well. Like thread safe I believe it is and all that stuff. And they can't just take any ORM off the shell. They have to use a asynchronous compatible ORM. It basically narrows down a lot of your decision-making. If you need to create an API or something, some kind of small micro service, just hit API endpoints, get information from a database. That's 100% the way to go. If you're creating a bunch of micro services, maybe for a one monolithic application and that's 100% the way to go. But that's not the way I like to create my applications, right, yeah. So most people just want to create like a service, like a SaaS or something.
7272

@@ -86,7 +86,7 @@
8686

8787
00:15:54 Joseph Mancuso: It's a tool that you should reach for if you need it, but it's not something that you should default to just because it handles more requests per second. That's my take on it.
8888

89-
00:16:01 Michael Kennedy: Cool, yeah so I do see a quite a number of those that I mentioned like Starlette and Sanic and whatnot focusing Fast API or whatever, focusing on this Async aspect. But another aspect that I see being used a lot is things like type annotations and some of the other Python 3 features to try to make some of those features help with the web framework for example. Does Masonite do any of that?
89+
00:16:01 Michael Kennedy: Cool, yeah so I do see a quite a number of those that I mentioned like Starlette and Sanic and whatnot focusing FastAPI or whatever, focusing on this Async aspect. But another aspect that I see being used a lot is things like type annotations and some of the other Python 3 features to try to make some of those features help with the web framework for example. Does Masonite do any of that?
9090

9191
00:16:25 Joseph Mancuso: We'll probably talk about more of this when we get into the Masonite part but Masonite has something called an inversion of control container, an IoC container or a service container which utilizes type hints and the short answer and we'll do the long answer later. The short answer is basically in the controller code and the controller method, you can type hint a class and Masonite will inject that class for you.
9292

0 commit comments

Comments
 (0)