Python Training by Dan Bader

Finding and Choosing Quality Python Packages

PyPI, the Python packaging repository, just crossed 100,000 third-party packages in total the other week. That’s an overwhelming number of packages to choose from.

Finding and Choosing Quality Python Packages

The Quest for the Perfect Python Package

Back when I got “serious” about building my Python skills, mastering the syntax of the language was not the hardest part. Python’s syntax seemed quite clear and intuitive by comparison, and there was a (relatively) obvious path to learning it from books and other resources.

But when it came to Python’s tens of thousands of libraries and frameworks that was simply an overwhelming number to choose from. Memorizing them was (and still is) an impossible task.

And this feeling of overwhelm and “choice paralysis” is exactly what held me back earlier on in my Python career.

Mastering Python ≠ Mastering the Syntax

What tripped me up as a fledgling Pythonista was this: I had the basics of Python under my belt, but I struggled when it came to adopting the right workflows and tools of the “ecosystem” surrounding the core language.

Thus, I wasted time reinventing existing solutions left and right—sometimes I spent days writing my own (terrible) versions of common building blocks like config file parsers, data validators, or visualization tools.

Now, sure I learned quite a bit from doing that…

Overcoming “Reinventing the Wheel Disease”

But I kept repeating the same mistake and was “reinventing the wheel” even when under a tight deadline. In hindsight, my ignorance caused me a ton of undue stress and sleep deprivation.

Part of it was overconfidence in my abilities, and another part was a lack of experience using “bread and butter” tools like the pip package manager, virtual environments, and requirements files.

Once I got the hang of Python’s dependency management tools and workflows I was able to overcome my “reinventing the wheel disease” quickly.

Dependency Management Skills Are Key

Mastering those tools and coming up with strategies for identifying high-quality Python packages opened up a whole new world to me:

By leveraging Python’s packaging ecosystem I was suddenly coding at a higher level of abstraction—and it had a massive impact on my productivity and efficiency. Saying it allowed me to “10X” my output would not be too far off.

If you use Python and you’re wondering how to go from “writing scripts” to “building applications”—then there’s a good chance you could benefit from focusing on your dependency management skills.

You might be ready for a similar “quantum leap” in your productivity.

To discover the strategies and exact steps I used to break through this barrier, check out my new “Managing Python Dependencies” course:

Click to Learn More About “Managing Python Dependencies” →

<strong><em>What The Virtualenv?!</em><br><u>How You Can Avoid</u> Python Dependency Management Pitfalls</strong>

What The Virtualenv?!
How You Can Avoid Python Dependency Management Pitfalls

Free 5-day class—just enter your email address below:

This article was filed under: dependency-management, productivity, programming, and python.

Related Articles:

📦🐍 Which frameworks and libraries are the most important to know to be considered an effective Python dev? Here’s how you go from “writing scripts” to “building applications” with Python, master the tools of the trade for Dependency Management, and become an expert at picking quality Python libraries: » Click here to learn more

Latest Articles:

📘 Python Tricks: The Book — A Buffet of Awesome Python Features: My new book that teaches you the coolest aspects of Python with short and easy to digest examples. » Click here to get a free sample chapter

← Browse All Articles