Modern Python Projects Transcripts
Chapter: Managing Python project
Lecture: My favorite tool

Login or purchase this course to watch this video and the rest of the course contents.
0:00 I shall do a lot of different tools. Maybe, you know, and use some of them. Or maybe you're just looking for which one to use.
0:08 So, you might be wondering which tool, though I use in my projects, am I a poetry person or do I prefer pip?
0:15 And for conda? Well, I usually don't use any of them. I managed dependencies with simple requirements file and I use pip tools to pin them.
0:25 I mean, if I work on some hobby project, I might use poetry because it's fun to use. But if I work with a client,
0:32 I don't recommend them any of those external tools, unless their team is already using one of them. Why is that? Well, if I use venv to,
0:41 create virtual environments and then install packages with pip, I use tools that comes built in with Python.
0:49 On the other hand, when I'm using an external tool and this tool stops working or have a bug, I have a problem because I can no longer work on
0:57 my project. I can't add new dependencies if my tool can't install them, and I can't run any scripts.
1:05 If there is a problem with this automatic activation of virtual environments. If the tool gets abandoned and it's no longer updated,
1:13 I have to move all my configuration files to a different tool. Don't get me wrong. I think the developers of every tool that they mentioned here
1:21 are doing an amazing job. And I'm grateful that those tools exist because they can
1:26 definitely make your life easier. And I'm especially thankful since most of those tools are open source, so people put their free time.
1:34 But before you decide to use one of them, think about the pros and cons for a bit. If you think it's worth adding an external tool for the comfort of,
1:42 having one tool to manage your project, go ahead. I know some people who use those tools,
1:47 and they're happy. But I also know a lot of programmers who manage their projects without any external tools. So,
1:55 just like with adding any new dependency to your project, do a bit of a research to figure out if you really need it.

Talk Python's Mastodon Michael Kennedy's Mastodon