25 lines
No EOL
1 KiB
Text
25 lines
No EOL
1 KiB
Text
This is an example (and test) of using swig generated modules in the context
|
|
of python3's namespace packages:
|
|
|
|
https://www.python.org/dev/peps/pep-0420/
|
|
|
|
Consequently, this example requires python (3.3 or newer) to build and run.
|
|
|
|
This example creates a simple swig module named robin. The robin.py module
|
|
has a companion C module named _robin.so. The robin module is tested in four
|
|
ways:
|
|
|
|
1) As a non-package module (tested by nonpkg.py)
|
|
|
|
2) With robin.py and _robin.so in the brave package under the path1
|
|
subdirectory. (tested by normal.py)
|
|
|
|
3) With robin.py in path2/brave and _robin.so in path3/brave
|
|
(tested by split.py)
|
|
|
|
4) With robin.py contained in a zip file (path4.zip) as brave/robin.py and
|
|
_robin.so found on the filesystem under path3/brave (tested by zipsplit.py)
|
|
|
|
Note: Using namespace packages with subpackages (such as brave.sir.robin) where
|
|
robin.py is located in a zipfile requires python-3.5.1 or newer as
|
|
python's zipimporter only worked with packages of depth 1 until then. |