rics.jupyter#

Utilities for working with Jupyter.

Classes

KernelHelper(*[, extra_packages, variant, ...])

Helper class for working with Jupyter kernels.

KernelSpec

Simplified kernel.json type.

VenvHelper([logger])

Helper class for working with virtual environments.

class KernelHelper(*, extra_packages: Iterable[str] = (), variant: str | None = None, callback: Callable[[KernelSpec], None] | None = None, venv_helper: VenvHelper | None = None, logger: Logger | str = 'rics.jupyter')[source]#

Bases: object

Helper class for working with Jupyter kernels.

resolve_display_name(display_name: str | None = None) str[source]#

Construct kernel display name.

Uses display_name as-is if given. Keys slug, variant and manager are provided.

resolve_kernel_name(kernel_name: str | None = None) str[source]#

Construct kernel name. Uses kernel_name as-is if given.

install(user: bool | None = None, kernel_name: str | None = None, display_name: str | None = None, prefix: str | None = None, profile: str | None = None, env: dict[str, str] | None = None, frozen_modules: bool = False) str[source]#

Install kernel spec for a virtual environment.

Parameters:
  • user – Select user [default] or system-wide install. System install may require elevated privileges.

  • kernel_name – Name of kernel. Created by resolve_kernel_name() if None.

  • display_name – Explicit display name. Created by resolve_display_name() if None.

  • prefix – Spec location prefix for non-default locations such as conda.

  • profile – An IPython profile to be loaded by the kernel.

  • env – Extra environment variables for the kernel.

  • frozen_modules – Set for potentially faster startup. Prevents debugging of built-in modules.

Returns:

Path where the spec was installed.

See also

Uses ipykernel.kernelspec.install. See https://pypi.org/project/ipykernel/ for details.

classmethod read_kernel_spec(path: str | Path) KernelSpec[source]#
property packages: list[str]#

List of packages to install in the kernel.

patch_kernel(path: Path) None[source]#

Apply kernel fixups to ensure that it actually runs in a notebook.

install_packages() None[source]#

Installed required additional packages.

class KernelSpec[source]#

Bases: TypedDict

Simplified kernel.json type. See the Jupyter kernel documentation for details.

argv: list[str]#
display_name: str#
language: Literal['python']#
metadata: dict[str, Any]#
env: NotRequired[dict[str, str]]#
class VenvHelper(logger: Logger | str = 'rics.jupyter.VenvHelper')[source]#

Bases: object

Helper class for working with virtual environments.

property manager: str#

Manager name.

property config: dict[str, Any]#

Parsed pyvenv.cfg dict.

property slug: str#

Virtual environment slug. Typically, the shell prompt.

resolve() tuple[str, str, str][source]#

Resolve venv paths.

Returns:

A tuple (name, exec_prefix, executable).

Modules

cli

Jupyter kernel installation for virtual environments.