To Every Python Developer Who’s Tired of
Constantly Reinventing the Wheel
and Found Him or Herself Wondering:

“Which frameworks and libraries are the most important to know to be considered an effective Python dev?”

Here’s How to 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:

Dear Fellow Python Developer,

Not too long ago PyPI, the Python packaging repository, crossed 100,000 available 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 seemed quite clear and intuitive by comparison, and I saw a (relatively) obvious path to learning it.

But when it came to Python’s 100k+ libraries and frameworks—

That was simply an OVERWHELMING amount of information to digest.

Even when I knew there had to be a library out there that already solved a problem I was facing—I drew a blank when it came to researching it.

I didn’t know what made a Python library or framework worthwhile.

Everything blended together into a “sea of modules” and I couldn’t winnow out the useless or obsolete—

In short, I was lost when it came to finding and judging the quality of Python libraries.

And so I spun my wheels…

Hi, my name is Dan Bader.

Today I’m an independent software engineer, book author, and speaker. I’ve been writing code for more than 15 years.

Python is my favorite programming language and these days I’m fortunate to get to use Python almost every day in my work.

What tripped me up as a fledgling Pythonista was this—

I had the basics of Python under my belt, but:

Oh hey!

Dan Bader helps Python developers take their coding skills and productivity to the next level. He's an independent software engineer, book author, and speaker and has been shipping software for more than a decade.

I struggled when it came to adopting the right workflows and tools of the “ecosystem” surrounding the core language

Thus, I wasted my 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 that

I lacked experience using “bread and butter” tools like the pip package manager, virtual environments, and requirements files.

And it prevented me from breaking through to the next phase of developing code in Python.

You see, languages such as C++ that I used before didn’t have an advanced package management system like Python.

Because I was used to “copy-pasting” third-party code into my own projects I missed out on the versioning features in Python packages.

And instead of building applications that combined the power of several specialized building blocks

I strung together messy “copypasta” globs of code that I couldn’t get to run on anyone else’s computer

Today I know I’m not the only developer who had to overcome “reinventing the wheel disease.”

Tragically, it is a hidden roadblock to many aspiring Pythonistas:

What separates experienced Python programmers from learners is that they create new functionality with building blocks they already know.

And leveraging these building blocks requires a vast set of inter-related pieces of knowledge—from packages to deployment:

Now, most “stuck” Python developers are aware of the tools that could help them ascend from “dependency hell”—

But they don’t see how to use them to their advantage.

If you ask a group of junior or intermediate Python developers about their experience you’ll hear things like:

“I’ve heard people say ‘you should always use a virtualenv’ but I don’t really see why. Seems like an additional step I don’t really need…

You see, the problem is this:

Too many Python developers know these tools exist, but they don’t see why they’re important and what makes them so powerful.

And tragically, by ignoring the help that tools like pip, virtualenv, and PyPI provide these developers sabotage their own productivity.

Ask yourself this:

If you use Python and you’re wondering how to go from “writing scripts” to “building applications”—

Then there’s a good chance that

Missing Dependency Management skills are holding you back from your full potential as a Python developer

If you can fill in those gaps in your knowledge your productivity and efficiency as a Python developer will benefit greatly.

That’s what happened to me—

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

I can see now how removing this roadblock triggered a “quantum leap” in my productivity as a software developer.

Here’s the secret:

By leveraging Python’s packaging ecosystem you will be coding at a higher level of abstraction—

Instead of wasting time re-coding tools and functionality that already existed, I was able focus on the business goals.

Figuring this out had a MASSIVE impact on my productivity and efficiency as a Python developer.

Saying it allowed me to “10X” my output wouldn’t be too far off.

Within a month my peers and superiors had noticed my improved productivity—because they saw me tearing through sprint tickets left and right.

It’s one of the easiest and quickest “wins” you can get in your Python career

I’ve seen it happen several times with 1:1 coaching clients and during workshops.

But this kind of training can only reach so many people.

And I wanted every Python developer to be able to take advantage of modern dependency management workflows and tools.

So I got to work…

And now, after months of recording and editing I’m proud to introduce:

Managing Python Dependencies
With Pip and Virtual Environments

Managing Python Dependencies Course

Master the “tools of the trade” for dependency management and start leveraging
Python’s packaging ecosystem

Managing Python Dependencies is an organized, step-by-step system for mastering the tools and workflows that will help you reach the next level of productivity as a Python developer.

It is a course consisting of 32 bite-sized video lessons, each focusing on a single concept.

Progressing through the course, you’ll quickly build up a comprehensive knowledge of dependency management best practices in Python at your own, comfortable pace.

Along the way, you’ll see hands on examples and step-by-step workflows that reinforce the skills you’re learning.

By the end, you’ll know how to apply Python’s recommended dependency management tools, like pip, virtualenvs, and requirements files effectively in the most common day-to-day development scenarios on Linux, macOS, and Windows.

With Managing Python Dependencies you will:

  • Code at a higher level and become more efficient: Leveraging Python’s rich third-party library ecosystem let’s you write better programs in a shorter amount of time. With a large body of freely available modules you can avoid reinventing the wheel and deliver higher quality Python software, faster. This is a great way for you to demonstrate senior level skills that will benefit your development career.
  • Get up to speed with Python dependency management quickly: Your time is your most important asset. If you can use it efficiently you will save your sanity—and a nice stack of money. This course is concise but thorough and will help you attain solid Python dependency management knowledge fast.
  • Go from “writing scripts” to “building applications” with Python: By taking advantage of Python’s rich packaging ecosystem you’ll be able to build substantial and full-featured applications in Python. You’ll know the best practices for finding and documenting application dependencies that put you right on track for deploying and shipping production-grade apps.
  • Find great libraries for a specific task at hand: This course teaches you a unique 7-step workflow for finding and identifying quality Python packages. Find out which libraries and tools are available on PyPI to help you. By quickly and easily identifying the correct libraries you’ll speed up your development efficiency by a large margin. Meet your deadlines and write better code at the same time by not having to “reinvent the wheel.”
  • Master “the tools of the trade” for dependency management: With this course you’ll master the tools and workflows recommended by the official Python Packaging Authority. By getting those skills under your belt you’ll be ready to work with the Python development and production environments used by professional development teams across the world. Knowing these “tools of the trade” by heart puts you at an advantage in any job interview situation.
  • “Productionize” your projects and share them with the world: You’ll see how to apply the best practices for defining and installing package dependencies in Python. You’ll know how to get your programs ready to be deployed on production and automated testing environments and how to make it easy for other developers to contribute code with minimal setup effort.
  • Become more valuable as an employee and team member: With my detailed 7-step workflow for researching quality Python packages you’ll know how to document and justify added program dependencies to your team and your manager. By taking on more responsibilities and picking up these senior-level “architectural” skills you’ll rise head and shoulders above other devs stuck at the “code monkey” level.

Managing Python Dependencies will give you the tools and best practices to tackle Python application development with confidence.

With six easy to digest training modules you’ll pick up core Python development concepts at your own pace.

Here’s a breakdown of the course contents:

  • Module 1 – Welcome & Course Overview
    You’ll get a quick overview of the course and a rundown of the course curriculum. This helps prepare your “mental map” of what you’re going to learn in the course so you can retain that knowledge more readily.
  • Module 2 – Managing Third-Party Dependencies With Pip
    Discover how dependency management enables modern software development by making well-packaged building blocks available in your own programs. You’ll start with an introduction to dependency management in Python, including its main benefits and challenges. Then you’ll get hands-on examples for how to work with “pip”, the official Python package manager.

    You’ll learn how to install and update pip, how it’s command line interface works, and how you can use pip to install (and uninstall) third-party packages. You’ll also see how to identify and selectively upgrade outdated dependencies. Besides that you’ll gain a deep understanding of Python’s packaging ecosystem, including the main package repositories like PyPI and Warehouse, as well as advanced version management features in pip.
  • Module 3 – Isolating Dependencies With Virtual Environments
    In this module you’ll discover how leveraging sandboxed Python environments helps you avoid version conflicts and deployment headaches.

    By following along with hands-on live demos you’ll see how to smoothly integrate virtual environments into your Python (2.x or 3.x) development workflow. I’m also sharing my personal command-line workflow and shell setup for making switching between virtual environments a breeze.
  • Module 4 – Finding Quality Python Packages
    In this core module in the course you’ll master how to find and identify quality Python packages. You’ll see how the more than 100,000 third-party packages available today will help you save time, avoid “reinventing the wheel”, and deliver your projects faster.

    After that you’ll see how to use curated lists for finding and picking the best Python packages for most common scenarios. Next, you’ll pick up a unique 7-step workflow for finding and selecting quality Python packages.

    This module is chock-full with hands-on examples and in-depth discussions of how to find and select the ideal Python library for any use case. You’ll see exactly how I avoid low-quality packages in order to keep maintenance costs low and development headache-free. Besides that, you’ll see how you can use the same process to justify and defend dependency decisions to your team or manager.
  • Module 5 – Setting Up Reproducible Environments & Application Deploys
    See how to leverage “requirements files” and specific workflows to allow your Python programs to run flawlessly and with the exact same set of dependencies on local development environments, automated test or build servers (CI), as well as staging and production deployment targets.

    By mastering these workflows and making your dependency installs 100% repeatable you’ll save time and reduce development delays for yourself and everyone you work with. In this module you’ll also see the habits and processes I use to structure my Python source code repositories in order to simplify dependency installs and make them more convenient.
  • Module 6 – Course Conclusion and Recap
    The course ends with a “lightning review” of the main concepts you picked up. This helps reinforce your learning and enables you to apply your favorite “tricks” and workflows from the course right away.

All 32 video lessons come at a full 1080p HD resolution for you to enjoy on any device you own.

The videos use a high-contrast color scheme and large font sizes so you can focus 100% on improving your skills instead of deciphering text.

To get a feel for the quality of the course, watch the course introduction lesson in the video embedded below:

Those are the contents of the core course.

And I’m not stopping there…

To help you deepen your mastery of dependency management tools and best practices in Python, I have put together several additional bonuses that perfectly complement this course.

Managing Python Dependencies is your “one-stop shop” for learning how to use modern dependency management practices and workflows with minimal time investment.

Take advantage of these additional bonuses included with the course to speed up your learning progress:

Bonus #1 – Word-for-Word
Transcripts & Subtitles
(All 32 Videos)

This package includes full, human-made transcripts for all 32 video lessons in the course.

With these transcripts following the course lessons will be a breeze even if English is not your native language. You can print these out to underline key parts and take notes as you follow along with the course.

Also, all videos in the course include subtitles based on these transcripts. This makes the videos accessible for non-native speakers and developers with hearing impairments.

The transcript would cost you $121 just for the transcription itself (plus an extra $40 for editing and formatting) but you get it as part of this package at no additional cost.

Value: $161

— Plus —

Bonus #2 – Audio-Only MP3
Version of the Full Course

As a software developer I know you’re busy most of the time. The goal of this course is to make your life easier, not add more to your burden.

That’s why the course package includes a full audio-only version of the course contents as a bonus. If you’re strapped for time you can listen to the whole course while you’re commuting or working out.

It’ll help you quickly build up a mental “knowledge map” of the course contents. Then you can come back to the video lessons and the transcripts and quickly zoom in on the parts of the course that will really move the needle for you.

Whenever I buy training courses for myself I like to listen to them several times again in audio-only form while I’m at the gym or going for walks. This trick is a huge time saver and a great way to reinforce your learning.

It cost me $57 to hire an audio engineer on Upwork to prepare this (DRM-free) MP3 version of the course. But you get it for free included with the course package.

Value: $57

— Plus —

Bonus #3 – “Review at Your Own Pace” PDF Slides for All Course Lessons

These uncut PDF slides are perfect to keep handy as a quick reference when you want to refresh your memory about Python dependency management without scrobbling through the videos.

I’d highly recommend printing this PDF out and keeping it with you while you watch the videos. You can underline key points and make notes in the margins.

Also, this PDF version of the course contents is fully searchable. This means the full course contents and examples are available at your fingertips and you get to review and annotate them at your leisure.

If you had to extract the same content from the video lessons and package them up as PDFs it would likely take you several hours to do it. I've already done that work for you and the course package includes more than 190 crisp (and fully searchable) PDF slides with the course contents.

Value: $29

— Plus —

Bonus #4 – “Track Your Learning Progress” Course Workbook

Use this printable 28-page PDF workbook to track your learning progress as you make your way through the course.

Each page in the workbook is dedicated to a single lesson in the course. You can mark lessons and modules as completed and take your learning notes in the blank space on each page. This will help you build up your mental “knowledge map” of the topic and reinforce your learning.

By completing this workbook you'll get a personalized "cheat sheet" covering your unique perspective on the topic. A personalized cheat sheet is a priceless learning resource that you can come back to again and again to refresh your memory. I paid $14 to get the workbook layout produced and edited but you get it here for free included with the course package.

Value: $14

That’s it for the bonus content included with the full course.

Let’s do a quick recap so you’ll know exactly whether or not Managing Python Dependencies is right for you:

Course Goals:
By the End of the Course You’ll Know How To:

  • Install, use, and manage third-party Python packages with the “pip” package manager on Windows, macOS, and Linux.
  • Isolate project dependencies with so-called virtual environments to avoid version conflicts in your Python projects.
  • Apply a complete 7-step workflow for finding and identifying quality third-party packages to use in your own Python projects (and justifying your decisions to your team or manager.)
  • Set up repeatable development environments and application deployments using the “pip” package manager and requirements files.

Who Should Take This Course?

  • This course is for Python developers wanting to break through to the next phase of developing code by becoming more efficient, productive, and skilled using Python’s rich library ecosystem.
  • If you’ve ever caught yourself thinking “There’s got to be a Python package out there that does exactly what I want…But how do I find it?” this course will fill in the missing pieces for you. Discover the industry best practices around choosing and managing third-party dependencies for your Python 2 or Python 3 projects.
  • If you already know how to use alternative package managers like Conda you’ll discover how to use the standards-compliant tools and workflows supported by any Python distribution and used in most production application deployments.

Who Should Not Take This Course:

  • This course is probably not for you if you already have an in-depth understanding of how packaging works in Python, you’re 100% happy with your current workflow for managing dependencies, you know how to find and identify quality Python packages for any situation, and you you can easily justify your decisions to your team or manager.

You May Be Wondering,
How Much Will All This Cost?

When I totaled it up, the complete course package contains a whopping $657 worth of Python training.

It’s a “one-stop shop” for the dependency management skills and best practices that professional Python engineers are expected to know.

With this course you’re making the smartest kind of investment there is—an investment in yourself and your own abilities as a developer.

And an investment like this could easily pay you back 50X or 100X in the next year.

That might sound over the top, but it’s actually pretty realistic.

Think about it…

The workflows and best practices you’ll get from this course are “table stakes” for senior-level Python development jobs.

Dependency management and application deployment is one of those “icky” but important topics that’s often overlooked by inexperienced developers.

With your newfound skill set you’ll be able to demonstrate that you care about *shipping* a quality product and not “just coding” it.

You’ll be able to help your colleagues with your expertise. Teaching your coworkers new tricks and workflows that make them more productive is the best way to get recognized as an expert.

Pulling everyone else around you UP and making them more productive is a fantastic way to show you’re ready to take on more responsibility—which in turn is one of the best ways to get yourself promoted.

Here’s the kicker:

Even though the “return on investment” for this course is excellent, I wanted it to price it so it is affordable for all Pythonistas in my audience.

That’s why I’m pricing the course at a fair


This offer is for the complete course, including all bonuses.

To put that in perspective, that’s less than what you might pay for a decent keyboard or mouse.

And as an investment in yourself and your development career it will pay off many times over, quickly.

Now before we go on, let’s take a look at what you get in the course package:

Managing Python Dependencies
The Complete Course

Managing Python Dependencies Course

Here’s What’s In “The Box”:

  • 32 HD-quality video lessons ($396)
  • Word-for-Word transcripts for all course lessons ($161)
  • 190+ “Review at Your Own Pace” PDF slides ($29)
  • “Track Your Learning Progress” Course Workbook ($14)
  • DRM-free MP3 audio-only version of the course ($57)
  • Lifetime access to the course

Managing Python Dependencies

$657 $49

Add To Cart

What Pythonistas Are Saying:

“Very informative, thoughtfully approached, and easy to understand”

“I took this course in hopes that I may learn a few things. I already use virtual environments and was familiar with that concept.

I found your course to be very informative, thoughtfully approached, and easy to understand.

You did not leave me behind and, in no part, did I feel lost or confused. In fact, count me in on your next course!

I thought that the presentation as a workflow was very helpful. Nice and sequential.

You answered several questions that I have had, especially with managing the requirements.txt file.

The audio and video quality are really good. The colors chosen contrast nicely which makes reading the bullet points, etc easy while you are talking.

The font size of the presented material in the videos was nice. Your voice cadence and tone were nice. The volume level was good. The length of the videos seemed appropriate. Not so long as to lose attention and not too short so that you wear out your mouse clicking the next video.

When showing the command line in the terminal window, the font size there was nice as well!”

Bill Arbuckle Certified General Appraiser & Pythonista

“A well done, interesting and enjoyable program”

“I thought it a well done, interesting and enjoyable program that provides very usable tips and tricks for people to be better prepared to start developing applications in Python. I’m going after the Sublime Python guide next.”

Jeff M. Network Engineer

“The missing piece I needed to start on my continuous integration project”

“I have used pip ever since starting with Python, but after taking this course, I found that I was not using it as well as I could be.

In the past I had been manually installing 3rd-party modules and always getting the ‘latest’ versions when moving environments or starting new ones, which sometimes caused problems with code - not to mention that I sometimes forgot which modules I needed to install!

With the workflow outlined, I think my programs will become a lot more portable; this was the missing piece I needed to start on my continuous integration project with Jenkins!

Overall this course was full of straight-forward examples and will definitely help me untangle the web that is Python.

Daniel Meyer Sr. Desktop Administrator at Tesla Inc.

“Will move my Python skills to another level”

“I just finished the course. Thanks to you I learned much about the topic. Not all things were completely new, but I clarify most of them and now I feel that I really should use them (and I want to, of course) :) I believe that the acquired knowledge will move my Python skills to another level.”

Tomas Ryba Python Developer

“I found it excellent!”

I have just finished the course. I found it excellent!

On a non-technical note, may I say that you have an excellent ‘manner’ for teaching. Your voice is easy on the ears (I know that may sound daft but some trainers, in my experience, tend to get, or try to be, SUPER EXCITED about everything and it can become somewhat grating after a while) and very clear. You do not speak too slowly, or too fast.

And it’s all beautifully edited and seamless. It just kind of feels like you’re having a nice conversation with a programmer friend who is in the same room with you, sharing his hard-earned experience and knowledge. Outstanding.

I have used venv and pip already but only as a means to an end, so to speak. e.g. I am learning Django at the moment and that introduced me to these tools by necessity. But I’ve only skimmed the surface of them to get to Django, so to speak…

So your course taught me a lot; ready for when I’m doing production projects that actually matter. (I met venv back learning Python itself on Linux - but it was still very useful to go through it again properly.)”

Keith Grant Pythonista at Suitable Software

“Well organized, easy to follow, and full of practical real life examples”

Dan has made an easy to follow course to get the fundamentals right with Python packages and dependency management.

The course also covers the essentials of virtual environments, which are key part of managing dependencies especially on your development environment.

My favorite part is module four where Dan explains his well-defined and practical process, how he finds the quality packages, among the vast number of alternatives, using couple of tools. The module covers several important points, when selecting the right third-party packages for your project. One of the most important ones being licensing, especially if you are building a commercial application. Dan goes through the checks how he identifies the quality of the package in question. He also lays out how to justify your package selection to your colleagues or manager.

Overall, Dan did a great job with the course. The course is well organized, easy to follow, and full of practical real life examples.

I very much recommend this course especially to Python beginners, since this will possibly save a lot of time when getting started with the language and its ecosystem. There’s something new to learn for more seasoned Python developers, too.

Jani Karhunen Data Engineer & Python Consultant at Orchid Bits

1 Year “Try It Yourself” Guarantee
Master Python Dependency Management

Maybe you’re thinking “Yeah, this sounds helpful. But how do I know this course is going to help ME?”

I hear you.

The last thing I want is for you to pass on this course because you’re not sure it’ll work for you. I’m 100% confident it will so here’s my offer to you:

Put my word to the test. Take Managing Python Dependencies for a spin today.

Spend just an hour with the course today and start building your Python dependency management skills.

Then take up to a full year to apply your newfound knowledge.

And if for some reason you don’t agree that I’ve given you a faster, easier way to take your practical Python skills to the level you need to rise head-and-shoulders above other developers, I will either:

A) Jump on Skype with you for 30 minutes of 1-on-1 coaching to help you bust through whatever roadblocks are holding you back. My consulting rate for 1:1 coaching is $200 and hour, so this is a risk for me. But I want you to succeed at this and I’m confident in my product.

B) Or, if you prefer, I’ll cheerfully refund your money in full. No questions, no hassles, any time within the next year. You can even keep the bonuses for giving it a try.

Either way, all the risk is on me.

— Dan Bader

What would happen if you stopped losing productive time on searching, testing, and re-inventing Python packages?

Modern software development keeps moving towards a model where developers connect reusable building blocks instead of writing programs 100% from scratch.

Python developers who know how to work in an environment like this are highly valuable to businesses and therefore sought after.

As the industry moves forward these skills will soon become “table stakes” for any software development job above junior level.

My new Managing Python Dependencies course will prepare you for these lucrative opportunities.

It’s a “batteries included” solution to attaining the Python dependency management skills you need to work on a professional development team.

Here’s how to get instant access to the course:

Just click the Add To Cart button below.

Then enter your payment info on the next screen and click Pay.

You’ll immediately get access to Managing Python Dependencies and all the bonus content.

You’ll cut out all the wasted time and effort spent on searching, testing, and re-inventing existing Python packages.

You’ll feel confident working with the dependency management “tools of the trade” like pip, virtual environments, and requirements files.

And you’ll finally be free from the nagging thought that “reinventing the wheel disease” is holding you back from achieving your goals as a software engineer.

— Dan Bader

Managing Python Dependencies

$657 $49

Add To Cart