metakernel
A Jupyter/IPython Kernel base class in Python
Decision gist · record as of 2026-08-14
Yes. MetaKernel is actively maintained, has low install friction, carries a permissive license, and no known vulnerabilities. Install it if you are building a custom Jupyter kernel or want to add MetaKernel magics to IPython. It is not necessary for standard Jupyter use.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.11 or later.
- Low install friction with a pure-Python wheel distribution.
- Actively maintained with a recent release (143 days ago) and an active repository.
License · maintenance · safety
BSD-3-Clause (permissive) — BSD-3-Clause is a permissive license; you can use, modify, and distribute this package with minimal restrictions.
last release 2026-03-24 (143 days) · last repo commit 2026-08-11 · 371 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 75,240 downloads/mo, #14,734 on PyPI
Alternatives
Verify before relying
pip install metakernel
from metakernel import register_ipython_magics
register_ipython_magics()- Whether the package's parallel processing features require ipyparallel to be pre-installed or if it's optional.
- Whether custom kernel subclasses need additional configuration beyond the base class to function.
What it is and what it does
MetaKernel is a framework for building custom Jupyter kernels by subclassing a base class that bundles common kernel functionality. It provides a set of line and cell magics (help, completion, shell commands, parallel execution), tab completion for magics and file paths, and configuration hooks for plot behavior and other traits. The package is designed so that kernel developers can focus on language-specific logic while inheriting standard interactive features.
You can use MetaKernel directly to add a subset of its magics to IPython, or use it as the foundation for a new kernel targeting a different language or runtime. The description lists many existing kernels built on MetaKernel, including matlab_kernel, octave_kernel, and others. It also supports parallel execution across multiple nodes when used with ipyparallel.
Use it for
- Build a custom Jupyter kernel for a new language or runtime by subclassing MetaKernel.
- Add MetaKernel magics (help, completion, shell commands) to an existing IPython kernel.
- Run code in parallel across multiple Jupyter kernel instances using the %px and %%px magics.
- Configure plot behavior and other kernel traits via configuration files in the Jupyter config directory.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
MetaKernel is actively maintained, has low install friction, carries a permissive license, and no known vulnerabilities. Install it if you are building a custom Jupyter kernel or want to add MetaKernel magics to IPython. It is not necessary for standard Jupyter use.
Install
metakernel on PyPI
Before you install
Low install friction with a pure-Python wheel distribution. Actively maintained with a recent release (143 days ago) and an active repository.
Requires Python 3.11 or later.
License in practice
BSD-3-Clause is a permissive license; you can use, modify, and distribute this package with minimal restrictions.
Quickstart
pip install metakernel
from metakernel import register_ipython_magics
register_ipython_magics()
Verify before relying
- Whether the package's parallel processing features require ipyparallel to be pre-installed or if it's optional.
- Whether custom kernel subclasses need additional configuration beyond the base class to function.
Package facts
| License | BSD-3-Clause permissive |
| Python support | Supports the current Python release >=3.11 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 5 packagescommipykerneljedijupyter_corepexpect |
| Maintenance | Actively maintained 143 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 75,240 / month, #14,734 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Framework :: IPythonIntended Audience :: DevelopersProgramming Language :: Python :: 3Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: System :: Shells |
Evidence: metakernel-1.0.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “jupyter kernel base class”
- metakernelMetaKernel is a base class for building custom Jupyter kernels in…
- commProvides a protocol-compliant Comm implementation for Jupyter kernels…
- jupyterlab-lspAdds Language Server Protocol (LSP) integration to JupyterLab,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Shells packages
Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.
Pexpect spawns and controls interactive console applications by sending input and matching output patterns, automating tasks that would otherwise require manual interaction.
IPython is an enhanced interactive Python shell and Jupyter kernel that provides object introspection, persistent input history, tab completion, magic commands, and integrated debugging.
Install it if you work interactively with Python, use Jupyter, or want to embed a rich shell in your application.
Provides bash and zsh tab completion for Python applications using argparse, allowing users to complete command-line arguments and options by pressing Tab.
Install it if you want to add professional-grade tab completion to your Python command-line tools.
Formats and parses numbers, file sizes, timespans, and other values into human-readable text; provides terminal interaction utilities including ANSI text styling and user prompts.
Adds colored output to Python's standard logging module using ANSI escape sequences, with automatic fallback support for Windows terminals.
However, it is abandoned and receives no maintenance, so it will not adapt to future Python changes or platform updates.
See also ipyparallel · ipykernel · jupyter · spyder-kernels · jupyter-kernel-gateway · emr-notebooks-magics · bigquery-magics · bash_kernel · kernels