# MariaDB Jupyter Kernel Installation

The [mariadb\_kernel](https://github.com/MariaDB/mariadb_kernel) project uses the [MariaDB command-line client](/docs/server/clients-and-utilities/mariadb-client/mysql-command-line-client.md) under the hood as a child process, thus having MariaDB installed on your system is a hard requirement in order to be able to use the kernel.

If you don’t have it already installed, you can download the binaries from [here](https://mariadb.org/download/).\
You also need [JupyterLab](https://jupyterlab.readthedocs.io/en/stable/) or [Notebook](https://jupyter.org/)

If your MariaDB binaries are not in `PATH`, see the [Configuring](/docs/connectors/other/mariadb-jupyter-kernel/configuring-the-mariadb-jupyter-kernel.md) section to see how you can point the kernel to the right binaries path.

## Quick Installation Steps

Follow these steps if you already have a clean [Python](https://www.python.org/download/releases/3.0/) environment and [JupyterLab](https://jupyterlab.readthedocs.io/en/stable/) installed on your computer.

1. Install the kernel

```bash
python3 -m pip install mariadb_kernel
```

2. Install the kernelspec so that the kernel becomes visible to [JupyterLab](https://jupyterlab.readthedocs.io/en/stable/)

```bash
python3 -m mariadb_kernel.install
```

## Complete Installation Steps

This guide helps you set up a fresh [Miniconda](https://docs.conda.io/en/latest/miniconda.html) environment where you can install the kernel and the Jupyter applications without interfering with your normal environment.

1. Download and install [miniconda](https://docs.conda.io/en/latest/miniconda.html)

```bash
# After you downloaded the script run:
sh ./Miniconda3-latest-Linux-x86_64.sh
```

2. Create a new environment

```bash
conda create -n maria_env python=3.7
```

3. Activate the new env

```bash
# You should see the terminal prompt prefixed with (maria_env)
conda activate maria_env
```

4. Install [JupyterLab](https://jupyterlab.readthedocs.io/en/stable/)

```bash
conda install -c conda-forge jupyterlab
```

5. Install the kernel

```bash
python3 -m pip install mariadb_kernel
```

6. Install the kernelspec so that the kernel becomes visible to [JupyterLab](https://jupyterlab.readthedocs.io/en/stable/)

```bash
python3 -m mariadb_kernel.install
```

## Platform Coverage

Our plan is to make [mariadb\_kernel](https://github.com/MariaDB/mariadb_kernel) as platform independent as [Jupyter](https://jupyter.org) is. That means, fully functional on at least Linux, macOS and Windows.

Unfortunately at the moment, we can only guarantee it should work fine on POSIX-compliant systems, i.e. most Linux distributions and macOS as long as the prerequisites of the project are present on your system.\
This limitation is inherited from particular Python APIs that use POSIX-specific system calls and also from our dependency package [Pexpect](https://pexpect.readthedocs.io/en/stable/) which has certain limitations on Windows systems.

Please create an issue [here](https://github.com/MariaDB/mariadb_kernel/issues) or vote (just write a quick comment saying that issue affects you as well) for an existing one if you’re on a particular platform that [mariadb\_kernel](https://github.com/MariaDB/mariadb_kernel) doesn’t currently work on. This will help us understand how we should focus our development efforts.

{% @marketo/form formId="4316" %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://mariadb.com/docs/connectors/other/mariadb-jupyter-kernel/mariadb-jupyter-kernel-installation.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
