Pycoder projects of 2013

I read Pycoder newsletter. It supplies few new cool open source projects, discussion threads and job offers every week (archive) It's amazing to know what is happening in your community and some of this projects prove to be very useful or just inspiring.

But this week their mail was so overwhelming! (and also very cool) In their newest mail they grouped and listed coolest python projects of the year. There is plenty of them in categories such us:

  • web development
  • data visualization
  • devops tools
  • debugging
  • testing

and more.

I would need a year to get through all this amazing projects. Sadly I have lots to do and little time (my projects won't develop itself without my help).

Some of the projects which really gained my interest:

Falcon is a high-performance Python framework for building cloud APIs. It encourages the REST architectural style, and tries to do as little as possible while remaining highly effective.

  • isso - open source project similiar to discuss (worth trying/contributing?)

  • cookie cutter

A command-line utility that creates projects from cookiecutters (project templates), e.g. creating a Python package project from a Python package project template.

I was looking for some tool to automate setting my flask/django apps and probably I found it. Cookiecutter has its own cookiecutter-flask :

A Flask template with Bootstrap 3, starter templates, and working user registration.

  • sure - this test framework with monkey patching is just too cool to be true. Damn, I would love to use it in all my projects! I like my unit tests in unittest(2) but often I'm a bit tired of all that 'javaish' boilerplate.

  • pulsar concurrent framework for python, written with python 3 in mind. No more: "Damn, I want this nice concurrency library, but noone (yes, gevent, I'm looking at you) supports python3, lets do it in python2"

  • django-xadmin drop in replacement of django admin with lots of additional goodness

  • simmetrica - Lightweight framework for collecting and aggregating event metrics as timeseries data

  • fn functional tools for python

My afterthoughts

And there is more. sighs

I have a dillema because I would like that I won't use them all and it can be even not the best idea ever, because some new hype python projects are just half-baked and inconviniet too use. I had some so-so experience with pydown - it worked but I'd probably be much more productive in almost anything.

I don't even have time to learn all those great well established libraries, which I use or like to introduce in my new projects. I don't know if learning faster would be a solution to this problem. Probably not reading the internet and not knowing about all this amazing stuff would solve my problem with being excited about too many projects and not being able to learn more about them.

Projects which proved most useful to me

This year I developed a lot in the web. I used mainly django and flask.

They have different feel but both are production ready, well documented, fun to use and have lots of available plugins. Great tools to get things done.

I would die without the great duo:

  • pip - installing python packages with ease
  • virtualenv - creating virtual environments for python projects

This year I found out great power of IPython with its notebook. IPython made my python development much more convinient. I feel pain when I launch normal python shell by mistake. IPython features are indispensable. IPython notebook introduces total new quality. I tend to use it for everything - work, personal projects, research and studies. It's amazing. I even wrote posts about this tools.

I moved my blog to nikola which works really smoothly.

For real deployment I started using:

Supervisor is a client/server system that allows its users to monitor and control a number of processes on UNIX-like operating systems.

Sentry is a realtime, platform-agnostic error logging and aggregation platform

Summary

All this projects are amazing and written in python. But there is lots of other programming languages and I don't know their communities and most famous and useful projects. Very interesting idea is porting various libraries between languages.

I sometimes wander if we reinvent the weel all the time, just look at pages such as this one which lists just static site generators.

But maybe it's actually pretty good? The strongest/best will survive chosen by demanding developers and those which won't survive will provide inspiration for newer ones.