A python implementation of the munkres algorithm
NetworkX (NX) is a Python package for the creation, manipulation, and
study of the structure, dynamics, and functions of complex networks.
Features:
* Includes standard graph-theoretic and statistical physics functions
* Easy exchange of network algorithms between applications, disciplines,
and platforms
* Includes many classic graphs and synthetic networks
* Nodes and edges can be "anything" (e.g. time-series, text, images,
XML records)
* Exploits existing code from high-quality legacy software in C, C++,
Fortran, etc.
* Open source (encourages community input)
* Unit-tested
Additional benefits due to Python:
* Allows fast prototyping of new algorithms
* Easy to teach
* Multi-platform
* Allows easy access to almost any database
The Numeric Extensions to Python give Python the number crunching
power of numeric languages like Matlab and IDL while maintaining all of the
advantages of the general-purpose programming language Python.
These extensions add two new object types to Python, and then include a
number of extensions that take advantage of these two new objects.
* Multidimensional Array Objects
+ Efficient arrays of homogeneous machine types
+ Arbitrary number of dimensions
+ Sophisticated structural operations
* Universal Function Objects
+ Supports mathematical functions on all python objects
+ Very efficient for Array Objects
* Simple interfaces to existing numerical libraries:
+ Linear Algebra (LAPACK)
+ Fourier Transforms (FFTPACK)
+ Random Numbers (RANLIB)
_____________
Note: Development for Numeric has ceased, and users should transisition to
NumPy as quickly as possible.
The fundamental package needed for scientific computing with Python is
called NumPy. This package contains:
* a powerful N-dimensional array object
* sophisticated (broadcasting) functions
* basic linear algebra functions
* basic Fourier transforms
* sophisticated random number capabilities
* tools for integrating Fortran code.
NumPy derives from the old Numeric code base and can be used as a
replacement for Numeric. It also adds the features introduced by numarray
and can also be used to replace numarray.
Note: Development for Numeric has ceased, and users should transisition to
NumPy as quickly as possible.
pandas is a Python package providing fast, flexible, and expressive
data structures designed to make working with "relational" or
"labeled" data both easy and intuitive. It aims to be the
fundamental high-level building block for doing practical, real
world data analysis in Python.
Patsy is a Python library for describing statistical models (especially linear
models, or models that have a linear component) and building design matrices.
Patsy brings the convenience of R "formulas" to Python.
plasTeX is a LaTeX document processing framework written entirely in Python. It
currently comes bundled with renderers for XHTML, DocBook, man pages, plain
text, as well as a way to simply dump the document to a generic form of XML.
Other renderers can be added as well and are planned for future releases.
pybloom is a Python implementation of the bloom filter probabilistic data
structure. The module also provides a Scalable Bloom Filter that allows a
bloom filter to grow without knowing the original set size.
PicoSAT is a popular SAT solver written by Armin Biere in pure C. This
package provides efficient Python bindings to picosat on the C level,
i.e. when importing pycosat, the picosat solver becomes part of the
Python process itself.
pyfst provides a Python interface to the excellent OpenFst library.
Most of the essential functionality of the library is exposed through a
simplified API, allowing quick prototyping of algorithms using finite-state
methods and easy visual debugging of the results obtained by applying
FST operations.