Pypar does not require the Python interpreter to be modified or recompiled:
Parallel python programs use the standard Python and need merely import the pypar module.
This means for example that you can upgrade Python independently of your
parallel codes.
Pypar is an efficient but easy-to-use module that allows
programs/scripts written in
the Python programming language
to run in parallel on multiple processors and communicate using
message passing.
Pypar provides bindings to an important subset of the message passing
interface standard MPI.
Other Python MPI bindings available from other developers include:
PyMPI,
Scientific
Python and
pythonMPI.
PyCHM - Python bindings for CHMLIB
PyCHM is a package that provides bindings for Jed Wing's
CHMLIB library. The chm package contains four
modules, namely chm.chm, chm.chmlib, chm.extra and
chm._chmlib. chm.chmlib is a low level wrapper module
around the API provided by the C library chmlib. Quoted
from Jed's README:
chmlib is a small library designed for accessing
MS ITSS files. The ITSS file format is used for
Microsoft Html Help files (.chm), which have been the
predominant medium for software documentation from
Microsoft during the past several years, having
superceded the previously used .hlp file format.
chm.chm provides some high level functionality over
chm.chmlib, such as access to the .chm file contents tree.
chm.extra contains extra functionality to allow detection
encodings in the CHM archives and to support full-text
search.
What is Py++?
Definition:
Py++ is an object-oriented framework for creating a code generator for
Boost.Python library.
Py++ uses few different programming paradigms to help you to expose C++
declarations to Python. This code generator will not stand on your way. It will
guide you through the whole process. It will raise warnings in the case you are
doing something wrong with a link to the explanation. And the most important it
will save your time - you will not have to update code generator script every
time source code is changed.
GUESS is an exploratory data analysis and visualization tool for
graphs and networks. The system contains a domain-specific embedded
language called Gython (an extension of Python, or more specifically
Jython) which supports the operators and syntactic sugar necessary for
working on graph structures in an intuitive manner. An interactive
interpreter binds the text that you type in the interpreter to the
objects being visualized for more useful integration. GUESS also
offers a visualization front end that supports the export of static
images and dynamic movies
What idioms should I use to make my code easier to read?
Read "The Python Cookbook", especially the first few chapters.
It's a great source of well-written Python code examples.
Use function factories to create utility functions.
Often, especially if you're using map and filter a lot,
you need utility functions that convert other functions or methods to
taking a single parameter. In particular, you often want to bind some data
to the function once, and then apply it repeatedly to different objects.
In the above example, we needed a function that multiplied a particular field
of an object by 3, but what we really want is a factory that's able to return
for any field name and amount a multiplier function in that family:
Use zip and dict to map fields to names.
zip turns a pair of sequences into a list of tuples containing
the first, second, etc. values from each sequence. For example,
zip('abc', [1,2,3]) == [('a',1),('b',2),('c',3)]. You can use
this to save a lot of typing when you have fields in a known order that
you want to map to names: