[Python Dependency Pitfalls] "Re-inventing the wheel" disease

Hey there,

PyPI, the Python packaging repository, now contains more than 100,000 third-party packages in total.

That's an *overwhelming* number of packages to choose from...

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

Here, let me explain:

Back when I got "serious" about building my Python skills, mastering the syntax of the language was NOT the hardest part.

Python's syntax is quite clear and intuitive by comparison, and there's a (relatively) obvious path to learning it.

But when it comes to Python's 100k+ libraries and frameworks that's simply an OVERWHELMING number to choose from (and there's no way to memorize all of them.)

So anyway, 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 (crappy) versions of common building blocks like config file parsers, data validators, or visualization tools.

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

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" relatively quickly.

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 wouldn't 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.

In Managing Python Dependencies With Pip and Virtual Environments, I give you the exact step-by-step workflows I use every day to work on Python projects small and large.

When you add just one of these tricks to your personal dev workflow you'll *permanently* increase your productivity and efficiency as a developer.

Details here:

realpython.com/products/managing-python-dependencies/

— Dan Bader

Key phrases

Older messages

[PythonistaCafe] What makes PythonistaCafe different

Thursday, September 15, 2022

Hey there, Mastering Python is *not* just about getting the books and courses to study—to be successful you also need a way to stay motivated and to grow your abilities in the long run. Many

[Sublime + Python Setup] Grumpy old greybeard with a whitespace problem

Thursday, September 15, 2022

One fateful day, the Agile Gods that be decided to “add some firepower” to my little team… And so, developer Paul joined (name changed to protect the guilty). Before I dive into this story, let me ask

[Python Mastery] The secret to "ethical self-promotion"?

Thursday, September 15, 2022

Hey there, Here's some food for thought: There's a difference between *doing* a great job as a Python developer, and *to be seen doing* a great job. Being a skilled developer among peers—and

[Python Dependency Pitfalls] Artisanal "from-scratch" development

Thursday, September 15, 2022

Hey there, The other day I got this question from Newsletter member Newvick in my email inbox: ~~~ I'm trying to get past the beginner's stage in Python and one problem I have is: When do you

[Python Dependency Pitfalls] What dev managers expect from Python candidates

Thursday, September 15, 2022

Hey there, My friend Og is a senior manager at Red Hat and works with a large team of developers and quality engineers using Python. I got to pick his brain on what he thought were the most important

[Python Mastery] The hidden costs of "copy-paste" Python programming

Friday, October 7, 2022

Hey there, Here's a development story that plays out thousands of times each day: Avid Pythonista Max is working on a function to find the 10 oldest files in a nested directory hierarchy. He needs

Why your startup needs a prenup

Friday, October 7, 2022

TechCrunch+ Newsletter TechCrunch+ logo TechCrunch+ Roundup logo By Walter Thompson Friday, October 07, 2022 Welcome to TechCrunch+ Friday Image Credits: skodonnell / Getty Images In the early days of

iOS Dev Weekly - Issue 579

Friday, October 7, 2022

The question of what technologies to use has no definitive answer! 🎲🤷‍♂️ View on the Web Archives ISSUE 579 October 7th 2022 Comment Why do I link to Alexandre Colucci's articles reporting on

Daily Coding Problem: Problem #898 [Easy]

Friday, October 7, 2022

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Amazon. Implement a stack API using only a heap. A stack implements the following

Wireless Apple CarPlay? How to add it to your car

Friday, October 7, 2022

Managers can't agree on who to hire; QuietComfort Earbuds II review -- ZDNET ZDNET Tech Today - US October 7, 2022 placeholder How to add wireless Apple CarPlay to your car Wired connections are a

Issue #457: 3D Diffusion vs GET3D, acid traces, and Tranquility

Friday, October 7, 2022

Weekly newsletter about HTML5 Game Development. Is this email not displaying correctly? View it in your browser. Issue #457 - October 7th 2022 If you have anything you want to share with the HTML5 game

🔎 What PMs should know about Product Marketing

Friday, October 7, 2022

Product Marketing - what product managers should know Do you think all you need to know about product marketing is “it's that stuff those product marketing managers do”? While product marketing may

Ranked | The World’s Most Surveilled Cities 📹

Friday, October 7, 2022

The world's most surveilled cities contain hundreds of thousands of cameras. See where these cities are located in this infographic. View Online | Subscribe Presented by: Special Report Now

Google Is Not Apple, and It Should Stop Trying to Be

Friday, October 7, 2022

Did You Know?: Dale Carnegie, most famous for the book How to Win Friends and Influence People, changed his last name from “Carnagey” to “Carnegie” in honor of the steel magnate, Andrew Carnegie, and

Join TechCrunch Live with Casa Verde Capital and Dutchie

Friday, October 7, 2022

TechCrunch Live - Wed, Oct 12 - 11:30am PDT TechCrunch Live on Oct 12 How Dutchie raised half a billion for cannabis tech Ross Lipson co-founded Dutchie in 2017 and has since led the company to a multi