> ## Documentation Index
> Fetch the complete documentation index at: https://docs.e6data.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Notebooks

> Connect Jupyter Notebook (via the Python connector) and Apache Zeppelin (via JDBC) to an e6data cluster.

Connect interactive notebooks to an e6data cluster - Jupyter using the [Python connector](/query/connect/python), and Apache Zeppelin using the [JDBC driver](/query/connect/jdbc).

## Jupyter Notebook

### Requirements

* The latest [e6data Python package](/query/connect/python).
* Jupyter Notebook v7.0.7 (recommended).
* The connection details from the cluster's **Connection Information** tab - host, port, username, password (a [personal access token](/platform/tokens/pat-and-service-account-keys)), cluster name, and the secure flag.

### Connect

1. Create a new Python 3 notebook.
2. Install the connector:

   ```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
   pip install e6data-python-connector
   ```
3. Open a connection:

   ```python theme={"theme":{"light":"github-light","dark":"github-dark"}}
   from e6data_python_connector import Connection

   username = '<username>'      # Your e6data email
   password = '<password>'      # Access token from the e6data Console
   host = '<host>'
   database = '<database>'
   port = <port>
   catalog_name = '<catalog_name>'
   cluster_name = '<cluster_name>'
   secure = True                # Use a secure channel (default False)

   conn = Connection(
       host=host, port=port, username=username, database=database,
       password=password, cluster_name=cluster_name, secure=secure,
   )
   ```
4. Run a query:

   ```python theme={"theme":{"light":"github-light","dark":"github-dark"}}
   query = """select * from <table>"""
   cursor = conn.cursor(catalog_name=catalog_name)
   query_id = cursor.execute(query)   # returns a query ID you can use to abort
   for row in cursor.fetchall():
       print(row)
   ```

## Apache Zeppelin

### Requirements

* Apache Zeppelin 0.8.2 or newer.
* The latest [e6data JDBC driver](/query/connect/jdbc).
* A Direct or TLS connection on your cluster.
* The connection details from the cluster's **Connection Information** tab - JDBC URL, username, password (a [personal access token](/platform/tokens/pat-and-service-account-keys)), driver class, and `AUTO_RESUME`.

### Connect

1. Go to the profile menu (top right) and select **Interpreter**.
2. Click **Create** to set up a new JDBC interpreter:
   * **Interpreter Name** - a name for the interpreter.
   * **Interpreter group** - select **jdbc**.
   * Set the connection properties (JDBC URL, username, password).
3. In the **Dependencies → Artifact** section, provide the file path of the e6data JDBC JAR.
4. Click **Save**.

<Info>
  The driver class must be entered manually: `io.e6.jdbc.driver.E6Driver`.
</Info>

## TLS/HTTPS

e6data uses globally trusted certificates, so the host and port from the connection dialog are sufficient. Any cluster requiring authentication also requires TLS/HTTPS - use the cluster's HTTPS URL in the connection string.

## See also

* [Python connector](/query/connect/python)
* [JDBC](/query/connect/jdbc)
* [Access tokens](/platform/tokens/pat-and-service-account-keys)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.