mirror of https://gitlab.com/bashrc2/epicyon
Use package directory to namespace modules
parent
98e98ab6cc
commit
05705ded65
|
@ -0,0 +1,5 @@
|
||||||
|
# Epicyon Pypi package
|
||||||
|
|
||||||
|
This is a wrapper package for the purpose of gathering all modules under the
|
||||||
|
`epicyon` namespace when doing Python module imports. With this wrapper
|
||||||
|
package, you can get `from epicyon import httpsig` instead of `import httpsig`.
|
|
@ -0,0 +1,23 @@
|
||||||
|
"""Pypi package module namespce wrapper.
|
||||||
|
|
||||||
|
We do this automation based importing to take all Epicyon modules in under this
|
||||||
|
package namespace in one go. This way we do not have to maintain a module list
|
||||||
|
here just for the Pypi packaging effort and package builds will automatically
|
||||||
|
pick up new modules as we go forward.
|
||||||
|
"""
|
||||||
|
|
||||||
|
from pathlib import Path
|
||||||
|
from pkgutil import walk_packages
|
||||||
|
|
||||||
|
__all__ = []
|
||||||
|
|
||||||
|
package_root = str(Path(".").parent.absolute())
|
||||||
|
|
||||||
|
for loader, module_name, is_pkg in walk_packages([package_root]):
|
||||||
|
__all__.append(module_name)
|
||||||
|
|
||||||
|
if module_name == "epicyon":
|
||||||
|
continue
|
||||||
|
|
||||||
|
_module = loader.find_module(module_name).load_module(module_name)
|
||||||
|
globals()[module_name] = _module
|
Loading…
Reference in New Issue