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