https://github.com/exasol/notebook-connector
Connection configuration management and additional tools for Jupyter notebooks.
https://github.com/exasol/notebook-connector
data-science exasol-integration
Last synced: over 1 year ago
JSON representation
Connection configuration management and additional tools for Jupyter notebooks.
- Host: GitHub
- URL: https://github.com/exasol/notebook-connector
- Owner: exasol
- License: mit
- Created: 2023-10-10T13:22:00.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2025-03-27T15:48:48.000Z (over 1 year ago)
- Last Synced: 2025-03-28T10:15:22.321Z (over 1 year ago)
- Topics: data-science, exasol-integration
- Language: Python
- Homepage:
- Size: 875 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Exasol Notebook Connector
Connection configuration management and additional tools for Jupyter notebook applications provided by Exasol company.
[](https://pypi.org/project/exasol-notebook-connector/)
[](https://opensource.org/licenses/MIT)
[](https://pypi.org/project/exasol-notebook-connector)
[](https://pypi.org/project/exasol-notebook-connector/)
## 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](https://github.com/coleifer/sqlcipher3)
* can use these credentials and configuration items in their notebook applications
## Usage
```python
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")`
## Additional Information
* [NC Developer Guide](doc/developer_guide/developer-guide.md)