Source code for planetary_coverage.misc.ipython

"""IPython module."""

from importlib.metadata import PackageNotFoundError, version
from os import sys

from .dotenv import print_kernels_dir


[docs]def load_ipython_extension(ipython): # pylint: disable=unused-argument """Print the list of installed packages and kernels directories. IPython/Jupyter magic line: ``%load_ext planetary_coverage`` """ print_package( 'planetary-coverage', 'esa-ptr', 'numpy', 'matplotlib', 'spiceypy', ) sys.stdout.write('\n') print_kernels_dir()
def print_package(*packages): """Print packages versions. Note ---- Only the available packages are printed in stdout. """ sys.stdout.write('Installed packages:\n') n = max(map(len, packages)) for package in packages: try: sys.stdout.write(f'- {package:{n}s}: {version(package.lower())}\n') except PackageNotFoundError: pass