It seems a number of people are interested in what my development setup looks like. I'm constantly emailed questions asking what IDE I use, what OS, what packages, etc. To stem the tide, I'll outline my dev setup here.
I've previously written about "yield" and generators. In that article, I mention it's a topic that novices find confusing. The purpose and creation of decorators is another such topic (using them, however, is rather easy). In this post, you'll learn what decorators are, how they're created, and why they're so useful.
After a recent reorganization at work, I became the technical lead on a project to rewrite an existing PHP application that consisted of tens of thousands of lines of code. My team of five decided that Python and Flask would be a good implementation choice as it would allow us to see results quickly. The group ranged from complete Python novices to Python journeymen.
They quickly became rockstars.
How did this happen? How was it possible that, in less than a month from the project's inception, these python beginners were writing beautiful, idiomatic code? That code reviews were simple, straightforward, and usually took almost no time? The answer may surprise you.
Most Python developers have written at least one tool, script,
library or framework that others would find useful. My goal in this article
is to make the process of open-sourcing existing Python code as clear
and painless as possible. And I don't simply mean, "create GitHub repo,
git push, post on Reddit, and call it a day." By the end of this article,
you'll be able to take an existing code base and transform it into an open source
project that encourages both use and contribution.
While every project is different, there are some parts of the process of open-sourcing existing code that are common to all Python projects. In the vein of another popular series I've written, "Starting a Django Project The Right Way," I'll outline the steps I've found to be necessary when open-sourcing a Python project.