Everything I know about Python...

Help turn Writing Idiomatic Python into a video series!

Click here to view the Kickstarter campaign

Contribute to an open source Python project for reviewing open source Python projects
Posted on by

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.

Read on →


Free Exposure for Open Source Python Projects
Posted on by

Recently, I had an email conversation with a reader of the blog/book. Apparently, he thought I would be too busy to read (much less respond to) his email, so he thought, "what the heck, I'll include links to my projects for him to check out. Can't hurt." Not only did I read and respond to the email, I checked out the projects as well. They were awesome.

The author was hesitant to release them , among other reasons, out of fear the reception would be negative. It made me wonder if other readers of the blog had open source Python projects just waiting to be discovered as well.

It's time to find out.

If you have a project that meets the requirements below, let me know! In my next post, I'll review not only the app, but the code as well. I like cool projects, but I love great code. Email me the project's URL and be sure to include a link to the source. If your project is chosen to be featured on the site, I'll email you to get your permission to do so. You'll be able to read the review before it goes live, so don't worry about getting a "bad" review and having no control over it.

Here are the requirements for project submission:

  1. The project is open source - that is, the code is freely available for anyone to look at, even if the project or license is closed or restrictive.
  2. The main implementation language of the project is Python.
  3. The project is already live somewhere. No works-in-progress.

If you've got a project that meets those requirements and want more people to know about it, email me at jeff@jeffknupp.com. Include a short description of the projects, the link to the source, and the link to the live site. In the next week or two, I'll review a half-dozen or so projects (remember, both site and code) on this site.

If you're wondering why I'm doing this, it's because I remember how difficult it was to get any exposure when I first started blogging. Ultimately, I learned, the quality of the content is what decides if a blog post is shared, not gimmicks and SEO. So I want the chance to give quality Python projects the exposure they deserve.

Read on →


What is a Web Framework?
Posted on by

Web application frameworks, or simply "web frameworks", are the de facto way to build web-enabled applications. From simple blogs to complex AJAX-rich applications, every page on the web was created by writing code. I've recently found that many developers interested in learning a web framework like Flask or Django don't really understand what a web framework is, what their purpose is, or how they work. In this article, I'll explore the oft-overlooked topic of web framework fundamentals. By the end of the article, you should have a solid understanding of what a web framework is and why they exist in the first place. This will make it far easier to learn a new web framework and make an informed decision regarding which framework to use.

Read on →


A Celery-like Python Task Queue in 55 Lines of Code
Posted on by

Update: you can check this out on GitHub here.

Celery is probably the best known task queuing Python package around. It makes asynchronous execution of Python code both possible and reasonably straightforward. It does, however, come with a good deal of complexity, and it's not as simple to use as I would like (i.e. for many use cases it's overkill). So I wrote a distributed Python task queue. In 55 lines of code (caveat: using two awesome libraries).

Read on →


Big News About Writing Idiomatic Python
Posted on by

The Beginning of the End

I began writing Writing Idiomatic Python in October of 2012 on somewhat of a whim. I had gotten positive feedback about a blog post by the same name and a number of people told me it would make a good book. This kicked off an amazing, multi-year journey that continues to this day. At times it seemed as though the book would never see the light of day. But thanks to the support of friends, family, and all of you, I was able complete enough of the book to be comfortable selling it as a beta version. Today, I think, is the beginning of the last leg of the journey.

I'm happy to announce that the final version of Writing Idiomatic Python will be published by No Starch Press.

Read on →


Web Analytics