~ Python - useful links and downloads


Key downloads

Database

Foreign Function Interface

  • CTypes - A package for calling the functions of dlls/shared libraries. Now included with Python 2.5 and up.

  • Cython is an extension language for the CPython runtime. It translates Python code to fast C code and supports calling external C and C++ code natively. As opposed to ctypes, it requires a C compiler to translate the generated code.

Game Development

  • PyGame - Principal wrapper of the SDL library.

  • Image Manipulation

    • Python Imaging Library (PIL) - Supports many file formats, and provides powerful image processing and graphics capabilities.

    • pyqtgraph - Pure-python graphics library for scientific applications with image/video display, multidimensional image slicing, and interactive manipulation tools.

    Networking

    • asyncoro - Asynchronous, concurrent programming framework with coroutines with thread-like interface

    • Gevent - Coroutine-based network library

    • TwistedMatrix - Event-driven networking framework

    • RPyC - Transparent RPC/distributed-computing framework

    • PyRO - powerful OO RPC

    • HTTPLib2 - A comprehensive HTTP client library that supports many features left out of other HTTP libraries, like httplib on the standard library.

    • Celery - Distributed task queue for out of band processing/RPC and more.

    Platform-Specific

    • Psyco - Psyco can speed up the execution of any Python code (x86 only).

    • PyInstaller - Packages Python programs into stand-alone executables, under Windows, Linux and Irix.

    Mac

    • py2app - Creates stand-alone apps (like py2exe for Mac)

    • PyObjC - Bridge between the Python and Objective-C. Most important usage of this is writing Cocoa GUI applications on Mac OS X in pure Python

    Windows

    • PyWin32 - Python extensions for Windows.

    • Py2exe - Converts python scripts into executable windows programs, able to run without requiring a python installation.

    Plotting

    • Chaco - Creates interactive plots

    • gnuplot.py - Based on gnuplot

    • Matplotlib - Production quality output in a wide variety of formats

    • Plotly - Interactive, publication-quality, web based charts

    • PyX - Postscript and PDF output, (La)TeX integration

    • ReportLab includes a charting package

    • Veusz - Postscript output with a PyQt front end

    • pyqtgraph - Pure-python plotting and graphics library based on PyQt and numpy.

    The SciPy topical software page has a longer list.

    Presentation

    RDF Processing

    • See RdfLibraries for a list of available RDF processing solutions.

    Scientific

    • Visual Python - Offers real-time 3D output, is easily usable by novice programmers, excellent for physics.

    • SciPy - Includes modules for graphics and plotting, optimization, integration, special functions, signal and image processing, genetic algorithms, ODE solvers, and others.

    • Python Bindings for R - R is a well known, open source (GPL 2) statistical package. RPy has two versions. Version 2 is still in development but is already usable.

    • numpy

    • PyIMSL is a collection of Python wrappers to the mathematical and statistical algorithms in the IMSL C Numerical Library. Developers can use Python, PyIMSL and the IMSL C Numerical Library for rapid prototyping. PyIMSL Studio is a complete packaged, supported and documented development environment designed for deploying mathematics and statistics prototype models into production applications. PyIMSL Studio includes the PyIMSL wrappers, the IMSL C Numerical Library, a Python distribution and a selection of open source python modules useful for prototype analytical development. PyIMSL Studio is available for download at no charge for non-commercial use or for commercial evaluation.

    Standard Library Enhancements

    • Python Path - Wraps the functionality of the os.path module and provides something more convenient.

    • Requests - An improvement upon urllib etc., for sending HTTP requests.

    • Dateutil - Provides powerful extensions to the datetime module.

    • sh - Can call any external program as if it were a function.

    • DocOpt - Command line arguments parser, with declarative approach (docstring).

    • PyLibrary - Collection of Libraries useful for Python developers.

    Threading

    • ThreadPool - Intuitive approach to threads, well-explained.

    • See the ParallelProcessing page for other multiprocessing or parallel processing approaches.

    System administration

    • psutil - cross-platform library for retrieving information on running processes and system utilization (CPU, memory, disks, network) in Python.

    Web Development

    • Django - High-level web framework.

    • Pyramid - Turbogears, Pylons, Repoz.bfg merged as Pyramid.

      • TurboGears - Rapid web development megaframework.

      • Pylons - A lightweight web framework emphasizing flexibility and rapid development.

    • web2py - High-level framework for agile development.

    • Flask - microframework for Python based on Werkzeug, Jinja 2. (It's BSD licensed)

    • See a more complete list of topics on the WebProgramming page and frameworks on the WebFrameworks page.

    HTML Forms

    • ClientForm - "ClientForm is a Python module for handling HTML forms on the client side, useful for parsing HTML forms, filling them in and returning the completed forms to the server. It developed from a port of Gisle Aas' Perl module HTML::Form, from the libwww-perl library, but the interface is not the same." - from the website.

    • FormEncode

    • lxml.html has support for dealing with forms in HTML documents

    • See also the WebProgramming and WebFrameworks pages.

    HTML Parser

    • Beautiful Soup - HTML/XML parser designed for quick turnaround projects like screen-scraping, will accept bad markup.

    • PyQuery - implements jQuery in Python; faster than BeautifulSoup, apparently.

    • mxTidy - HTML cleanup tool. This is a library version of the popular HTML Tidy command-line application which will convert HTML (even badly formatted) into e.g. XHTML.

    • lxml.html is a very fast, easy-to-use and versatile library for handling (and fixing up) HTML

    • See also PythonXml for related tools.

    Workflow

    • openflow - A workflow engine for Zope 2.

    • Goflow - A workflow engine for Django, with same design as openflow.

    XML Processing

    • ElementTree - The Element type is a simple but flexible container object, designed to store hierarchical data structures, such as simplified XML infosets, in memory. --Note: Python 2.5 and up has ElementTree in the Standard Library--

    • lxml is a very fast, easy-to-use and versatile library for XML handling that is mostly compatible with but much more feature-rich than ElementTree

Anything else you want to add? Leave a comment/question/suggestion

Coming soon!