manager.py 855 B

123456789101112131415161718192021222324252627
  1. # -*- coding: utf-8 -*-
  2. from jupyter_client.kernelspec import KernelSpecManager
  3. class TestKernelSpecManager(KernelSpecManager):
  4. """ A custom KernelSpecManager for testing.
  5. """
  6. def find_kernel_specs(self):
  7. """ Returns a dict mapping kernel names to resource directories.
  8. """
  9. kspecs = super(TestKernelSpecManager, self).find_kernel_specs()
  10. # add conda envs kernelspecs
  11. kspecs.update({name: spec.resource_dir
  12. for name, spec
  13. in self._kspecs.items()})
  14. return kspecs
  15. def get_kernel_spec(self, kernel_name):
  16. """ Returns a :class:`KernelSpec` instance for the given kernel_name.
  17. """
  18. return (
  19. self._kspecs.get(kernel_name) or
  20. super(TestKernelSpecManager, self).get_kernel_spec(kernel_name)
  21. )