PyCoder's Weekly 2024 Top Articles & Missing Gems | Real Python Podcast #233

Real Python · Beginner ·📰 AI News & Updates ·1y ago

Key Takeaways

Reviews PyCoder's Weekly top articles and missing gems from 2024, covering trends, highlights, and Python news

Full Transcript

welcome to the real python podcast this is episode 233 Pyers weekly included over 1500 links to articles blog posts tutorials and projects in 2024 Christopher trro is back on the show this week to help wrap up everything by sharing some highlights and uncovering a few missing gems from the pile we share the top links explored by py coders readers we also dig into Trends across all the Articles and stories this year we highlight a few gems that we didn't cover on the show and a couple that explore the overall themes of the Year we hope you enjoy this review we look forward to bringing you an upcoming year full of Great Python news articles topics and projects all right let's get started [Music] the real python podcast is a weekly conversation about using python in the real world my name is Christopher Bailey your host each week we feature interviews with experts in the community and discussions about the topics articles and courses found at real python. after the podcast join us and learn real world python skills with the community of experts at real python. hey Christopher welcome back hey there first episode of the year yeah all right so we're gonna cover a lot of 2024 as far as py coders we're we're calling and get our high coders weekly 2024 top articles and some missing gems and some uh interesting shout outs so I'm excited to dig into it but we'd be remiss if we don't include some news since there's actually quite a bit of it so you ready to dig into that yeah for sure this is what happens when you don't have a Pik oders episode in a while we've got lots of news yep let's start out with a plethora of release notes plethora is fun to say uh I don't seem to be able to spell it without help but this is an audio format so that doesn't really matter so much besides me admitting to the world that my written documents are filled with squiggly little red lines where was I right so let's do this rapid fire numpy 2.2 is out there was a security release for Django meaning 4.2.7 5.0.10 and 5.1.4 and similarly there was a bug fix release for python giving you enough numbers to pick and buy your lottery tickets so 3921 note I started with 3.9 3.8 is officially dead yeah yeah 310.16 311.11 that's just fun 3.2.8 and we're already on 3.13.1 now yesterday when I was putting all my notes together I had the intent of making a sarcastic remark about there being no Alpha this week and then guess what my inbox this morning sure enough add python 314 Alpha 3 to the list so there's a release for everyone nice two more news things both are conferences so Pon us 2025 which is in Pittsburgh and will be from May 15th through this 22nd is now open for registration and Pyon Austria 2025 has issued their call for papers their call for papers is open until March 15th and the conference is in Eisen stad on April 6th and 7th so if any of that is interesting to you we've got links in the show notes for you to check out I think we have one other extra one the psf has a year-end fundraiser membership drive and it's a a page that talks about kind of a whole bunch of things I'm not sure it doesn't have quite a deadline I mean it does say year end so we're just past that but at least has a lot of information about becoming a supporting member joining where to donate to the psf and then it has some nice highlights from 2024 things like changes to the grants program and so forth they also a couple new roles that have been filled which we've mentioned in passing but uh a couple additional ones like there's a couple new critical infrastructure staff that have been added so check that out and in case you're curious the money for that goes to things like pii and you know the security folks and helping out with conference funding and all that kind of good stuff so it's a it's a good good good use of the cash so you have some news you uh a couple of announcements sure announcements is a funny way to pronounce self-promotion so yeah so I had the pleasure to be invited to Alan wia's podcast a flying high with flutter for those who aren't familiar flutter is a guey toolkit for the dart programming language and if you're wondering why the python Django guy would get invited there well flutter gets used for mobile Dev a lot and Django often ends up being the back end in that stack okay we live streamed it so there was the expected but python is slow conversation from the crowd and but most of it was how to use Jango and especially the API toolkits like ninja and graphine for your mobile work episode is slated to come out on January 1st which is the future from this recording but a couple days in the past of our release so you should be able to go check it out if you're curious should be available nice and the other bit of self-promo is both Mr Bailey and I have joined the social media platform Blue Sky a lot of the Python Community is moved there from Twitter if you're headed over there follow us and join the conversation one of the features that blue sky has is the ability to curate lists of folks to follow these are called starter packs so for example if you're interested in Python people you could click on Michael Kennedy's python personalities starter pack and either follow everyone in the list or pick and choose from them uh in fact uh Rodrigo hiroo which I'm going to butcher until he gets really angry at me uh even posted a collection of these starter packs so there's one for the psf board members another one for python authors and teachers list of folks in the community and then Michael's list that I just mentioned so we'll link both to our accounts and Rodrigo's post so that you can check out the starter packs if you're getting started in Blue Sky and yeah I think it's a great way to get started on that platform I'll give you a bunch of people to follow it's something that is unique in these Services usually that was something where it was like you were told who to follow by the platform and here the members of the community are building these things in very specific which I think it's great it's a yeah kind of kind of a neat thing for 2024 if you will a social network that's being a little more you know since we are all about links here at real python and this podcast and py coders having a platform that is all about links is really great too is part of the web as opposed to being a a wall Garden yeah and that's it I'm done I'm tired it's your turn to blather so I'm gonna mute my microphone now and you can chat for the next 35 minutes go talk to yourself okay um I I get the pleasure of covering the top articles by our own estimation this is uh we've done this the last couple years I think and we've wanted to just talk about okay what what what are the popular things as far as the pie coders article so some of these things you may be familiar with already and it was just sort of an interesting set we'll talk about that a little bit more uh so these are the top fiveish I I added an extra one here so I'm cheating already so the first one is probably the most fascinating one of the bunch it's build captivating display tables in Python with great tables and this is one of the podcast episodes It's episode 214 and I had uh Richard and Michael from posit on and they came on to talk about creating these beautiful display ready tables it's a really neat package called great tables that is coming from the r world it was really great conversation but I think people were maybe excited about the idea of making display ready tables which is a little different than you know a lot of data science people you end up just seeing just a straight up data table something that's you know right a data frame out of uh pandas or polers or something something like that and this is more like the kind of stuff you'd see like maybe in a magazine or see in a really well done presentation and it gives you all these great tools to make things look really beautiful as far as tables uh just like you do with graphs and and charts and things like that definitely check it out the second one is titled overview of the module itter tools and this is by Rodrigo somebody we just mentioned a little bit ago we featured a handful of things from rrio in the past the article proposed es the top three iterators that are most useful from the module iter tools and classifies all of the 19 iterators and five categories and then provides usage examples inside of it he's a great instructor he really likes to teach through his blog and he's as we mentioned a good person to follow on social media because he's always linking to good resources and so forth so that one's from Rodrigo the next one is another bit of a surprise it's a video course and this is from our previous guest and real python core team member Philip xeny it's titled customize vs code settings what's unique about it is you download the stock version of vs code and it has a lot going on it's a little clutter to look at and one of the things that we've had to do as we've created video courses internally at real python is figure out ways to declutter it a bit and make it a little more presentable for showing the python and not so much the Chrome of the interface and so forth so this talks a little bit about that also my favorite part of it is showing you how to manage the settings meaning that you can save these settings and since vs code is available on pretty much every single platform in OS you can think of you can just copy those settings across and have the same kind of look and feel so it's more not necessarily you know like you need to have it look this way but how to touch all those buttons and get to those controls and then move those settings back and forth uh so a lot of nice tips and tricks for wrangling the look and feel of a very popular IDE the next one is what I usually feel is a very common thing at the top of our list it's titled modern good practices for python development so kind of a wide ranging article this is from Stuart Ellis the one funny part of the whole thing to me is that in red the biggest piece of Vice that is like a big shout out is avoid using python 2 and I don't even think that I even hear that anymore it's interesting but it is true good advice like you know we're well into the Python 3 era as you can tell by the list of updates you mentioned python 38 is off the list now so this is a a big list of suggestions very opinionated giving you ways to get started using Python and I don't know what else to say it's so huge I do like that it starts with talking a little bit about installing I still have my qualms with how a lot of people like to justest how to install python I still think going to python.org is the best bet but he has suggestions on developing python projects using certain tools and then formatting your code suggestions about code linting and testing and then he gets into very specific python stuff language syntax using datetime objects with time zones application design and then some specific libraries so it's a very good collection of stuff modern good practices there the next where would we be without a top list without talking about speeding up python I've heard it slow yeah exactly this is titled async IO event Loop in separate thread and it's by Jason brownley his site is titled super fast python the async IO event Loop runs inside your main thread but as that's the one that is used by The Interpreter sometimes you may want the event Loop to run in a separate thread so the article talks you through why and how how to set all that up so again ways to kind of work with threads and then work with inside the async iio event Loop and uh managing that I have uh extra mention at the end of this uh we mentioned leadon us so often on the show and I wanted to call out that number six would be python protocols leveraging structural subtyping protocols they specify the methods and attributes that a class must Implement to be considered of a given type you learn about not only Python's protocols but how they can help you get the most out of the type hint system and static type Checkers in working inside of python so any surprises for you Chris I can maybe mention mine first if you want sure go for it okay again I'm excited to see a podcast episode get the attention of course but especially because it's one of my favorite ones I really enjoyed talking to those guys I talked to a bunch of data science people this year about a lot of different packages I'll mention some more coming up later in this show but I feel that some of these things don't get as much attention and they really make a difference you know in your projects especially for people that doing day in day out working with data science and there's some real movement there when there's so much AI stuff getting mentioned all the time last year we had lots of mentions of other like languages for writing in Ai and things like that and so we didn't have as much of that this year it's really interesting to see a video course in there though vs coat is an extremely popular tool and it's free so that's kind of those go together there the customization thing is an inter angle that was like kind of one of the introductions I had to a lot of podcasts when I got in deeper into programming myself and thought of that as well that's something I could maybe check out in podcast form customizing your setup is so popular and talking about what editor you're using and all these kinds of things I I think part of that whole thing is people just get very excited about suggesting how to do that sort of stuff getting started suggestions is always an evergreen thing you where to start and so I feel like it's kind of a cross-section a Viva section of the Articles yeah and that that's kind of sort of where I was I think everything in the top five surprised me like if you'd asked me what was going to be in the list I'm not sure any of these would have been what popped up but then when I saw them it was like oh that makes sense but that there was just a little bit of a yeah that you know if if you'd asked me to make a list this wouldn't have been it yeah we get a chance here in a moment and there's Michael Kennedy recently had a guest post on the pie charm blog talking about Trends in Python in 2024 and we'll link to it because it's it's a decent little article but one of the things he kind of wrote about was the the diversity of the community and in fact he he pulls in one of the graphs from the state of python survey there was a question which is how long have you been programming in Python 25% of respondence it's less than a year and so for those of us who've been at this for a while uh you know like there's certain articles that you sort of like pick a blogger and they've all done a version of decorators right and and in fact I was I I was curating the newsletter this morning and sure enough I popped another article on decorators and because you see it over and over again it's hard not to remember sometimes it's like well but that's going to be the first time someone has seen that's the first time 25% of Python program will have seen a decorator article right so yeah yeah there's somebody born every day who uh exactly and then you know the flip side of it is half of respondents had more than three or five years I can't remember what it was so it's kind of on one head it's surprising on the other hand it's kind of not surprising that you get things like how do I configure my editor and then on the other side you've got I want to do this really complicated thing with co- routines that I probably shouldn't and both of those are in the top list right so yeah yeah I think it kind of speaks to the bread of the folks who are interested in this stuff and I guess the the breath of skill sets in our readers I think the one fascinating thing is the thing that's missing like where's the python 313 it's there it's just a little further down the list so yeah I I'd have to go back and double check but I think three of the releas candidates are in the top 100 so yeah it was buried a little further down the you know the article content that was generated on it didn't get that much but the actual hey here's a release candidate go download it did so so there there was stuff I don't want to call it a big or small release I mean you know there's a lot of work goes into all this sort of stuff but it definitely was not a newsy release yeah so much of it focused on the back end of it which is fantastic and I think it's setting the groundwork for some good things coming yeah there there was no anger about the walrus operator or anything like that that would cause all sorts of fuss right yeah yeah and it's it's funny how I'm back to the 25% of respondents less than a year I'm dating myself because that's an argument from five years ago but anyways yeah in addition to uh Michael's post there was another sort of year-end wrap-up one that I came across that I thought was useful which was Carlton Gibson wrote a state of Jango in 2024 as well yeah so if you like these kind of you know urine review kind of Articles we'll link to both of those so that you could check them out yeah cool I mean the other big uh news in D Jango this year was uh somebody put out a book I think yeah I'm not sure whether that was newsworthy but um buy more copies and maybe it will be how's that there you go all right I guess that would be other question as somebody looking at this I I don't know in some cases that what we feature on the show is definitely stuff that we're a little more interested in and so forth did you notice other trends that you want to mention as far as the Articles and stuff kind of coming in that was submitted uh it's I think most of it's the stuff that you kind of expect right you know spoiler alert you're going to be talking about this later but you know UV was sort of the yeah yeah was the Big Bang of the Year there was a lot of content on that you also get flavors of this uh you know like I'm I subscribed to a half dozen different newsletters and in the python space and some of them it was like all AI all the time like almost everything was llm this llm that right I tend to sprinkle that very lightly in so uh so what one editor considers news is not necessarily what another one does yeah I that waste the hard time and we I mean I definitely like to focus on the stuff that people can interact with it and very often the AI stuff is very start upy and sometimes very unactionable like there's not much you can do with it I guess Simon would be the one uh Simon Willison is like the one person I think that's kind of you know finger on the pulse of what's happening with AI and I like to get him on the show next year that's definitely a goal or I guess I should say this year 2025 here so yeah the articles in that space that I've liked this year there have been a couple that were more of the hey here's a neat project you can do and use that API rather than rather than like the math behind it right so we we linked to an article recently which was building a like a little mini Django website consuming all of the content from Wikipedia feeding that into a chat engine and then essentially giving yourself a uh natural language interface to the data inside of Wikipedia so you could ask it questions right yeah and from a programming standpoint this was because all that AI stuff is hooks through other people's libraries this was really only three or four hours worth of work right so so I find those articles more interesting like what people are doing with this yeah you know rather than the argument about how many look ahads and all the rest of that kind of stuff yeah yeah that's partially just because I'm old and I have survived several AI Winters and I'm looking forward to the next one so uh we'll see how that goes I don't know if I want to talk about it but the Sam Alman moving the goalpost stuff I don't know if you've been following that of like he's saying that yeah AGI is is much closer than than we really think and you know it's really not going to be as impressive as we think right and it's like okay those are really interesting things that are maybe getting you out of some kind of contract yeah that has the word AGI in it anyway uh you can follow news on the verge for that kind of stuff if you want yeah no I I did research in this space in the 90s when I was in university and at the time it was it was the middle of an AI winter and it was because of everyone had been doing Vision processing right and it was and everyone just assumed because that problem had almost been solved that AGI was just around the corner and like the research is now what is helping self-driving cars be able to do that so it's not that benefits doesn't come out of it but right right it's like kind of the NASA thing right yeah one of the props I worked with kind of sardonically commented and I think he stole the quote but it was basically we Define AI is the things we don't know how to do yet and then and then the computer science people come along take one of our algorithms and it becomes the norm and therefore it's no longer AI right yeah and so it's like yeah that's just Vision processing now that's not really artificial intelligence anymore so like so so the the goal post Smo both in the positive and in the negative right so yeah it's just pathf finding and video games exactly that's right yeah it's m Max optimization nobody considers that machine learning anymore that's that's just how you do it right yeah so yeah [Music] yeah this week I want to shine a spotlight on another real python video course it explores how to send messages across a network with python the course is titled programming sockets in Python and it's based on a real python article by Nathan Jennings your video course instructor is my co-host Christopher Trudeau and he takes you through a review of the networking Concepts used when writing sockets the tools and techniques to get you started exploring sockets you'll write a simple socket server and client and then an improved version that handles multiple connections simultaneously using selectors you'll wrap up with a server client application that functions like a full-fledged socket application complete with its own custom header and content real python video courses are broken into easily consumable sections and where needed include code examples for the technique shown all lessons have a transcript including closed captions check out the video course you can find a link in the show notes or you can find it using the enhanced Search tool on real [Music] python. so we did want to pick a few others some gems as we mentioned at the top there to unearth out of it and what's your first one yeah so I've grabbed a couple articles that were in pie coders but we didn't highlight in the podcasts um you know due to space or time or whatever the one I'm going to start with was back in September we linked to an article by Ary lamstein titled why I'm switching to polers AR's most recent job was a data science engineer at a marketing analytics consultancy company so as his title implies he's mucking around with data a lot spends his days in RS and pandas but at the time of the writing had recently sort of switched over to pollers and the post was kind of talking about why he doesn't spend much time knocking pandas in it just sort of praising poers for what he felt was a more intuitive approach he starts out and maybe this appealed to me because of the the teacher in me but he he he talks about something called Bloom's taxonomy this is a tool for training trainers which conveys the levels of progress in knowledge it's often depicted as a pyramid with the bottom Bottom Rung the base of the pyramid whatever you want to call it is the phrase remember and and what this means is if you can't remember a thing then you can't possibly learn it right that first step is remembering it and then it progresses up through a list and at the top is that whole sort of creation so you've got enough knowledge that you can create new work or build on top of the work yeah so Ari felt that the polar syntax was easier to remember and as such he found he wasn't fighting the bottom of the pyramid anywhere near as often as he was to just use it to solve a data question which is of course what he's trying to do so to highlight his point he goes on to show a very simple data filtering problem uh read some content in from a CSV that's got uh us counties inside of it filter that data for all the counties named Washington for our non- us listeners it seems like every county is named Washington in the United States there's a lot of them uh and then uh selecting out and subsetting some columns from the result so in polers you use the filter function to subset the rows then chain a select function to get the columns out you want and the beauty of this is the operations have names and the row and Co column operations are distinct so you're not going to it makes this easy to remember right that surmounts that first step of blon's tonomy and you're not going to you're less likely to muck It Up by contrast pandas can be a bit messy so I figured that this was going to be a do loock thing or maybe a iock thing so he headed off to co-pilot to get a suggestion co-pilot said oh don't use loock use square brackets and then it was like square brackets in square brackets inare square brackets and so he went uh cop that is there another way and then it's like oh sure you could use loock and then just two levels of square brackets and the query quickly started to look like a pearl program uh lots of punctuation not much Clarity I kid the pro programmers I used to be one I still have line noise nightmares uh yeah go Google line noise young young children uh anyways AR's preferred our library is something called tidy verse which takes a similar approach approach to polers and again by using names makes it more reasonable for a human to figure out so so if you're a data science dude or dudette this post has a nice little comparison between a couple different languages and four different libraries and might help you change your mind about which one you want to use so uh yeah one of our hidden gems from this year so I've probably talked about my working between R and python a lot as I was learning both about the same time when it's in this marketing job and I was learning about the Tidy verse in are just right away the the names of things the names of these actions and the chain ability of it which became more of a thing I think in pandas as we've kind of gone along made it really easy to think in my head like how I want to structure stuff and that was something I really enjoyed about it so I was always looking at ways to kind of get that stuff over and poers uh definitely does that and you know I had Wes McKinny on the show this year and we talked a little bit about you know kind of where pandas came from and you know that he was working in finance and you know we discussed the whole idea that it's kind of built upon numai and there's a lot of these interesting limitations about when he built it and how it was built and then kind of like moving it Forward I added the subtitle to the episode of improving the data stack and making composable systems the idea of breaking apart these systems and making it so that things can interoperate and then that was interesting that was episode 193 that had Wes on and then in episode 224 I had uh Marco gerelli on and we talked about narwhals which I feel like is like this other trend of like this idea of building tools to help the tool makers in this case helping people be able to move so that their Library can support all the different things that they can do in pandas in polers also instead of having to write all of that themselves that was really sort of this data frame compatibility layer that uh you can basically add uh Nar wals in and that was dis briefly uh in the great tables episode which I mentioned earlier and then can of came up again and I wanted to feature I talked about in episode 230 very recently marimo talking to OE agoal and he came on the show to talk about that you know reactive notebooks and he actually does use narwhals there to help with their ability to go back and forth and so that that really has been a trend and I think it's partly what you're saying just this idea of it's much easier to kind of conceptualize in your head I think a lot of the ideas that are inside polers so what I Am featuring here kind of as a transition is an article from this may that's from oay that is titled Lessons Learned Reinventing the python notebook and yes I had him on the show recently and I think everybody knows how much of a fan I am if you've listened to that episode of marimo It's an open source alternative to Jupiter notebooks but it's so much more and I like this article I think it I don't know how many times we this year we've talked about programming techniques design Aesthetics and like planning in advance what you're doing all that sort of stuff I think it's a really great article in the sense that he describes his whole process he created a big design document and I feel like so many coders just go and they build the Prototype which we talked about which can be sometimes disastrous because you sometimes are stuck with the Prototype and he really wanted to make sure he did do that he had these pillars of things that he wanted he wanted the notebook to be reproducible wellp specified as far as the execution order while still allowing interaction and he wanted it to be maintainable a key thing that he really wanted that it would be pure python so that the code would be versionable and be portable and then he wanted it to be multi-purpose so that it could be like an a web app or it could be executed as a script or be used like in a pipeline without any extra hoops and so this whole piece that I'm mentioning here of the Lessons Learned shows all of that it shows his work as as you're going along there are some interactive marimo notebooks which is one of these great things we talked about how it implements py script and so you can kind of see some of those windows inside there and get to play with it a little bit yourself the big goal of it was how can you make this thing not have hidden state which is a big problem with Jupiter notebooks where you can run cells out of order if you want want and so the state isn't obvious by just reading through the cells of a notebook linearly in this particular case he had to come up with an idea of how could we do that so he uses a dag a directed ayc graph and so every reference is sort of connected inside of it and it's very reactive in the sense that if you change a variable it changes across the entire notebook it actually scans through the notebook and and runs that and it's pretty impressive the maintainability thing that it talks about a lot of notebooks store information as Json if you were to look at what a a Jupiter notebook looks like it's hard sometimes to even just see the python code inside of it and he really wanted it to be a a pure py file that adds this whole idea of it being git friendly add the ability for humans and computers to read you can look at the diffs between stuff it could be importable which is something that is really hard to do with notebooks so you can import it as a module you can also run it as a script or you know you can just edit in a text editor so you don't necessarily need an IDE for it I like this article and it's a great way to kind of show off you know a lot of the themes that we've talked about this year this idea of like thinking about your design for just diving into it and I feel like uh oay did a really good job with that and he was a great guest so uh definitely check out that episode if you haven't checked it out what's your uh next one so in May of this year we linked to an article by Steven Keta I believe this was before we stole him away to real python so see see boys and girls write good stuff and someone might offer you a job yeah anyhow this post is called what's a python hashable object or more fully the title is where's William how quickly can you find him what's a python hashable object with the subtitle you can ignore reading about hashable objects for quite a bit but eventually it's worth having an idea of what they are so rather an all- incensing title Stephen likes to write using analogies which can be quite helpful if you're trying to get get a deeper understanding of some more obscure topics this PO talks about a fictitious character named Winston who has just started their first day on the job Winston's trying to find someone in the mess of a cube farm at their new company and there aren't a lot of Cubes well so you start out by going one by one and then on his second day at the office the number of Cubes has changed making a linear search more problematic on his third day at the office it's grown again I think I want to own the moving company that has the contract for this place it sounds kind of lucrative some good work yeah anyways in order to better solve the problem of finding his boss in this mess of Cubes Winston creates a mapping between people's names and their Cube numbers instead of just keeping an alphabetized list Winston creates a code he uses the asky code for each letter in a person's name and then sums the values that single integer then becomes a code for the person which he then maps to their Cube the advantage of doing this is a very quick lookup so with an alphabetic list I'd have to know how many a entries there are to be able to skip quickly to be but with this mechanism as long as I'm okay with using some extra memory I can skip to the index of that code very very quickly and I'm sure you're ahead of me this kind of code is called a hash and it's the foundation of how the dick class in Python works the sum of asky codes mechanism is called a hash function python has its own it doesn't use this and the rest of the article goes on to show you how how the real python hash function gets used what it means for object equality what a hash Collision is and a whole bunch more so if you've ever wanted to learn more about how this stuff works under the hood this article is very approachable and a good way to achieve better understanding see there's a call back to the second step in Bloom's tonomy so how's that nice yeah I had Stephen on the show episode 203 and we talked about his writing style I titled it embarking on a relax and friendly python coding Journey he likes analogies he likes metaphors he likes characters and sort of narrative ways of explaining stuff and so uh it's always fun and yeah it's great to have him on our team he's part of the core team he's done a couple video courses so I've worked with him on some of that stuff and he's got some really exciting news for real python coming up in fact next week you'll hear a lot more about it we're going to dig into instead of doing a wrap up on what was happening at real python in 202 before we're going to instead look forward and talk about what are the structures that we're building for real python moving forward into 20125 and pretty excited about he's also another good person to follow on Blue Sky so there's the Blue Sky call out again yeah so as mentioned before I decided to include this one from February which I think is probably the first time everybody started hearing about this thing called UV it's titled UV python Packaging in Rust and what can I say this is the thing that I've heard talked about the absolute most this year is UV and people using it and figuring out how to use it and I as you might have heard a couple episodes ago started playing with it myself I'm still figuring out different things with it but I figured with a new computer maybe I'll try out this new tool and see it's working out they have a tldr at the top of the article which I think is very good UV is an extremely fast python package installer and resolver written and rust designed as a drop and replacement for pip and pip tools it represents a milestone in their Pursuit for this sort of idea of cargo for python cargo is the package management tool for rust it's a comprehensive python project and it's fast like they like to mention a lot reliable and easy to use things it can do it it can behave as PIP IT can behave as a lot of the stuff out of pip tools virtual EnV pip x uh which I've mentioned there's a uvx feature where you could kind of do this sort of installable stuff so yeah virtual environments python dependencies all that sort of stuff in one a part of the vision came from at the end of last year Armen roner was the creator of flask uh again I'm doing lots of shout outs to the episodes I've had people on the show but uh he was back in the first year of the show episode 18 cam on talking about 10 years of flask this particular tool that he built was called Ry which was an experiment project about project management the idea of sort of tying lots of ideas together and they were able to take a lot of those ideas and bring them on board inside of UV it's kind of an announcement post but it also has benchmarks it has lots of the other features it's like this a bit of a landing page if you will for like okay what is UV and what can it do uh so if you haven't dug in and learned a little bit about it yet uh I think this is a good starting place for learning about UV and I have one honorable mention that I wanted to throw in here I'm very excited to have Ricky White back doing some stuff doing some writing for us at real python um speaking of astrol he did an article about rough and that's the code formatter that everybody was talking about last year very very fast combines things like black eyes sort fate all those kinds of tools like that so he did an article about that but this is one that I guess I'm kind of leaving it not necessarily like I've dug into it deeply it's one that I want to read more and learn more about and I'll leave it with you as like a project maybe you could kind of check out on your own it's titled cicd for python with GitHub actions and I've been interested in learning more not only about continuous integration and continuous deployment the cicd of it all but explicitly in a place that I can play with it without too much investment and that's doing it in GitHub and with GitHub workflows GitHub actions so this digs really deep into that talks about a lot about workflow workflow triggers workflow jobs workflow steps using GitHub actions specifically with python creating automated testing workflows testing on multiple versions of python and then eventually getting into publishing your package uh to pii and crucial detail stuff that's in there you know accessing GitHub environment variables and then automating security and dependency updates so I think it'll be an interesting read for anybody's looking to learn a little more about cicd and uh I'm glad to see Ricky riding for us again and hope he keeps riding because uh he likes to do lots of Hands-On stuff and I I definitely dig that stuff here I guess that brings us to the end of our uh wrapup look at that we've rung in the New Year all right well I'm looking forward to visiting with you and talking more pie coders across 2025 here again Christopher sounds like a plan all right talk to you soon cheers I want to thank Christopher Trudeau for coming on the show again and I want to thank you for listening to the real python podcast make sure that you click that follow button in your podcast player and if you see a subscribe button somewhere remember that the real python podcast is free if you like the show please leave us a review you can find show notes with links to all the topics we spoke about inside your podcast player or at real python. c/p podcast and while you're there you can leave us a question or a topic idea I've been your host Christopher Bailey and look forward to talking to you soon

Original Description

PyCoder's Weekly included over 1,500 links to articles, blog posts, tutorials, and projects in 2024. Christopher Trudeau is back on the show this week to help wrap up everything by sharing some highlights and uncovering a few missing gems from the pile. 👉 Links from the show: https://realpython.com/podcasts/rpp/233/ We share the top links explored by PyCoder's readers. We also dig into trends across all the articles and stories this year. We highlight a few gems that we didn't cover on the show and a couple that explore the overall themes of the year. We hope you enjoy this review! We look forward to bringing you an upcoming year full of great Python news, articles, topics, and projects. Topics: - 00:00:00 -- Introduction - 00:01:47 -- New releases and updates - 00:03:07 -- PyCon US 2025 Registration Open - 00:03:18 -- PyCon Austria 2025 Call for Papers - 00:03:36 -- PSF Year End Fundraiser - Membership Drive - 00:04:31 -- Mr. Trudeau on Flying High with Flutter - 00:05:29 -- We're on Bluesky - follow us! - 00:07:44 -- Build Captivating Display Tables in Python With Great Tables - 00:08:45 -- Overview of the Module `itertools` - 00:09:23 -- Customize VS Code Settings - 00:10:34 -- Modern Good Practices for Python Development - 00:11:55 -- Asyncio Event Loop in Separate Thread - 00:12:38 -- Python Protocols: Leveraging Structural Subtyping - 00:13:06 -- Thoughts on the top links - 00:22:29 -- Video Course Spotlight - 00:23:40 -- Why I'm Switching From pandas to Polars - 00:29:29 -- Lessons Learned Reinventing the Python Notebook - 00:32:47 -- What's a Python Hashable Object? - 00:36:10 -- uv: Python Packaging in Rust - 00:38:26 -- CI/CD for Python With GitHub Actions - 00:40:07 -- Thanks and goodbye 👉 Links from the show: https://realpython.com/podcasts/rpp/233/
Watch on YouTube ↗ (saves to browser)
Sign in to unlock AI tutor explanation · ⚡30

Playlist

Uploads from Real Python · Real Python · 0 of 60

← Previous Next →
1 A better Python REPL – bpython vs python interpreter
A better Python REPL – bpython vs python interpreter
Real Python
2 Introducing large-type.com – A Utility Website
Introducing large-type.com – A Utility Website
Real Python
3 Reading Hacker News Without Wasting Tons of Time
Reading Hacker News Without Wasting Tons of Time
Real Python
4 Forward References and Python 3 Type Hints
Forward References and Python 3 Type Hints
Real Python
5 Using Sublime Text as your Git Editor
Using Sublime Text as your Git Editor
Real Python
6 Python Code Linting and Auto-Complete for Sublime Text
Python Code Linting and Auto-Complete for Sublime Text
Real Python
7 Make your Python Code More Readable with Custom Exceptions
Make your Python Code More Readable with Custom Exceptions
Real Python
8 Write Better Tests with Sublime Text's Split Layout Feature
Write Better Tests with Sublime Text's Split Layout Feature
Real Python
9 How to Use Sublime Text from the Command Line
How to Use Sublime Text from the Command Line
Real Python
10 Rename Variables with Multiple Selection in Sublime Text
Rename Variables with Multiple Selection in Sublime Text
Real Python
11 Sublime Text Settings for Writing PEP 8 Python
Sublime Text Settings for Writing PEP 8 Python
Real Python
12 Write Cleaner Python with Sublime Text's Indent Guides
Write Cleaner Python with Sublime Text's Indent Guides
Real Python
13 Sublime Text Whitespace Settings for Python Development
Sublime Text Whitespace Settings for Python Development
Real Python
14 Function Argument Unpacking in Python
Function Argument Unpacking in Python
Real Python
15 Python Code Review: Debugging and Refactoring "Conway's Game of Life" +  Automated Tests
Python Code Review: Debugging and Refactoring "Conway's Game of Life" + Automated Tests
Real Python
16 Using "get()" to Return a Default Value from a Python Dict
Using "get()" to Return a Default Value from a Python Dict
Real Python
17 A Python Shorthand for Swapping Two Variables
A Python Shorthand for Swapping Two Variables
Real Python
18 Python Code Review: Refactoring a Web Scraper, PEP 8 Style Guide Compliance, requirements.txt
Python Code Review: Refactoring a Web Scraper, PEP 8 Style Guide Compliance, requirements.txt
Real Python
19 Click & Jump to Test Failures from the Command Line (iTerm2)
Click & Jump to Test Failures from the Command Line (iTerm2)
Real Python
20 Setting up Sublime Text for Python Developers
Setting up Sublime Text for Python Developers
Real Python
21 Sublime Text + Python Guide Overview
Sublime Text + Python Guide Overview
Real Python
22 Python Code Review: Adding Pytest Tests to an Existing Python Web Scraper
Python Code Review: Adding Pytest Tests to an Existing Python Web Scraper
Real Python
23 Type-Checking Python Programs With Type Hints and mypy
Type-Checking Python Programs With Type Hints and mypy
Real Python
24 A Shorthand for Merging Dictionaries in Python 3.5+
A Shorthand for Merging Dictionaries in Python 3.5+
Real Python
25 Python Code Review Flask Web Security Tutorial + Virtualenvs, requirements.txt
Python Code Review Flask Web Security Tutorial + Virtualenvs, requirements.txt
Real Python
26 My Python Code Looks Ugly and Confusing – Help!
My Python Code Looks Ugly and Confusing – Help!
Real Python
27 Setting Up a Programmer Portfolio/Developer Blog – How To Get Started
Setting Up a Programmer Portfolio/Developer Blog – How To Get Started
Real Python
28 Do I Need a GitHub/GitLab/Bitbucket Profile as a Developer?
Do I Need a GitHub/GitLab/Bitbucket Profile as a Developer?
Real Python
29 Programmer Portfolio – Example and Walkthrough
Programmer Portfolio – Example and Walkthrough
Real Python
30 How to Get Your 1st Speaking Gig at a Tech Conference
How to Get Your 1st Speaking Gig at a Tech Conference
Real Python
31 How to Build Your Public Speaking Skills as a Developer
How to Build Your Public Speaking Skills as a Developer
Real Python
32 The Object-oriented Version of "Spaghetti Code" is "Lasagna Code" ?!
The Object-oriented Version of "Spaghetti Code" is "Lasagna Code" ?!
Real Python
33 Setting up Sublime Text for Python Developers – Lesson #1
Setting up Sublime Text for Python Developers – Lesson #1
Real Python
34 Cool New Features in Python 3.6
Cool New Features in Python 3.6
Real Python
35 "is" vs "==" in Python – What's the Difference? (And When to Use Each)
"is" vs "==" in Python – What's the Difference? (And When to Use Each)
Real Python
36 Emulating switch/case Statements in Python with Dictionaries
Emulating switch/case Statements in Python with Dictionaries
Real Python
37 Python Function Argument Unpacking Tutorial (* and ** Operators)
Python Function Argument Unpacking Tutorial (* and ** Operators)
Real Python
38 What Code Should I Put On My GitHub/GitLab/BitBucket Profile?
What Code Should I Put On My GitHub/GitLab/BitBucket Profile?
Real Python
39 A Crazy Python Dictionary Expression ?!
A Crazy Python Dictionary Expression ?!
Real Python
40 String Conversion in Python: When to Use __repr__ vs __str__
String Conversion in Python: When to Use __repr__ vs __str__
Real Python
41 Method Types in Python OOP: @classmethod, @staticmethod, and Instance Methods
Method Types in Python OOP: @classmethod, @staticmethod, and Instance Methods
Real Python
42 Optional Arguments in Python With *args and **kwargs
Optional Arguments in Python With *args and **kwargs
Real Python
43 Python Context Managers and the "with" Statement (__enter__ & __exit__)
Python Context Managers and the "with" Statement (__enter__ & __exit__)
Real Python
44 Installing Python Packages with pip and virtualenv / venv
Installing Python Packages with pip and virtualenv / venv
Real Python
45 "For Each" Loops in Python with enumerate() and range()
"For Each" Loops in Python with enumerate() and range()
Real Python
46 Python Code Review: LibreOffice Automation and the Python Standard Library
Python Code Review: LibreOffice Automation and the Python Standard Library
Real Python
47 Managing Python Dependencies With Pip and Virtual Environments – Lesson #1
Managing Python Dependencies With Pip and Virtual Environments – Lesson #1
Real Python
48 Python Tutorial: List Comprehensions Step-By-Step
Python Tutorial: List Comprehensions Step-By-Step
Real Python
49 Leveraging Python's Implicit "return None" Statements
Leveraging Python's Implicit "return None" Statements
Real Python
50 What's the meaning of underscores (_ & __) in Python variable names?
What's the meaning of underscores (_ & __) in Python variable names?
Real Python
51 Python Data Structures: Sets, Frozensets, and Multisets (Bags)
Python Data Structures: Sets, Frozensets, and Multisets (Bags)
Real Python
52 Writing automated tests for Python command-line apps and scripts
Writing automated tests for Python command-line apps and scripts
Real Python
53 How to find great Python packages on PyPI, the Python Package Repository
How to find great Python packages on PyPI, the Python Package Repository
Real Python
54 Immutable vs Mutable Objects in Python
Immutable vs Mutable Objects in Python
Real Python
55 PyPI vs Warehouse, the Next-Generation Python Package Repository
PyPI vs Warehouse, the Next-Generation Python Package Repository
Real Python
56 pep8.org — The Prettiest Way to View the PEP 8 Python Style Guide
pep8.org — The Prettiest Way to View the PEP 8 Python Style Guide
Real Python
57 My Experience at PyCon 2017 in Portland
My Experience at PyCon 2017 in Portland
Real Python
58 Pylint Tutorial – How to Write Clean Python
Pylint Tutorial – How to Write Clean Python
Real Python
59 "Reverse a List in Python" Tutorial: Three Methods & How-to Demos
"Reverse a List in Python" Tutorial: Three Methods & How-to Demos
Real Python
60 Python Refactoring: "while True" Infinite Loops & The "input" Function
Python Refactoring: "while True" Infinite Loops & The "input" Function
Real Python

Related Reads

📰
Learn AI Training from Industry Experts at Visualpath
Learn AI training from industry experts at Visualpath to future-proof your career
Dev.to · kalyan visualpath
📰
AI Theatre: The Gap Between Talking About AI and Actually Using It
Learn to identify the gap between discussing AI and actual implementation, and why it matters for professionals
Medium · Cybersecurity
📰
How to Structure Content for AI-First Indexing: 7 Rules That Get You Cited
Learn to structure content for AI-first indexing to increase citation chances, as Google AI Overviews now appear in 47% of US search results
Medium · AI
📰
The Last Premium: What Stays Expensive When Thinking Gets Free
Discover what stays expensive when AI commoditizes human thinking and how it impacts various industries
Medium · Data Science
Up next
Matt and Ryan Have a Chat: Microsoft's Big Week, UGREEN NAS & Rivian R1S
Matt Williams
Watch →