__init__.py 773 B

1234567891011121314151617181920212223242526272829
  1. # lsup_rdf package.
  2. # All "modules" are inside the monolythic lsup_rdf extension because they have
  3. # cross-linked symbols, so they need a bit of work to be exposed at the main
  4. # level.
  5. import importlib.util
  6. import sys
  7. import _lsup_rdf
  8. pkg_path = _lsup_rdf.__file__
  9. def _load_module(mod_name, path):
  10. """
  11. Replacement of deprecated imp.load_dynamic(). See
  12. https://docs.python.org/3/library/importlib.html#importing-a-source-file-directly
  13. """
  14. spec = importlib.util.spec_from_file_location(mod_name, path)
  15. module = importlib.util.module_from_spec(spec)
  16. sys.modules[mod_name] = module
  17. spec.loader.exec_module(module)
  18. return module
  19. for mod_name in ('term', 'triple', 'graph'):
  20. locals()[mod_name] = _load_module(mod_name, pkg_path)