Useful Python Modules

A tiny collection of useful python modules for Constraint Programming, Artificial Intelligence and Data Mining, as well as Web Frameworks:

Constraint Programming:

  • CPSP Tools - Constraint-based Protein Structure Prediction. The CPSP-tools package provides programs to solve exactly and completely the problems typical of studies using 3D lattice protein models. Among the tasks addressed are the prediction of globally optimal and/or suboptimal structures as well as sequence design and neutral network exploration.

  • or-tools - Operations Research Tools developed at Google. This project hosts operations research tools developed at google and made available open source. The project contains multiple tools: a Constraint Programming solver; a wrapper around third party linear solvers (glpk. CLP, CBC, SCIP); Knapsack algorithms; graph algorithms (shortest paths, min cost flow, max flow, linear sum assignment).

  • Gecode bindings for Python. This project provides Python bindings for the Gecode constraint programming library. It is implemented using Cython.

Artificial Intelligence:

  • scikit-learn - Machine Learning in Python. Powers machine learning python projects.

  • MDP - Modular toolkit for Data Processing. Especially designed for data-mining projects.

  • patterns - Useful Pattern Set Mining. This project aims to serve as a general resource for researchers interested in pattern and pattern set mining.

Web Frameworks:

  • Django - Web framework for perfectionists (with deadlines). Django is probably the most used web framework for python that promises rapid development and clean, pragmatic design of high-performing, elegant Web applications.

  • Pylons. Pylons is a lightweight Web framework emphasizing flexibility and rapid development. It was one of the first to leverage the WSGI standard, which allows extensive re-use and flexibility but only if you need it.