summaryrefslogtreecommitdiffstats
path: root/python/pycxx/README
blob: a51cf9848dfbbcdc38c1fc3d54529b975f0e46db (plain)
PyCXX is designed to make it easier to extend Python with C++

CXX/Objects is a set of C++ facilities to make it easier to write Python
extensions. The chief way in which PyCXX makes it easier to write Python
extensions is that it greatly increases the probability that your program
will not make a reference-counting error and will not have to continually
check error returns from the Python C API. CXX/Objects integrates Python
with C++ in these ways:
 + C++ exception handling is relied on to detect errors and clean up. In a
 complicated function this is often a tremendous problem when writing in C.
 With PyCXX, we let the compiler keep track of what objects need to be
 dereferenced when an error occurs.
 + The Standard Template Library (STL) and its many algorithms plug and
 play with Python containers such as lists and tuples.
 + The optional CXX/Extensions facility allows you to replace the clumsy C
 tables with objects and method calls that define your modules and
 extension objects.

The original source will install CXX source code needed to help building
python/C++ extension under /usr/share/python2.6/CXX which is a standard
Debian directory. As Slackware does not have /usr/share/python2.6, I
patched the installer to use /usr/share/CXX in order to follow the style of
stock python packages like pygobject or pygtk. Be aware, though, that
python packages that will use PyCXX will probably look for the needed files
under the Debian standard path! You should investigate if their setup.py
accept any switch to setup a different search path otherwise you will have
to patch them.