1
2
3
4
5
6 """Py++ - Boost.Python code generator
7 ========================================
8
9 This package (together with the accompanying pygccxml package and
10 U{Boost.Python<http://www.boost.org/libs/python/doc/index.html>})
11 assists you in creating Python bindings for a C/C++ library. This is
12 done by parsing a set of header files that contain all the
13 stuff you want to expose in Python. The result of this parsing
14 step is a I{declaration tree} that represents all declarations found
15 in the headers. You can then modify (decorate) this tree to customize
16 the bindings. After that, a I{code creators} tree is created where
17 each node represents a block of C++ source code. So you can change any piece of
18 code befor it is written to disk. As a last step, these source code blocks are
19 finally written into one or more C++ source files, which can then be compiled to
20 generate the final Python module.
21
22 If you are just starting with U{Py++<http://www.language-binding.net>},
23 then consider to read documentation of L{module_builder} package.
24 """
25
26 import code_creators
27 import file_writers
28 import module_creator
29 import code_repository
30 import utils
31 import decl_wrappers
32 import module_builder
33 import messages
34
35 from _logging_ import multi_line_formatter_t
36
37 __version__ = '1.0.0'
38
39 import pygccxml
40 if not hasattr( pygccxml, '__revision__' ) or pygccxml.__revision__ < 1080:
41 msg = 'This revision of Py++ requieres pygccxml revision to be ' \
42 'greater or equal to %d. ' \
43 'Please install right pygccxml version.'
44 raise AssertionError( msg % pygccxml.__revision__ )
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62