Skip to content

Commit

Permalink
Changed the namespace to exasol.nb_connector
Browse files Browse the repository at this point in the history
  • Loading branch information
ahsimb committed Feb 8, 2024
1 parent 541ba5a commit 0b127fa
Show file tree
Hide file tree
Showing 32 changed files with 87 additions and 79 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ By that users of such notebook applications

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

file = "password_db.sqlite"
secrets = Secrets(Path(file), "my secret password")
Expand Down
2 changes: 2 additions & 0 deletions doc/changes/changelog.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# Changes

* [0.2.7](changes_0.2.7.md)
* [0.2.6](changes_0.2.6.md)
* [0.2.5](changes_0.2.5.md)
* [0.2.4](changes_0.2.4.md)
Expand All @@ -15,6 +16,7 @@
---
hidden:
---
changes_0.2.7
changes_0.2.6
changes_0.2.5
changes_0.2.4
Expand Down
9 changes: 9 additions & 0 deletions doc/changes/changes_0.2.7.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Exasol Notebook Connector 0.2.7, released T.B.C.

## Summary

This release moves the notebook connector into a separate namespace - exasol.nb_connector.

## Changes

* #77: Move notebook connector into a separate namespace.
File renamed without changes.
File renamed without changes.
File renamed without changes.
6 changes: 3 additions & 3 deletions exasol/connections.py → exasol/nb_connector/connections.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@
import sqlalchemy # type: ignore

import exasol.bucketfs as bfs # type: ignore
from exasol.secret_store import Secrets
from exasol.utils import optional_str_to_bool
from exasol.ai_lab_config import AILabConfig as CKey
from exasol.nb_connector.secret_store import Secrets
from exasol.nb_connector.utils import optional_str_to_bool
from exasol.nb_connector.ai_lab_config import AILabConfig as CKey


def _optional_encryption(conf: Secrets, key: CKey = CKey.db_encryption) -> Optional[bool]:
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from exasol.connections import open_pyexasol_connection
from exasol.secret_store import Secrets
from exasol.utils import optional_str_to_bool
from exasol.ai_lab_config import AILabConfig as CKey
from exasol.nb_connector.connections import open_pyexasol_connection
from exasol.nb_connector.secret_store import Secrets
from exasol.nb_connector.utils import optional_str_to_bool
from exasol.nb_connector.ai_lab_config import AILabConfig as CKey


def str_to_bool(conf: Secrets, key: CKey, default_value: bool) -> bool:
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@
remove_docker_volumes,
)

from exasol.ai_lab_config import AILabConfig
from exasol.container_by_ip import ContainerByIp, IPRetriever
from exasol.secret_store import Secrets
from exasol.nb_connector.ai_lab_config import AILabConfig
from exasol.nb_connector.container_by_ip import ContainerByIp, IPRetriever
from exasol.nb_connector.secret_store import Secrets

ENVIRONMENT_NAME = "DemoDb"
NAME_SERVER_ADDRESS = "8.8.8.8"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from typing import Dict

from exasol.secret_store import Secrets
from exasol.connections import open_pyexasol_connection
from exasol.nb_connector.secret_store import Secrets
from exasol.nb_connector.connections import open_pyexasol_connection

# All secret store entries with language container activation commands
# will have this common prefix in their keys.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
from exasol_sagemaker_extension.deployment.deploy_create_statements import DeployCreateStatements # type: ignore
from exasol_sagemaker_extension.deployment.sme_language_container_deployer import SmeLanguageContainerDeployer # type: ignore

from exasol.connections import (
from exasol.nb_connector.connections import (
get_external_host,
open_pyexasol_connection,
)
from exasol.extension_wrapper_common import (
from exasol.nb_connector.extension_wrapper_common import (
encapsulate_aws_credentials,
str_to_bool
)
from exasol.language_container_activation import (
from exasol.nb_connector.language_container_activation import (
ACTIVATION_KEY_PREFIX,
get_activation_sql
)
from exasol.secret_store import Secrets
from exasol.ai_lab_config import AILabConfig as CKey
from exasol.nb_connector.secret_store import Secrets
from exasol.nb_connector.ai_lab_config import AILabConfig as CKey

# Root directory in a BucketFS bucket where all stuff of the Sagemaker
# Extension, including its language container, will be uploaded.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

from sqlcipher3 import dbapi2 as sqlcipher # type: ignore

from exasol.ai_lab_config import AILabConfig as CKey
from exasol.nb_connector.ai_lab_config import AILabConfig as CKey

_logger = logging.getLogger(__name__)
TABLE_NAME = "secrets"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,21 +7,21 @@

# TODO: Disable this mypy "missing imports" nonsense.

from exasol.connections import (
from exasol.nb_connector.connections import (
get_external_host,
open_pyexasol_connection
)
from exasol.extension_wrapper_common import (
from exasol.nb_connector.extension_wrapper_common import (
encapsulate_bucketfs_credentials,
encapsulate_huggingface_token,
str_to_bool
)
from exasol.language_container_activation import (
from exasol.nb_connector.language_container_activation import (
ACTIVATION_KEY_PREFIX,
get_activation_sql
)
from exasol.secret_store import Secrets
from exasol.ai_lab_config import AILabConfig as CKey
from exasol.nb_connector.secret_store import Secrets
from exasol.nb_connector.ai_lab_config import AILabConfig as CKey

# Root directory in a BucketFS bucket where all stuff of the Transformers
# Extension, including its language container, will be uploaded.
Expand Down
File renamed without changes.
2 changes: 1 addition & 1 deletion test/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import pytest

from exasol.secret_store import Secrets
from exasol.nb_connector.secret_store import Secrets


@pytest.fixture
Expand Down
10 changes: 5 additions & 5 deletions test/integration/test_cloud_storage.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
from exasol.secret_store import Secrets
from exasol.github import retrieve_jar, Project
from exasol.connections import open_bucketfs_connection, open_pyexasol_connection
from exasol.bfs_utils import put_file
from exasol.cloud_storage import setup_scripts
from exasol.nb_connector.secret_store import Secrets
from exasol.nb_connector.github import retrieve_jar, Project
from exasol.nb_connector.connections import open_bucketfs_connection, open_pyexasol_connection
from exasol.nb_connector.bfs_utils import put_file
from exasol.nb_connector.cloud_storage import setup_scripts

from test.utils.integration_test_utils import setup_itde, get_script_counts

Expand Down
6 changes: 3 additions & 3 deletions test/integration/test_itde_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@
remove_docker_volumes, # type: ignore
)

from exasol.ai_lab_config import AILabConfig
from exasol.secret_store import Secrets
from exasol.itde_manager import (
from exasol.nb_connector.ai_lab_config import AILabConfig
from exasol.nb_connector.secret_store import Secrets
from exasol.nb_connector.itde_manager import (
bring_itde_up,
is_itde_running,
start_itde,
Expand Down
28 changes: 14 additions & 14 deletions test/integration/test_itde_manager_in_docker_container.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
DockerContainerCopy,
)

from exasol.utils import upward_file_search
from exasol.nb_connector.utils import upward_file_search

# Name of a Docker container used by the tests in this file to manage ITDE.
TEST_CONTAINER = "itde_manager_container"
Expand Down Expand Up @@ -101,11 +101,11 @@ def itde_connect_test_impl():
def run_test():
from pathlib import Path

from exasol.ai_lab_config import AILabConfig
from exasol.connections import open_pyexasol_connection
from exasol.itde_manager import bring_itde_up
from exasol.itde_manager import take_itde_down
from exasol.secret_store import Secrets
from exasol.nb_connector.ai_lab_config import AILabConfig
from exasol.nb_connector.connections import open_pyexasol_connection
from exasol.nb_connector.itde_manager import bring_itde_up
from exasol.nb_connector.itde_manager import take_itde_down
from exasol.nb_connector.secret_store import Secrets

secrets = Secrets(db_file=Path("secrets.sqlcipher"), master_password="test")
secrets.save(AILabConfig.mem_size.value, "2")
Expand Down Expand Up @@ -137,10 +137,10 @@ def itde_recreation_after_take_down():
def run_test():
from pathlib import Path

from exasol.ai_lab_config import AILabConfig
from exasol.itde_manager import bring_itde_up
from exasol.itde_manager import take_itde_down
from exasol.secret_store import Secrets
from exasol.nb_connector.ai_lab_config import AILabConfig
from exasol.nb_connector.itde_manager import bring_itde_up
from exasol.nb_connector.itde_manager import take_itde_down
from exasol.nb_connector.secret_store import Secrets

secrets = Secrets(db_file=Path("secrets.sqlcipher"), master_password="test")
secrets.save(AILabConfig.mem_size.value, "2")
Expand All @@ -166,10 +166,10 @@ def itde_recreation_without_take_down():
def run_test():
from pathlib import Path

from exasol.ai_lab_config import AILabConfig
from exasol.itde_manager import bring_itde_up
from exasol.itde_manager import take_itde_down
from exasol.secret_store import Secrets
from exasol.nb_connector.ai_lab_config import AILabConfig
from exasol.nb_connector.itde_manager import bring_itde_up
from exasol.nb_connector.itde_manager import take_itde_down
from exasol.nb_connector.secret_store import Secrets

secrets = Secrets(db_file=Path("secrets.sqlcipher"), master_password="test")
secrets.save(AILabConfig.mem_size.value, "2")
Expand Down
8 changes: 4 additions & 4 deletions test/integration/test_sagemaker_extension_wrapper.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from exasol.sagemaker_extension_wrapper import initialize_sme_extension
from exasol.connections import open_pyexasol_connection
from exasol.secret_store import Secrets
from exasol.ai_lab_config import AILabConfig as CKey
from exasol.nb_connector.sagemaker_extension_wrapper import initialize_sme_extension
from exasol.nb_connector.connections import open_pyexasol_connection
from exasol.nb_connector.secret_store import Secrets
from exasol.nb_connector.ai_lab_config import AILabConfig as CKey
from test.utils.integration_test_utils import (
setup_itde,
activate_languages,
Expand Down
8 changes: 4 additions & 4 deletions test/integration/test_transformers_extension_wrapper.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
from _pytest.fixtures import FixtureRequest

from exasol.connections import open_pyexasol_connection
from exasol.secret_store import Secrets
from exasol.ai_lab_config import AILabConfig as CKey
from exasol.transformers_extension_wrapper import initialize_te_extension
from exasol.nb_connector.connections import open_pyexasol_connection
from exasol.nb_connector.secret_store import Secrets
from exasol.nb_connector.ai_lab_config import AILabConfig as CKey
from exasol.nb_connector.transformers_extension_wrapper import initialize_te_extension
from test.utils.integration_test_utils import (
setup_itde,
activate_languages,
Expand Down
3 changes: 1 addition & 2 deletions test/unit/test_bfs_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@
from unittest import mock
from typing import Generator
import pathlib
from exasol import bfs_utils

from exasol.nb_connector import bfs_utils

MOCKED_BUCKET = "bucket"
MOCKED_FILE_NAME = "bfs.file"
Expand Down
2 changes: 1 addition & 1 deletion test/unit/test_cloud_storage.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from unittest import mock
from exasol.cloud_storage import setup_scripts
from exasol.nb_connector.cloud_storage import setup_scripts


def test_setup_scripts(secrets):
Expand Down
6 changes: 3 additions & 3 deletions test/unit/test_connections.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,14 @@

import pytest

from exasol.connections import (
from exasol.nb_connector.connections import (
get_external_host,
open_bucketfs_connection,
open_pyexasol_connection,
open_sqlalchemy_connection,
)
from exasol.secret_store import Secrets
from exasol.ai_lab_config import AILabConfig as CKey
from exasol.nb_connector.secret_store import Secrets
from exasol.nb_connector.ai_lab_config import AILabConfig as CKey


@pytest.fixture
Expand Down
4 changes: 1 addition & 3 deletions test/unit/test_container_by_ip.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
from typing import (
Dict,
List,
Union, Tuple,
)
from unittest.mock import (
Expand All @@ -11,11 +10,10 @@
)

import docker
import ifaddr
import pytest
from docker.models.containers import Container

from exasol.container_by_ip import (
from exasol.nb_connector.container_by_ip import (
ContainerByIp
)
from test.utils.mock_cast import mock_cast
Expand Down
2 changes: 1 addition & 1 deletion test/unit/test_github.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import pathlib
import requests
from unittest import mock
from exasol import github
from exasol.nb_connector import github

CSE_MOCK_URL = "https://github.com/some_path/exasol-cloud-storage-extension-2.7.8.jar"

Expand Down
4 changes: 2 additions & 2 deletions test/unit/test_itde_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@
)
from exasol_integration_test_docker_environment.lib.test_environment.ports import Ports

from exasol.ai_lab_config import AILabConfig as CKey
from exasol.itde_manager import (
from exasol.nb_connector.ai_lab_config import AILabConfig as CKey
from exasol.nb_connector.itde_manager import (
ENVIRONMENT_NAME,
NAME_SERVER_ADDRESS,
bring_itde_up,
Expand Down
8 changes: 4 additions & 4 deletions test/unit/test_language_container_activation.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from unittest.mock import patch, MagicMock
import pytest

from exasol.language_container_activation import (
from exasol.nb_connector.language_container_activation import (
ACTIVATION_KEY_PREFIX,
get_activation_sql,
get_requested_languages,
Expand All @@ -11,7 +11,7 @@

def test_get_registered_languages(secrets):

with patch('exasol.language_container_activation.get_registered_languages_string',
with patch('exasol.nb_connector.language_container_activation.get_registered_languages_string',
MagicMock(return_value='R=builtin_r JAVA=builtin_java')):

lang_definitions = get_registered_languages(secrets)
Expand Down Expand Up @@ -42,9 +42,9 @@ def test_get_requested_languages_ambiguous(secrets):

def test_get_activation_sql(secrets):

with patch('exasol.language_container_activation.get_registered_languages',
with patch('exasol.nb_connector.language_container_activation.get_registered_languages',
MagicMock(return_value={'lang1': 'url1', 'lang2': 'url2'})):
with patch('exasol.language_container_activation.get_requested_languages',
with patch('exasol.nb_connector.language_container_activation.get_requested_languages',
MagicMock(return_value={'lang2': 'url22', 'lang3': 'url33'})):
act_sql = get_activation_sql(secrets)
expected_sql = "ALTER SESSION SET SCRIPT_LANGUAGES='lang1=url1 lang2=url22 lang3=url33';"
Expand Down
4 changes: 2 additions & 2 deletions test/unit/test_secret_store.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@

import pytest

from exasol.secret_store import (
from exasol.nb_connector.secret_store import (
InvalidPassword,
Secrets,
)
from exasol.ai_lab_config import AILabConfig as CKey
from exasol.nb_connector.ai_lab_config import AILabConfig as CKey


def test_no_database_file(secrets):
Expand Down
2 changes: 1 addition & 1 deletion test/unit/test_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

import pytest

from exasol.utils import upward_file_search, optional_str_to_bool
from exasol.nb_connector.utils import upward_file_search, optional_str_to_bool


def test_upward_file_search():
Expand Down
Loading

0 comments on commit 0b127fa

Please sign in to comment.