aboutsummaryrefslogtreecommitdiff
path: root/python/pycxx/README
blob: 7cc8f47993b0fd4c3287ad0ff76854991cf80ebe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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.