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.
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: