Learn to Write Pythonic Code!

When I announced on
the blog that I would, in order to provide free
exposure, review open source Python applications readers sent in, I figured I
would receive a half-dozen or so. I was wrong. To date, I've received 22 requests
from creators of open source Python projects. The size and
scope of these projects range from the just-released, one man side-project to
mature, multi-author behemoths. I couldn't be happier.

That being said, I didn't exactly properly plan for a response like this. I
figured I would toss some reviews up on the blog and be done with it. While
reviews will still appear on the blog, their true home will be a new site:
reviews.jeffknupp.com. It's powered by a small
Flask application I wrote over the weekend (and it shows). While the application
meets my bare minimum requirements, it lacks a number of features I think would
be useful.

Rather than do it all by myself, I decided to perform an experiment I've been
thinking about for a long, long time. In fact, it's less an experiment and
more of a fanciful dream of a world where programmers work together and lend a
hand when they see the opportunity.

I'm going to see if my readers can work together to create an awesome open source web application.

Think of the project as you would any open source project; it needs contributors.
The git repo for the project is open for contributions
at www.github.com/jeffknupp/review.
The basic structure of the project is there and the application is functional, but there are
loads of ways to improve and enhance it. If you've never contributed to an
open source project but know a bit of Python, this is officially your chance.
I know for a fact there are issues that can be resolved in five minutes or less.
And if you contribute, I'll add you (rather, you'll add yourself)to a CONTRIBUTORS.txt file,
listing the names of everyone who has contributed to the project.

I'll accept any reasonable pull request, even if it's implementing features I didn't
ask for or fixes bugs no one knows about. In fact, for new features (not changes
to existing code) I'll accept pull requests whose code I know to be of poor quality.
My hope is that the "community" will make things right. The code-base is small
and straightforward, so anyone with a bit of Python knowledge can contribute
something (documentation included!).

My dream, naive as it may be, is that people find the project via the review
site or this blog post, think of some feature they'd like to see, and take the
time to implement it. In the process, the site gains cool features and emerges
as some super-awesome butterfly, transformed from its current, moth-like state.

Note that I fully expect that no one will contribute. And I'm not saying that in
that cloying way where I really do expect people to work on it, wink wink.
I really don't expect this to happen. But I like to think we live in a world
where it could happen, and, c'mon, you never know!

Note that I'll be continuing with the review project even if no one contributes to the app behind it. My work on review-writing will not be
impacted by a lack of contributions to the app. I'll be working hard on them
regardless.

If no one contributes, that's OK, because the site is functional as is. People
who are looking for projects to contribute to, well, they'll be staring at
a list of possibilities. Rest assured I'm locked in my lab furiously reviewing
projects. The first batch of reviews should go up later this week.

The git repo for the project
for the project is open to contributors and I've populated the issues page
with a wish-list of sorts. If you're reading this, it's already ready to receive
contributions. I'm hopeful that someone does contribute, and I would love for
the project to be self-sustaining. But I don't really think it will.

Like this article?

Why not sign up for Python Tutoring? Sessions can be held
remotely using Google+/Skype or in-person if you're in the NYC area. Email jeff@jeffknupp.com if interested.

Sign up for the free jeffknupp.com email newsletter. Sent roughly once a month, it focuses on Python programming, scalable web development, and growing your freelance consultancy. And of course, you'll never be spammed, your privacy is protected, and you can opt out at any time.