Hey Reader,
After the announcement went out yesterday about the sale on my Managing Python Dependencies with Pip and Virtual Environments course, some of you emailed me with a bunch of questions about it.
To make sure you get your questions answered (and to save me some typing) I decided to share a quick Q&A.
Here we go:
Q: What exactly am I going to get out of this course?
Managing Python Dependencies is your "one-stop shop" for picking up modern Python dependency management practices and workflows with minimal time investment.
The course consists 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:
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.
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.
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."
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.
Q: How do I know this course works for me? Is there a guarantee?
I've "road tested" this course for several months. At this point multiple cohorts of developers have gone through it from start to finish.
Here's what a few of them had to say:
"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
"I have just finished the course. I found it excellent! [...] 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. [...] The course taught me a lot; ready for when I’m doing production projects that actually matter." — Keith Grant, Pythonista at Suitable Software
"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!" — Bill Arbuckle, Certified General Appraiser & Pythonista
"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 & Consultant at Orchid Bits
Now, 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 next level, I'll cheerfully refund your money, no questions and no hassles, any time within the next year.
All the risk is on me. If you're still on the fence you can try the course with zero risk.
Q: Do I get lifetime access or is there a monthly fee to access the course?
It's a one-time payment for the whole course. You'll get instant access to my learning platform where you can access the course and consume it however you like, for how long you want. No strings attached.
Q: I'm already using pip and virtual environments. Is this course right for me?
Great, you're going to get even more out of this course than someone who's just getting started.
You've already been down this road. You *know* where the "icky" and confusing parts are when it comes to dependency management in Python. And you probably have a really good idea about where there's room for improvement in your own (or your team's) workflow.
So what you're going to get out of this course as a more seasoned developer is filling in those gaps and making your pip/virtualenv setup work like a well-oiled machine. Because of your prior experience you'll be able to go through the course quickly and you'll be using it to "spot check" your workflow and iron out the kinks.
Rather than having to start from scratch and learning all these techniques from scratch you'll be filling in those blank spots. And that's going to be faster and easier. Basically, you'll be able to take advantage of your existing knowledge and deepen it further to end up ahead of somebody who's starting completely from scratch.
Based on feedback from experienced Python developers who took the course I can say that a big benefit for them was learning a complete step-by-step workflow for finding and identifying quality Python packages. Even seasoned developers said they got a lot of mileage out of that part of the course.
Knowing how to pick a good third-party library a rare skill set and makes you more valuable as an employee and team member. If you can take on more responsibility by picking up these senior-level "architectural" skills you'll raise the productivity and efficiency of your whole team. (And trust me, this WILL get noticed and reflect back on you.)
Q: I know how to use Anaconda and Conda. Do I need to know about pip / virtualenv, too?
Great question. If you already know how to use alternative package managers like Conda you’ll benefit from the course by learning how to use the standards-compliant tools and workflows supported by any Python distribution and used in most production application deployments.
While Anaconda/Conda is a great option for a development or workstation Python setup, it's not commonly used in production environments. If you're interested in expanding your skills in order to, for example, work with the standard hosting platforms for web applications (Heroku etc.) you'll benefit from honing your "pip" skills.
If you already know how to use Anaconda and Conda you won't be starting from scratch and the course will help you get quickly up to speed with the officially recommended tools like pip and venv.
The "finding & identifying great Python packages" module in the course is also directly transferable to alternative package managers like Conda or Apt.
Q: Is the course "compatible" with Windows/Linux/etc?
I'd estimate that 80-90% of the techniques you learn in the course are operating system agnostic—they apply across Windows/macOS/Linux and basically any platform that allows you to install third-party Python packages.
Now there are "hands-on" sections in the course where I demonstrate specific command line workflows step-by-step via screen recordings. I recorded those on macOS using the Bash shell. This means the commands you see there will map 1:1 to other UNIX-based development environments (e.g genuine Linux or the Windows 10 Linux Bash Shell).
In some cases the specific commands for a specific platform are slightly different from the commands I used in the hands-on demo. Whenever that happens I go over the differences after the demo section to explain them.
Therefore you'll be able to apply the techniques taught in the course on any of the major platforms that support installing third-party Python packages, including Windows, macOS, and Linux.
Q: Why do you charge money for this course / Can't I just learn this stuff from reading forums and spending some time on Google?
Well—honest answer—some of the most valuable content in the course *is* actually unique.
The step-by-step workflow for researching third-party packages, for example, is something that I came up with over a number of years "scratching my own itch" and then boiling it down to an easy to follow process. There's no manpage for that stuff.
With other parts of the course it's totally possible for you to do your own research for a month or two and to arrive at the same or similar conclusions that I did.
But:
Is this the best way to use your time and energy?
Think about it this way: If you're going somewhere by airplane it's entirely possible to walk to the airport from your home.
You just need good footwear, a little more free time, and dedication. Oh, and you should know exactly where to go so you'll arrive safely and on time for your flight.
Or, you could spend a few bucks instead and catch a taxi. It'll take you less time to get to the airport, your driver knows exactly where to take you, and you get to enjoy the ride sitting on a cushy seat in an air conditioned car.
You'll end up at the airport in both cases but depending on your circumstances one way to get there might be vastly preferable to the other.
Obviously this analogy is a little tongue-in-cheek. But I believe the core argument holds—
So, if you have lots of spare time on your hands to spend on researching this stuff, or if you end up buying the course and never watch it, or watch it for the entertainment value...then it's probably not going to do much good for you. And in that case I'd rather you DIDN'T buy it. Hang onto your money and put it toward something you'll really benefit from.
However...
If you're willing to take this course and use it to grow your Python skills... Then I guarantee you're going to be happy with the return on your investment.
Q: I'm trying to get a job as a Python developer. Can I benefit from taking this course?
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 Python development job (if they aren't already.)
Managing Python Dependencies is a quick and easy way for you to build these core skills. It’s a "batteries included" solution to attaining the Python dependency management skills you need to work on a professional development team.
But, please keep in mind that this course is not a Python "language tutorial" per se. With this course you'll learn how to work effectively with the ecosystem and tools *surrounding* the core language. (On the other hand that also means you do NOT need deep Python language skills to successfully complete the course and get value out of it.)
+++
Managing Python Dependencies is your "one-stop shop" for learning how to use modern dependency management practices and workflows with minimal time investment.
The full course package includes over $650 worth of Python training at massive discount.
You can still get in on the sale and save an additional 20%—if you act before this deal ends tomorrow.
>> Click here to get "Managing Python Dependencies" (and claim your 20% discount + bonuses)
Happy Pythoning!
— Dan Bader