| 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. |