March 1, 2013

Python resources

Useful material for mastering and using Python in the industry.

Books

Web Material

Development Tools

Videos

Useful Libraries

  • python-gflags — Google command line flag is intended to be used in situations where a project wants to mimic the command-line flag handling of a C++ app that uses google-gflags, or for a Python app that, via swig or some other means, is linked with a C++ app that uses google-gflags.

  • gevent for the Working Python Developer — The structure of this tutorial assumes an intermediate level knowledge of Python but not much else. No knowledge of concurrency is expected. The goal is to give you the tools you need to get going with gevent, help you tame your existing concurrency problems and start writing asynchronous applications today.

  • pymox — A mock object framework for Python. Mox is based on EasyMock, a Java mock object framework.

  • Django — A high-level Python Web framework that encourages rapid development and clean, pragmatic design.

  • matplotlib — A 2D plotting library which produces publication quality figures in a variety of hardcopy formats and interactive environments across platforms.

  • pydot — Allows to easily create both directed and non directed graphs from Python. You'd need to install GraphViz as well.

  • Gnuplot.py — A Python package that interfaces to gnuplot, the popular open-source plotting program. It allows you to use gnuplot from within Python to plot arrays of data from memory, data files, or mathematical functions.

  • SWIG — A software development tool that connects programs written in C and C++ with a variety of high-level programming languages. SWIG is used with different types of target languages including common scripting languages such as Perl, PHP, Python, Tcl and Ruby. Check out this tutorial that shows you how to interface with Python.

  • SciPy — An open-source software for mathematics, science, and engineering. The SciPy library depends on NumPy, which provides convenient and fast N-dimensional array manipulation.

Related Resources

  • HTTP status codes cheat sheet — You will need this for web programming.

  • Graphical vi-vim Cheat Sheet and Tutorial — I found vim to be good for editing Python, mainly because it can do copy-paste with proper indent adjustment (pasting with ]p instead of p).

  • git — Distributed version control system designed to handle everything from small to very large projects with speed and efficiency.