Skip to content

Connection configuration management and additional tools for Jupyter notebooks.

License

Notifications You must be signed in to change notification settings

exasol/notebook-connector

Repository files navigation

Exasol Notebook Connector

Connection configuration management and additional tools for Jupyter notebook applications provided by Exasol company.

PyPI Version License PyPI - Python Version Last Commit

Features

Exasol Notebook Connector (ENC) currently contains a Secret Store that can be used in Jupyter notebook applications to store arbitrary credentials and configuration items, such as user names, passwords, URLs, etc.

By that users of such notebook applications

  • need to enter their credentials and configuration items only once
  • can store them in a secure, encrypted, and persistent file based on SQLite and coleifer/sqlcipher3
  • can use these credentials and configuration items in their notebook applications

Usage

from pathlib import Path
from exasol.nb_connector.secret_store import Secrets

file = "password_db.sqlite"
secrets = Secrets(Path(file), "my secret password")
key = "my key"
secrets.save(key, "my value")
value = secrets.get(key)

Constraints and Special Situations

  • If file does not exist then SecretStore will create it.
  • If password is wrong then SecretStore will throw an exception.
  • If file contains key from a session in the past then method secrets.save() will overwrite the value for this key.
  • If key is not contained in file then SecretStore returns None.
  • Saving multiple keys can be chained: secrets.save("key-1", "A").save("key-2", "B")