|
28 | 28 |
|
29 | 29 | 00:01:36 Season seven is all about putting people over profit in AI.
|
30 | 30 |
|
31 |
| -00:01:40 Check them out and listen to an episode at talkpython.fm slash IRL. |
| 31 | +00:01:40 Check them out and listen to an episode at talkpython.fm/IRL. |
32 | 32 |
|
33 | 33 | 00:01:44 It's brought to you by Sentry.
|
34 | 34 |
|
|
38 | 38 |
|
39 | 39 | 00:02:04 You'll see how Sentry's latest product updates can make your work life easier.
|
40 | 40 |
|
41 |
| -00:02:08 Visit talkpython.fm slash Sentry-launch-week to register for free. |
| 41 | +00:02:08 Visit talkpython.fm/Sentry-launch-week to register for free. |
42 | 42 |
|
43 | 43 | 00:02:15 Hey folks, before we jump into the interview, I want to tell you about a new course we just launched, Data Science Jumpstart with 10 Projects.
|
44 | 44 |
|
45 | 45 | 00:02:22 This is written by Matt Harrison, who has years of data science and Python teaching experience.
|
46 | 46 |
|
47 | 47 | 00:02:27 He brings his tips and guidance to you across 10 different datasets and projects in this new three-hour course.
|
48 | 48 |
|
49 |
| -00:02:35 You want to up your data science game, I encourage you to check it out at talkpython.fm slash data-sci-jumpstart. |
| 49 | +00:02:35 You want to up your data science game, I encourage you to check it out at talkpython.fm/data-sci-jumpstart. |
50 | 50 |
|
51 | 51 | 00:02:41 I learned a lot from this course and I'm sure that you will too.
|
52 | 52 |
|
53 | 53 | 00:02:44 The link is in your podcast player show notes, so be sure to check it out.
|
54 | 54 |
|
55 | 55 | 00:02:48 Now, on to that interview.
|
56 | 56 |
|
57 |
| -00:02:50 And Elena, welcome back to Talk Python to me. |
| 57 | +00:02:50 Anna Elena, welcome back to Talk Python to me. |
58 | 58 |
|
59 | 59 | 00:02:54 It's awesome to have you here.
|
60 | 60 |
|
|
186 | 186 |
|
187 | 187 | 00:06:31 So depending how people want to experience it.
|
188 | 188 |
|
189 |
| -00:06:33 I also gave one at EuroPython, which is a more updated version, I guess, since Rai came out after I gave the talk at the German PyCon. |
| 189 | +00:06:33 I also gave one at EuroPython, which is a more updated version, I guess, since Rye came out after I gave the talk at the German PyCon. |
190 | 190 |
|
191 | 191 | 00:06:41 So the new video from EuroPython, which is not on YouTube yet, it also features Rai.
|
192 | 192 |
|
193 |
| -00:06:48 Yeah, we'll talk about Rai. |
| 193 | +00:06:48 Yeah, we'll talk about Rye. |
194 | 194 |
|
195 | 195 | 00:06:49 It's crazy since it already shows that in a few months there was another change and another tool came up, which is so popular now.
|
196 | 196 |
|
|
316 | 316 |
|
317 | 317 | 00:11:27 Then you might start talking about, well, some of the tools that do more, like you talked about.
|
318 | 318 |
|
319 |
| -00:11:32 So maybe Poetry, PDM, Hatch, Rai. |
| 319 | +00:11:32 So maybe Poetry, PDM, Hatch, Rye. |
320 | 320 |
|
321 |
| -00:11:35 But stuff people might not know about too much is Maturian or Ensconce. |
| 321 | +00:11:35 But stuff people might not know about too much is Maturin or Enscons. |
322 | 322 |
|
323 | 323 | 00:11:40 There's a wide-ranging set of tools.
|
324 | 324 |
|
|
354 | 354 |
|
355 | 355 | 00:13:36 And then you do not have to reinstall it every time you make a change.
|
356 | 356 |
|
357 |
| -00:13:40 This is very useful. And then there's one pep on how to specify your project metadata in the pyproject.toml file, which is like the basic file you need when you specify or create a package where you put all your like general information, the name of the package, the website, your author name, and so on. |
| 357 | +00:13:40 This is very useful. And then there's one pip on how to specify your project metadata in the pyproject.toml file, which is like the basic file you need when you specify or create a package where you put all your like general information, the name of the package, the website, your author name, and so on. |
358 | 358 |
|
359 | 359 | 00:14:01 But also the dependencies, you can define scripts there. And there's one tool, namely poetry, which has its own way of defining the metadata, I think, because it was developed before this pep was accepted.
|
360 | 360 |
|
|
374 | 374 |
|
375 | 375 | 00:15:40 You'll also hear from people building more responsible ways to test new AI technology. And we find out why it's taking so long to regulate this massive industry.
|
376 | 376 |
|
377 |
| -00:15:49 That's IRL season seven from Mozilla. Check them out and listen to an episode at talkpython.fm slash IRL. The link is in your podcast player show notes. Thank you to IRL and Mozilla for sponsoring the show. |
| 377 | +00:15:49 That's IRL season seven from Mozilla. Check them out and listen to an episode at talkpython.fm/IRL. The link is in your podcast player show notes. Thank you to IRL and Mozilla for sponsoring the show. |
378 | 378 |
|
379 | 379 | 00:16:04 To me, it seems like a lot of these tools like Poetry or Flit or others as their own thing, they're pretty self-contained and they kind of do the job for most things you need to do for your package management, project management, installing.
|
380 | 380 |
|
381 | 381 | 00:16:20 The hash doesn't lock, but as long as you kind of stick to them, you're more or less, you can solve all the problems you need with one. But choosing and figure out how to choose which one is really hard.
|
382 | 382 |
|
383 |
| -00:16:30 And kind of like with your Rai example is the reason you chose one six months ago might not, there might be a better choice now. So it's good to see them side by side, don't you think? |
| 383 | +00:16:30 And kind of like with your Rye example is the reason you chose one six months ago might not, there might be a better choice now. So it's good to see them side by side, don't you think? |
384 | 384 |
|
385 | 385 | 00:16:40 Yes, absolutely. And also, that's why I wanted to do the unbiased evaluation. And there's often personal preference that comes in with packaging tools. For example, one of my colleagues, like hates might be a strong word, but he very strongly dislikes Poetry, since in the past, they once did an update or a new version, and it broke something in the older versions, but they did not tell the users beforehand.
|
386 | 386 |
|
|
428 | 428 |
|
429 | 429 | 00:21:37 Yeah. And going back to the beginner type of thing, it helps you in a lot of ways, but it's also a new thing that you have to learn in order to get started. It alleviates the need to say, well, now you know, the venv command, you don't just run it, you say Python dash M, and then you activate it. And it's different on Windows. I don't know why it's different on Windows, but it just is. So you just do that. But at the same time, you now have to learn a slightly different way to run it. And so I think that that's an interesting trade off that a lot of these tools make.
|
430 | 430 |
|
431 |
| -00:22:05 Another thing that I think about when I think about these tools is like you were saying you can't just run your Python code, because a lot of times, this management of the dependencies in the environment that often lives in some kind of hidden place in your user profile or somewhere, right? Whereas if I say Python dash MV and V, it makes a folder wherever I run that. And so I can activate it. So for example, if one of these tools were to make the environment locally, instead of in some kind of obscure location it finds, then I could still just activate it and do regular Python things. But if it hides it from me, then I'm required basically, for any practical reason to like go through its terminal commands, its shell TLI, right? |
| 431 | +00:22:05 Another thing that I think about when I think about these tools is like you were saying you can't just run your Python code, because a lot of times, this management of the dependencies in the environment that often lives in some kind of hidden place in your user profile or somewhere, right? Whereas if I say Python - venv it makes a folder wherever I run that. And so I can activate it. So for example, if one of these tools were to make the environment locally, instead of in some kind of obscure location it finds, then I could still just activate it and do regular Python things. But if it hides it from me, then I'm required basically, for any practical reason to like go through its terminal commands, its shell TLI, right? |
432 | 432 |
|
433 | 433 | 00:22:53 Yeah.
|
434 | 434 |
|
|
500 | 500 |
|
501 | 501 | 00:28:12 That's true.
|
502 | 502 |
|
503 |
| -00:28:12 All right. So the first area was virtual environment management, and that's tools like VENV, so virtual ENV, PIPENV, which we just talked about, Conda, and then even Raya. So let's maybe talk about some of these you sort of compare. We talked a bit about using VENV versus virtual ENV. I've always just stuck with the built in one for the reason that it's built in. But, you know, sounds like you use virtual ENV more. What's your, what do you find better about it? |
| 503 | +00:28:12 All right. So the first area was virtual environment management, and that's tools like VENV, so virtual ENV, PIPENV, which we just talked about, Conda, and then even Rye. So let's maybe talk about some of these you sort of compare. We talked a bit about using VENV versus virtual ENV. I've always just stuck with the built in one for the reason that it's built in. But, you know, sounds like you use virtual ENV more. What's your, what do you find better about it? |
504 | 504 |
|
505 | 505 | 00:28:41 I use both actually. Sometimes I use one and sometimes the other.
|
506 | 506 |
|
|
524 | 524 |
|
525 | 525 | 00:30:37 And it would run the tests for you and maybe also do the coverage report and so on.
|
526 | 526 |
|
527 |
| -00:30:43 This portion of Talk Bythen Me is brought to you by Sentry. You've heard me sing the praises of Sentry for their error tracking and performance monitoring plenty of times on the show. |
| 527 | +00:30:43 This portion of Talk Python to Me is brought to you by Sentry. You've heard me sing the praises of Sentry for their error tracking and performance monitoring plenty of times on the show. |
528 | 528 |
|
529 | 529 | 00:30:52 But this time is different. They have a special live event, like a mini online conference where you can connect with the team and take a deep dive into different products and services every day for a week.
|
530 | 530 |
|
|
538 | 538 |
|
539 | 539 | 00:31:32 And finally, Friday, November 17th, open source sustainability. I'm already signed up.
|
540 | 540 |
|
541 |
| -00:31:37 Join me at TalkBython.fm slash Sentry dash launch dash week. The link is in your podcast player show notes. I'll see you there. |
| 541 | +00:31:37 Join me at Talkpython.fm/Sentry-launch-week. The link is in your podcast player show notes. I'll see you there. |
542 | 542 |
|
543 |
| -00:31:46 Thank you to Sentry for their continued support of Talk Bythen Me. |
| 543 | +00:31:46 Thank you to Sentry for their continued support of Talk Pyython to Me. |
544 | 544 |
|
545 | 545 | 00:31:50 In your article, you link over to the pandas pyproject.toml and that thing has a lot of stuff going on as you would imagine from such a project as pandas, right?
|
546 | 546 |
|
|
652 | 652 |
|
653 | 653 | 00:40:13 So having a single place where you can also say, okay, this is my environment for creating the documentation, and I only need material like mkdocs material for this or having one environment for all the style issues like running black and eyesore and the type checkers.
|
654 | 654 |
|
655 |
| -00:40:33 I like that a lot, but a lot of people from my company are now using Rai. So I have to check that out, I guess, very soon for some proper project. |
| 655 | +00:40:33 I like that a lot, but a lot of people from my company are now using Rye. So I have to check that out, I guess, very soon for some proper project. |
656 | 656 |
|
657 |
| -00:40:43 Yeah. I want to save Rai until the end because it's a very different philosophy, not putting a judgment on it, but just it really lives in a different style and philosophy than many of these other tools. |
| 657 | +00:40:43 Yeah. I want to save Rye until the end because it's a very different philosophy, not putting a judgment on it, but just it really lives in a different style and philosophy than many of these other tools. |
658 | 658 |
|
659 |
| -00:40:53 So you hinted towards this with the packaging panel discussion I had with some folks there, and I think we're going to see stuff going that way. Maybe not exactly with Rai, but in that general vibe. |
| 659 | +00:40:53 So you hinted towards this with the packaging panel discussion I had with some folks there, and I think we're going to see stuff going that way. Maybe not exactly with Rye, but in that general vibe. |
660 | 660 |
|
661 | 661 | 00:41:05 This idea of having multiple environments for certain different parts of your program or of your project is really interesting because for small projects, it doesn't matter.
|
662 | 662 |
|
|
748 | 748 |
|
749 | 749 | 00:49:39 When you're working by yourself, you know, YOLO, you get to do whatever you want, but like you working in a team using something like hatch means everybody does the same thing. And that's actually really important too.
|
750 | 750 |
|
751 |
| -00:49:50 Rai uses pip tools as well. |
| 751 | +00:49:50 Rye uses pip tools as well. |
752 | 752 |
|
753 |
| -00:49:52 Let's close out our conversation here with Rai because it's different in the way that it's philosophy on how it's, it works for package management. Right? |
| 753 | +00:49:52 Let's close out our conversation here with Rye because it's different in the way that it's philosophy on how it's, it works for package management. Right? |
754 | 754 |
|
755 |
| -00:50:01 If you want to understand Rai, you have to know about Rust, which is a very popular programming language at the moment. And Rust has a very nice setup of how packaging works, since you have two tools, namely Rustup and Cargo, which do everything. You do not have these different tools for different steps. And everyone can like contribute their own tool and gets really messy and hard to understand as it is for Python. |
| 755 | +00:50:01 If you want to understand Rye, you have to know about Rust, which is a very popular programming language at the moment. And Rust has a very nice setup of how packaging works, since you have two tools, namely Rustup and Cargo, which do everything. You do not have these different tools for different steps. And everyone can like contribute their own tool and gets really messy and hard to understand as it is for Python. |
756 | 756 |
|
757 | 757 | 00:50:27 But it is very simple and easy to use. And the author of Rai wrote Rai completely in Rust and was inspired by Rustup and Cargo. And Rai is also a tool that can do everything. It also is doing Python version management for you, which I guess is easier since it is not written in Python.
|
758 | 758 |
|
759 | 759 | 00:50:46 And yeah, it's a tool that can do it all. It was started as a personal project, but there are new versions released, I guess, weekly. Like when I last checked it, it was moving really, really fast. And the author is also the creator of Flask. So he's, I guess, very well known. And that's also why people are adopting Rai very quickly. Yeah. So I think it's a very nice or interesting addition to the whole mix.
|
760 | 760 |
|
761 | 761 | 00:51:14 I think it is as well. The most unusual thing, the reason I said it's unlike all of the others, the way that I use pipx is I somehow say Python or I say somehow pip install pipx and then I can use pipx. Or I somehow Python dash m pip install hatch and then I can use hatch for more Python stuff.
|
762 | 762 |
|
763 |
| -00:51:37 But all of those things start with Python, some version of Python, and then I can do more Python things with them. Whereas Rustup in that world and Rai in the Python world, it says you have nothing. You don't even have Python. You ask for a version of Python and then you ask for environments, then you ask for dependencies. And so it has all the flexibility it wants to do whatever it needs because it doesn't actually depend on you even having Python, much less the right version of Python. Yeah. |
| 763 | +00:51:37 But all of those things start with Python, some version of Python, and then I can do more Python things with them. Whereas Rustup in that world and Rye in the Python world, it says you have nothing. You don't even have Python. You ask for a version of Python and then you ask for environments, then you ask for dependencies. And so it has all the flexibility it wants to do whatever it needs because it doesn't actually depend on you even having Python, much less the right version of Python. Yeah. |
764 | 764 |
|
765 | 765 | 00:52:06 Exactly.
|
766 | 766 |
|
|
774 | 774 |
|
775 | 775 | 00:53:14 And it's good that newer languages learn from the mistakes of previous ones.
|
776 | 776 |
|
777 |
| -00:53:19 We probably will end up with something like Rai, but maybe people got to agree on it. That's tough. I guess one really quick thing to close out this whole section, main topic is Tony out in the audience asks, I'm working on a large Python mono repo. So we have all kinds of dependency conflicts and resolutions we have to deal with. |
| 777 | +00:53:19 We probably will end up with something like Rye, but maybe people got to agree on it. That's tough. I guess one really quick thing to close out this whole section, main topic is Tony out in the audience asks, I'm working on a large Python mono repo. So we have all kinds of dependency conflicts and resolutions we have to deal with. |
778 | 778 |
|
779 | 779 | 00:53:37 Maybe just worth pointing out that the multiple environments that Hatch has might address that. What do you think?
|
780 | 780 |
|
|
804 | 804 |
|
805 | 805 | 00:56:21 This has been another episode of Talk Python to Me. Thank you to our sponsors. Be sure to check out what they're offering. It really helps support the show.
|
806 | 806 |
|
807 |
| -00:56:30 When it comes to artificial intelligence, AI, what's good for trillion dollar companies isn't necessarily good for people. That's the theme of season seven of IRL, Mozilla's multi award winning podcast hosted by Bridget Todd. Season seven is all about putting people over profit in AI. Check them out and listen to an episode at talkpython.fm slash IRL. |
| 807 | +00:56:30 When it comes to artificial intelligence, AI, what's good for trillion dollar companies isn't necessarily good for people. That's the theme of season seven of IRL, Mozilla's multi award winning podcast hosted by Bridget Todd. Season seven is all about putting people over profit in AI. Check them out and listen to an episode at talkpython.fm/IRL. |
808 | 808 |
|
809 |
| -00:56:52 Century. They have a special live event like a mini online conference where you can connect with the team and take a deep dive into different products and services every day for a week. Join them for launch week, new product releases, exclusive demos and discussions with experts from their community on the latest with Century. You'll see how Century's latest product updates can make your work life easier. |
| 809 | +00:56:52 Sentry. They have a special live event like a mini online conference where you can connect with the team and take a deep dive into different products and services every day for a week. Join them for launch week, new product releases, exclusive demos and discussions with experts from their community on the latest with Sentry. You'll see how Sentry's latest product updates can make your work life easier. |
810 | 810 |
|
811 |
| -00:57:14 Visit talkpython.fm slash century-launch-week to register for free. |
| 811 | +00:57:14 Visit talkpython.fm/sentry-launch-week to register for free. |
812 | 812 |
|
813 | 813 | 00:57:19 Want to level up your Python? We have one of the largest catalogs of Python video courses over at Talk Python. Our content ranges from true beginners to deeply advanced topics like memory and async. And best of all, there's not a subscription in sight. Check it out for yourself at training.talkpython.fm.
|
814 | 814 |
|
815 |
| -00:57:37 Be sure to subscribe to the show. Open your favorite podcast app and search for Python. We should be right at the top. You can also find the iTunes feed at slash iTunes, the Google Play feed at slash play and the direct RSS feed at slash RSS on talkpython.fm. We're live streaming most of our recordings these days. If you want to be part of the show and have your comments featured on the air, be sure to subscribe to our YouTube channel at talkpython.fm slash YouTube. |
| 815 | +00:57:37 Be sure to subscribe to the show. Open your favorite podcast app and search for Python. We should be right at the top. You can also find the iTunes feed at /iTunes, the Google Play feed at /play and the direct RSS feed at /RSS on talkpython.fm. We're live streaming most of our recordings these days. If you want to be part of the show and have your comments featured on the air, be sure to subscribe to our YouTube channel at talkpython.fm/YouTube. |
816 | 816 |
|
817 | 817 | 00:58:04 This is your host, Michael Kennedy. Thanks so much for listening. I really appreciate it. Now get out there and write some Python code.
|
818 |
| - |
819 |
| -00:58:10 . |
820 |
| - |
0 commit comments