Testing & Debugging
Python Koans is a port of “Ruby Koans” it is an interactive tutorial for learning Python by practicing TDD and making tests pass.
Sure is a utility best for automated Python testings. It has features like fluent assertions, deep comparisons of collections and much more. Check out the README for more details.
Make testing a little easier with responses, a utility library for mocking out the requests library.
Boom! A replacement for Apache Bench. Boom is a command line tool you can use to quickly smoke test your applications.
Part of the BeeWare suite as well, cricket is a graphical tool to help you run your test suites.
Part of the BeeWare suite, bugjar is an interactive graphical debugger for for Python.
pudb is a full screen console based debugger for Python.
A pretty nice gdb interface.
Frameworks & Web
Tired of littering login_required decorators all over the place? Get inside your stronghold and make all your Django views default login_required.
Falcon Framework (falconframework.org)
Falcon dubs itself as the high-performance cloud API framework. Falcon claims to easily serve up to 30 times as many requests on the same hardware as competing web frameworks. Sound interesting to you? Check it out.
Drop in replacement for django-admin themed with twitter bootstrap. Comes with ability to add plugins as well as built in dashboards.
This is a wrapper around Flask that allows you to easily build RESTful backend services. Full documentation here.
This is a simple framework for creating great REST API’s with Flask.
Sandman wants to help you expose your existing apps via a REST API. Check out the relevant blog post too.
Django Unchained (github.com)
Naming of this is a little on the nose for our taste but good guide for getting started with Python and Django.
New year, new web servers. Interesting event driven concurrent framework for python which support all version of python from 2.6+ and pypy.
Synchronization primitives for Tornado coroutines.
Offset is an attempt to port Go’s concurrency model in python. See the Slides for the related talk here.
Pure python job queue inspired by resque, pretty good alternative to celery.
Dagobah is a simple dependency-based job scheduler written in Python. It also has a pretty cool workflow graph for interconnected jobs.
An in-process scheduler for periodic jobs that uses the builder pattern for configuration.
Utilities & Tools
Find yourself constantly googling for the simplest programming tasks? howdoi keeps you from flipping to the browser to google your question.
Time travel made easy! Delorean which aims to make working with dates and datetimes in your Python projects a breeze. Check out the project itself or the comprehensive documentation.
For those of you who need your tools to look beautiful will definitely want to checkout powerline-bash. This adds powerline to your favorite terminal Bash/Zsh currently supported.
Implementation of of the missing “batteries” when it comes to functional programming in Python. Those of you interested functional programming in python should check this out.
Convenient little application that provides licenses for your open source applications, rather than having to google for it. It supports BSD, MIT, and GPL variants.
Lock and unlock your laptop with a USB key.
MatchBox is a dropbox style clone that you can use on your own servers for file backup. Looks very interesting as it uses Flask and transfers files via http.
Locksmith is an AES encrypted password manager. Looks good and is completely open source. Check out screenshots or the source.
Manage your SSH connections “Like a Boss” with Storm’s command line interface. Pretty useful!
This is very useful. sqlparse is a non-validating SQL parser. It supports parsing, splitting and formatting SQL statements.
Automatically format your code in pep8 format with this tool.
Use colout to colorize output on the commandline. Check out the examples on the github page.
bumping version number can be annoying at best, and everyone forgets to tag every release. bumpversion simplifies that down to a simple command.
Need to manage your different versions of Python better? pyenv lets you do that simply, and unobtrusively.
A set of tools to keep your pinned python project clean and up to date.
Cdiff is a very nice tool to show diffs coloured in the unified-diff format or side-by-side. Looks useful, click through to look at the README for more details.
Data Science & Visualization
The crowd at bitly has released command line tools and utilities for data analysis. Among the utilities are ones that create bar charts and histograms from data inputted on the commandline as well as some other useful utilities.
Probabilistic Programming and Bayesian Methods for Hackers (github.com)
This is excellent, a book which is an Introduction to Bayesian Methods and probabilistic programming for data analysis. It has downloadable iPython Notebooks for each chapter.
Interested in displaying, aggregating and sharing event based time series data for all your applications? Look no further, it also comes with a little bit of customizable dashboard information too.
For those of you who love your data and python, well particularly love vincent. Python to vega translator, built for making visualizations with D3.js.
This is an application that simplifies realtime data analysis. bamboo provides an interface for merging, aggregating and adding algebraic calculations to dynamic datasets.
This is pretty incredible, dataset makes reading and writing data in databases as simple as reading and writing JSON files. No more dealing with stray files your boss asked you to keep on top of.
Like maps? love python? Folium lets you manipulate your data in Python, then visualize it in on a Leaflet map.
Use prettyplotlib to enhance your matplotlib use and make your default matplotlib graphs beautiful.
Interested in learning survival analysis in Python, including Kaplan-Meier, Nelson-Aalen and survival regression, look no further!
Editors & Editor Enhancements
Need a break on those long coding marathons. Check out this simple game.
A powerful open source IDE for Python written in Python.
This is a windows based Python 3 IDE. Sports a simple UI and all the other features you would expect in a modern IDE like refactoring support, project management, etc.
This library is pretty cool, let you measure various metrics in your application code and easily pipe them to external tools like graphite.
Implements the basics of creating a proper modern daemon on a Unix system in Python.
Scales tracks server state and statistics for your python apps. It also can send data to graphite. Check out the README for more details and usage examples.
Cross platform curses based monitoring tool for your system.
A enterprise grade application supervisor. Ramona insures that each process of an application is running, restarts when needed and monitors/logs process output and sends email notifications to admins when errors are detected.
Salmon is a multi-server monitoring system built on top of Salt Stack. It can serve as both an alerting system and a monitoring system which can help you consolidate your tools a bit. Check out the README for screenshots, info and directions to try it out.
Graph-explorer is an enhanced dashboard for Graphite. Lots of good here, click through for very detailed documentation.
Sovereign is a series of ansible playbooks you can use to build your own personal cloud.
Extremely well named web application that shows you which docker instances are running on a given machine. It also allows you delete and create new instances and much more.
An API client for the amazing docker project in Python.
A web interface for to interact with the docker remote API.
If you are wondering how to use docker in your django project, look no further than this demo django app.
A Python daemon that collects metrics from your servers or other user defined data sources and sends them to graphite or one of many other supported stats dashboards/collectors.
A tool to visualize your git workflows. Pretty cool demo here.
A simple library to allow you to roll your own Git hosting.
git-imerge is incremental merge for Git. Essentially when using imerge if there are conflicts in your merge you get a chance to merge them as you go and then continue with your merge.
Mail & Chat
Mailbox is attempting to be Python IMAP for humans. In the spirit of simplicity the author is presenting a simpler and easier to understand IMAP API.
deadchat is a cryptographically secure single-room group chat server and client designed to enable secure chat over an insecure network.
Mailpile is an index and search engine for email.
Audio & Video
Poor Man's Spotify, search and stream music.
Ever wonder how Shazam works? Audio fingerprinting and recognition algorithm implemented in Python!
For those HTPC lovers out there, this project is a fully responsive interface to manage all the software on your home media machine.
A music streaming server written in python. Stream your own music collection to all your devices!
This is a package for script-based movie editing, which enables basic operations (cuts, concatenations, title insertions) to be done in a few lines. This is pretty incredible.
This is an interesting concept that promises to gives you subscriptions to function results, using redis.
Zipline is a Pythonic algorithmic trading library.
Raspberry.io is a collection of Raspberry Pi projects and ideas as well as an associated community. This is just newly announced so if you are interested in Raspberry Pi check it out!
Google Reader is shutting down and another challenger enters. Newsblur has been around for awhile, but this open source news reader is definitely one of the premier options to look at for your RSS reading needs.
Macropy is an implementation of macros in Python. Check out the readme for a list of features and how to use them.
Those of you interesting in writing interpreters and programming languages will definitely want to take a look at this repository and the accompanying screencast.
Parsimonious aims to be the fastest arbitrary-lookahead parser written in pure Python—and the most usable. Pretty cool, check out the simple examples.
An open source replacement for Disqus, which boasts better privacy settings than its counterpart. Pretty good looking too, check out the demo.
Deaddrop is an app that allows news organizations and others to set up an anonymous online drop box for sources. For more info about this check out the github page.
If you have been envious of seeing Jarvis the computer in Iron Man or would like to interact with your computer like the one on Star Trek this project is right up your alley. Click through to check out all the awesome.
Nudity detection in Python. This is a port of nude.js.
Kaptan is a configuration manager for your Python apps.
Luigi helps you build complex pipelines of batch jobs.
Gramme is an easy and elegant way to pass volatile data around over UDP with msgpack serialization.
Quick and dirty logging for your Python programs. Has some helpers for tracing functions arguments and return values as well as shortcuts for launching an interactive console.
The latest and greatest from Zed Shaw, fuqit is a web framework that attempts to make you forget everything you have learned from MVC frameworks and focuses on simplicity. Check it out.
Convert your ReStructuredText to JSON with this useful project from pydanny.
Another project for Humans. Lassie is a library that allows you to easily retrieve basic content from websites.
Paperwork is a tool to OCR documents and make them searchable. Nice tool with a GTK/Glade UI.
cheat allows you to create and view interactive cheatsheets on the command-line. It was designed to help remind *nix system administrators of options for commands that they use frequently, but not frequently enough to remember.
Awesome package that provides templates for bunch of code that you write infrequently enough not commit to memory, bunch of templates available or even write your own!
Pretty neat. This is a HTML5 presentation builder in Python. Check out the demo here.
Emulator fans can now add ROMs to Steam with Ice.
A lightweight framework for writing asynchronous network applications. Pants is single-threaded and callback oriented, also includes a HTTP server with Websockets implementation, WSGI support and a simple web framework.
Pipeless is a framework for building simple data pipelines.
marshmallow is an ORM agnostic library for converting complex data types, such as objects,
into native python data types, which are easily converted to JSON for API consumption.
This is a library, written in Python, for making command language interpreters, or shells. twosheds lets you write your own shell, in Python, complete customization.