We hope you guys didn't think we would let the new year ring in without some type of year end round up did you? We have dove through all our previous issues and brought you what we think are the most interesting and noteworthy projects of 2012.
We might have missed a few things so please let us know what projects you loved this year?
As always, if you have any questions, comments, gripes or suggestions just email us at firstname.lastname@example.org and let us know.
To keep up with all the breaking Python news follow @pycoders.
freezegun (stevepulec.com) This is an excellent idea. Freezegun provides pretty great tools to allow you to mock datetime objects for testing. Click through to see the examples.
exam (github.com) Exam is a series of tools and helpers to help you write better tests. Cut down on boilerplate testing code and write clearer tests.
pretend (github.com) Pretend is a stubbing tool for your Python tests. Click through to the README to see the difference between stubs and mocks if the difference is not clear.
cram (bitheap.org) Cram is a functional testing framework for command line applications
splinter (github.com) Splinter is a python test framework for web applications. Splinter gives you the ability to automate browser actions like selecting and interacting with dom elements on a web page.
django-discover-runner (github.com) django-discover-runner is a test runner for django based on unittest2’s test runner. It solves the problem with the django test runner that it runs tests based on the structure of your Django project. django-discover-runner allows you to place your tests outside the structure of a django project and still allow you to run your test suite.
mockstar (readthedocs.org) Mockstar is a bunch of small enhances on top ofMock library that can give you a lot of mocking and unit-testing goods. It’s still in development but I would keep a serious eye out. Http
httpie (github.com) Now this is cool. httpie is a cURL like tool written in python. It’s a CLI frontend for the popularpython-requests library. Easily do the things you do with cURL but with a nice interface, colorized headers syntax, highlighted content body, plus a whole slew of other great features. This got added to our toolboxes immediately, check it out!
HTTPretty (falcao.it) For those of you web developers out there for testing functions that require APIs to be up have to deal with all sorts of things, like if the service is up. HTTPretty aims to take one thing of your plate as a HTTP client mock library.
shadow (github.com) Shadow is an HTTP debugging proxy that sits in front of an existing service and a service with new code changes.
requests (github.com) Python HTTP Requests for Humans™.
mitmproxy (github.com) mitmproxy is a an SSL capable man-in-the-middle-proxy. It allows HTTP(and other) traffic to be inspected and edited on the fly. Don’t be caught unaware by apps like Path any more, now you can know what data you are sending and receiving from remote servers.
curlish (python.org) If you’re the trusting sort, you can install this just by typing “curl -L http://bit.ly/curlish | bash” in your terminal. Curlish is a drop in replacement for Curl that has Oauth 2.0 support. It allows you to do clever things like register sites that use Oauth 2.0 and then remembers your auth tokens. Very cool, check it out.
roomahost (github.com) Awesome. Roomahost is an Open Source HTTP Relay written in Python withGevent. Roomahost allows you to access a web server on your localhost on the internet. What makes this especially great is that you don’t have to configure port forwarding and are not required to have a public IP.
pathod (github.com) Pathod is a collection of pathological tools for torturing HTTP clients and servers, it consists of a HTTP Daemon, HTTP client and a tools to use these in your tests . This is from the author ofmitmproxy, check it out.
docopt (github.com) So this is cool. When you use docopt all you do is put the (correctly formatted usage) for your module in the module’s docstring and then have it parsed with docopt. Awesome.
cement (github.com) Cement is an advanced CLI Application Framework for Python. The inspiration for the project was to help develop both simple and complex CLI applications. Amazing documentation definitely worth a look.
friendly-find(github.com) friendly-find is the friendly file finder.It's meant to be a more usable replacement for find(1). If you've usedack, then ffind is to find as ack is to grep. This is still a work in progress
colorific (99designs.com) The guys/gals over at 99designs have released Colorific, an automatic color palette detector. What does it do? Its a command line tool that you stream an image to and it returns you the images filename and the HTML codes for the color palette. Very cool.
glue (github.com) CSS Sprites made super duper easy. Beautiful commandline tool for making CSS Sprites. Look at all the time you saved during load times.
dom (github.com) This is pretty incredible. easy command line application for checking domain availability. I know I do this couple times of month.
invoke (github.com) Invoke is a python (2.6+) task execution and management tool. Similar to make and other tools, but lets you interface easily with Python code bases. Still in active development but very cool.
peat (github.com) Cross platform file-watcher. You can do awesome things like delete all *.pyc files on create.
pillow (github.com) Pillow is a “Friendly” fork of PIL. The purpose of Pillow is to solve some of the inherent packaging problems that exist with PIL. Essentially the idea is install pillow to install PIL because installing PIL often doesn’t work.
sh (github.com) sh (previously pbs) is a full-fledged subprocess interface for Python that allows you to call any program as if it were a function Apps
django knowledge (github.com) Ever build a side project that has gotten some use, but you have to deal with answering the same question again and again. The Django Knowledge application by theZapier guys lets you quickly add a knowledge base or help desk to any Django application.
Siri Server Core (github.com) Pure python implementation of a Siri server, not a proxy. Unfortunately only 4S version’s of the iPhone can communicate with the Apple servers. This server tries to recreate this server leveraging Google Speech-To-Text API.
beets(radbox.org) Awesome, awesome tool for managing music on your machine. The purpose of beets is to get your music collection right once and for all. It catalogs your collection, automatically improving its metadata as it goes using the MusicBrainz database. Use this.
django-cache-panel (github.com) Django-cache-panel is an addon for Django-debug-toolbar that gives you information about your apps cache usage. Pretty useful little app.
blaze (github.com) Blaze is moving in as the next generation of NumPy. RecentlyTravis Oliphant left NumPy development to continue onto Blaze. Take a look at the README to see what Blaze is all about.
sympy (sympy.org) SymPy is a Python library for symbolic mathematics. It aims to become a full-featured computer algebra system (CAS) while keeping the code as simple as possible. Written fully written in python so no horrible installation steps as well.
numba (github.com) This is pretty neat. Numba is a NumPy-aware dynamic Python compiler that usesLLVM. Numba is intended to “compile Python byte-code to machine code especially for use in the NumPy run-time and SciPy modules.”
pandas (github.com) pandas is an open source, BSD-licensed library providing high-performance, easy-to-use data structures and data analysis tools for the Python programming language.
iPython (github.com) IPython provides a rich toolkit to help you make the most out of using Python.
Editors/ Editor Enhancements
git gutter (github.com) This is basically a must have if you use Sublime Text 2. This little plugin adds a little state variable to your gutter just under the line numbers to show newly added code or places where you have removed code. Awesome plugin.
Ninja IDE (ninja-ide.org) Ninja IDE (Ninja is not just another IDE) is a cross-platform Python integrated development environment. This IDE sports plenty of good features like built-in PEP8 checking, linting, tools for managing Plugins and an extensible plugin interface.
BrowserRefresh-Sublime (github.com) After installing this plugin you can hit ‘command + shift + r’ on any window in Sublime Text 2 and your Google Chrome window will come to the foreground and reload the active tab. If the current file is unsaved, it will be saved before Chrome is activated and reloaded. Awesome!
jedi-vim (github.com) Vim user? Python user? If so this is probably right up your alley! Pretty awesome Python autocompletion support using theJedi library as well as Pydoc support.
powerline-bash (github.com) If you use powerline in your vim configuration you may recognize this. Even if you don’t you might like it. This is powerline for bash, a pretty neat interface in your bash prompt. Check out the readme for its features.
python-mode (github.com) This is one of Mike’s favorite things. Python-Mode for vim, it supports PyLint, Rope and Pydoc, as well as custom Python movement commands and a bunch of useful python addons. If you use Vim and Python together, this should be in your list of Vim plugins.
Python Tools for Visual Studio - 1.5 (codeplex.com) This is great for all of you Python coders out there on Windows. Python tools 1.5 for Visual Studio, has lots of great features and built in Django support. If you are a Visual Studio user check it out.
Getting Started check.io (checkio.org) This is really neat! Check iO is a game where the basic concept is that to progress in the game you have to complete programming challenges in Python.
The Hitchhiker’s Guide to Python! (docs.python-guide.org) This opinionated guide exists to provide both novice and expert Python developers a best-practice handbook to the installation, configuration, and usage of Python on a daily basis.
syte (github.com) Awesome powerful blogging platform that has social integrations like Twitter, GitHub, Dribbble, Instagram, Foursquare, Tumblr, Last.fm, SoundCloud and Bitbucket.
pelican (github.com) Pelican has emerged as the static site generator of choice for Python developers. It is highly flexible with plenty of themes. Definitely worth checking out if you are moving static with your website or blog.
cuisine(github.com) Ever wish that you had Chef like functionality with fabric? Have you attempted to get the similar experience with your own fab scripts? Look no further, Cuisine is a small set of functions that sit on top of Fabric. Definitely worth a look.
pymunincli (dzone.com) PyMuninCli is a command line client library to query yourmunin servers. This is the perfect library for the Ops guy/gal in all of you.
redis-faina(tumblr.com) What do you do when you sell your company for a Billion dollars to Facebook? You write a query analysis tool for Redis! No really, that's not fair, the guys at Instagram are doing good work and this is a nice tool for sites that do a lot of volume on their redis server and need to better intelligence on their queries. Check it out.
dnspython (github.com) This is very nice. dnspython is a DNS toolkit written in python. Essentially this is your one stop shop for dealing with DNS in your python code. dnspython supports almost all record types. It can be used for queries, zone transfers, and dynamic updates.
flower (github.com) Keeping in theme with the vegetation, flower is a web based celery monitoring and administration tool. Quite awesome if you are wrangling celery workers.
salt(github.com) Saltstack is a central system and configuration manager written in Python.
sentry (github.com) Sentry is a real time event logging and aggregation platform. Integrates everywhere as well as provides trends for occurring exceptions in the system.
celery (github.com) The original Python Distributed Task Queue
rq (github.com) Like celery, but hate the overhead? RQ (Redis Queue) is a simple Python library for queueing jobs and processing them in the background with workers. It is backed by Redis and it is designed to have a low barrier to entry.
heatmap (github.com) Python script for generating high quality heat maps based on any coordinate data GPS tracks, eye tracking data. Pretty cool if you want to map some data that can be mapped to a XY coordinate plane.
selfspy (github.com) Selfspy is a daemon for Unix/X11 that continuously monitors and stores what you are doing on your computer. It is inspired by theQuantified Self movement. It can tell you what you were working on a couple of days go, what your password for a website, it stores everything you type and does it securely for self inspection later. SO awesome.
autopep8 (github.com) This thing is awesome, something every python developer should check out. It takes your broken non-pep8 validating code and returns you formatted version that passes pep8 fully formatted.
xkcd password generator (github.com) xkcd is funny. its even more fun with developers with a little time and tendency to take things a little seriously bring you things as awesome as this.