Repository: SneaksAndData/adapta (language: python)

Issue:
[BUG] Rename package
We have issues installing this package because package resolution confuses this library with this library: https://pypi.org/project/proteus/#history


Discussion / hints:

Fix patch:
diff --git a/.github/workflows/black.yaml b/.github/workflows/black.yaml
index d8a099bd..12e79ad4 100644
--- a/.github/workflows/black.yaml
+++ b/.github/workflows/black.yaml
@@ -29,7 +29,7 @@ jobs:
 
       - name: Lint
         env:
-          PROJECT_NAME: proteus
+          PROJECT_NAME: adapta
         run: |
           set -euxo pipefail
           find "$PROJECT_NAME" -type f -name "*.py" | xargs poetry run pylint
diff --git a/.github/workflows/dev-release.yaml b/.github/workflows/dev-release.yaml
index e190661e..fd74e3a8 100644
--- a/.github/workflows/dev-release.yaml
+++ b/.github/workflows/dev-release.yaml
@@ -30,4 +30,4 @@ jobs:
           pypi_repo_url: ${{ secrets.AZOPS_PYPI_UPLOAD }}
           pypi_token_username: ${{ secrets.AZOPS_PAT_USER }}
           pypi_token: ${{ secrets.AZOPS_PAT }}
-          package_name: proteus
+          package_name: adapta
diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml
index d8240ca4..d5cd9aa0 100644
--- a/.github/workflows/publish.yaml
+++ b/.github/workflows/publish.yaml
@@ -2,8 +2,8 @@ name: Release to Azure Artifacts
 
 on: workflow_dispatch
 jobs:
-  release_to_azure_artifacts:
-    name: Release distribution to Azure Artifacts
+  release_to_pypi:
+    name: Release distribution to Pypi
     runs-on: ubuntu-latest
     if: startsWith(github.ref, 'refs/tags')
 
@@ -15,24 +15,38 @@ jobs:
         with:
           python-version: '3.9.x' # Version range or exact version of a Python version to use, using SemVer's version range syntax
           architecture: 'x64' # optional x64 or x86. Defaults to x64 if not specified
-      - name: Install and Configure Poetry
-        env:
-          REPO_URL: ${{ secrets.AZOPS_PYPI_UPLOAD }}
+      - name: Install and Configure Poetry and Prepare Publish
         run: |
           set -e
           
           curl -sSL https://install.python-poetry.org | python3 -
           
-          poetry config repositories.azops $REPO_URL
-      - name: Build Package and Publish distribution 📦 to Azure Artifacts
+          version=$(git describe --tags --abbrev=7)
+          sed -i "s/version = \"0.0.0\"/version = \"${version:1}\"/" pyproject.toml
+          echo "__version__ = '${version:1}'" > ./adapta/_version.py
+
+      - name: Configure Test PyPi
+        if: ${{ github.ref == 'refs/heads/main' }}
         env:
-          POETRY_HTTP_BASIC_AZOPS_USERNAME: ${{ secrets.AZOPS_PAT_USER }}
-          POETRY_HTTP_BASIC_AZOPS_PASSWORD: ${{ secrets.AZOPS_PAT }}
+          PYPI_TEST_TOKEN: ${{ secrets.PYPI_TEST_API_TOKEN }}
+        run: |
+          set -e
+                  
+          poetry config repositories.test-pypi https://test.pypi.org/legacy/
+          poetry config pypi-token.test-pypi $PYPI_TEST_TOKEN
+
+      - name: Publish distribution 📦 to test PyPI
+        if: ${{ github.ref == 'refs/heads/main' }}
+        run: |
+          set -e
+                  
+          poetry build && poetry publish -r test-pypi
+
+      - name: Publish distribution 📦 to PyPI
+        env:
+          POETRY_PYPI_TOKEN_PYPI: ${{ secrets.PYPI_API_TOKEN }}
+        if: ${{ startsWith(github.ref, 'refs/tags') }}
         run: |
           set -e
           
-          version=$(git describe --tags --abbrev=7)
-          sed -i "s/version = \"0.0.0\"/version = \"${version:1}\"/" pyproject.toml
-          echo "__version__ = '${version:1}'" > ./proteus/_version.py
-          
-          poetry build && poetry publish -r azops
+          poetry build && poetry publish
diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml
index e52b5aab..6d0b2fa9 100644
--- a/.github/workflows/release.yaml
+++ b/.github/workflows/release.yaml
@@ -15,5 +15,5 @@ jobs:
       - name: Create Release
         uses: SneaksAndData/github-actions/semver_release@v0.0.13
         with:
-          major_v: 1
-          minor_v: 3
+          major_v: 2
+          minor_v: 0
diff --git a/README.md b/README.md
index 53a1f66d..b2e5ce45 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-# Proteus
+# Adapta
 This project aim at providing tools needed for everyday activities of data scientists and engineers:
 - Connectors for various cloud APIs
 - Secure secret handlers for various remote storages
@@ -10,8 +10,8 @@ This project aim at providing tools needed for everyday activities of data scien
 
 This module provides basic Delta Lake operations without Spark session, based on [delta-rs](https://github.com/delta-io/delta-rs) project.
 
-Please refer to the [module](proteus/storage/delta_lake/README.md) documentation for examples.
+Please refer to the [module](adapta/storage/delta_lake/README.md) documentation for examples.
 
 ## Secret Storages
 
-Please refer to the [module](proteus/storage/secrets/README.md) documentation for examples.
+Please refer to the [module](adapta/storage/secrets/README.md) documentation for examples.
diff --git a/proteus/__init__.py b/adapta/__init__.py
similarity index 93%
rename from proteus/__init__.py
rename to adapta/__init__.py
index becc692c..1dd0b97e 100644
--- a/proteus/__init__.py
+++ b/adapta/__init__.py
@@ -17,4 +17,4 @@
 #  limitations under the License.
 #
 
-from proteus._version import __version__
+from adapta._version import __version__
diff --git a/proteus/_version.py b/adapta/_version.py
similarity index 100%
rename from proteus/_version.py
rename to adapta/_version.py
diff --git a/proteus/connectors/__init__.py b/adapta/connectors/__init__.py
similarity index 100%
rename from proteus/connectors/__init__.py
rename to adapta/connectors/__init__.py
diff --git a/proteus/connectors/service_bus/__init__.py b/adapta/connectors/service_bus/__init__.py
similarity index 88%
rename from proteus/connectors/service_bus/__init__.py
rename to adapta/connectors/service_bus/__init__.py
index 109ed38d..c2df0bae 100644
--- a/proteus/connectors/service_bus/__init__.py
+++ b/adapta/connectors/service_bus/__init__.py
@@ -15,4 +15,4 @@
 #  limitations under the License.
 #
 
-from proteus.connectors.service_bus._connector import AzureServiceBusConnector
+from adapta.connectors.service_bus._connector import AzureServiceBusConnector
diff --git a/proteus/connectors/service_bus/_connector.py b/adapta/connectors/service_bus/_connector.py
similarity index 100%
rename from proteus/connectors/service_bus/_connector.py
rename to adapta/connectors/service_bus/_connector.py
diff --git a/proteus/logs/README.md b/adapta/logs/README.md
similarity index 56%
rename from proteus/logs/README.md
rename to adapta/logs/README.md
index 7e5d3ced..dffadf16 100644
--- a/proteus/logs/README.md
+++ b/adapta/logs/README.md
@@ -7,37 +7,37 @@ This module provides a generic interface to plug json-formatted logging into you
 First, create a logger object and add some log sources. Then log on a desired level directly using default handler:
 
 ```python
-from proteus.logs import ProteusLogger
-from proteus.logs.models import LogLevel
+from adapta.logs import SemanticLogger
+from adapta.logs.models import LogLevel
 
-proteus_logger = ProteusLogger() \
-    .add_log_source(log_source_name='proteus_test_logger_1', min_log_level=LogLevel.INFO, is_default=True) \
-    .add_log_source(log_source_name='proteus_test_logger_2', min_log_level=LogLevel.ERROR)
+c_logger = SemanticLogger()
+.add_log_source(log_source_name='test_logger_1', min_log_level=LogLevel.INFO, is_default=True)
+.add_log_source(log_source_name='test_logger_2', min_log_level=LogLevel.ERROR)
 
 # INFO level, default log source
 
-proteus_logger.info(template='Test message: {message}', message='important')
+c_logger.info(template='Test message: {message}', message='important')
 
 # ERROR level with exception
 
 try:
     raise ValueError('Big boom')
 except ValueError as ex:
-    proteus_logger.error(log_source_name='proteus_test_logger_2',
-                         template='Test error message: {message}', message='failure',
-                         exception=ex)
+    c_logger.error(log_source_name='test_logger_2',
+                   template='Test error message: {message}', message='failure',
+                   exception=ex)
 ```
 
 You can also use `Logger` instances directly:
 
 ```python
-from proteus.logs import ProteusLogger
-from proteus.logs.models import LogLevel
+from adapta.logs import SemanticLogger
+from adapta.logs.models import LogLevel
 
-proteus_logger = ProteusLogger() \
-    .add_log_source(log_source_name='proteus_test_logger_1', min_log_level=LogLevel.INFO, is_default=True)
+c_logger = SemanticLogger()
+.add_log_source(log_source_name='test_logger_1', min_log_level=LogLevel.INFO, is_default=True)
 
-logger = proteus_logger.proteus_test_logger_1
+logger = c_logger.test_logger_1
 ```
 
 ### DataDog handler
@@ -46,27 +46,27 @@ In order to send logs to DataDog, use `DataDogApiHandler` when adding a log sour
 in `stdout` or `stderr`, add `SafeStreamHandler` on top:
 
 ```python
-from proteus.logs import ProteusLogger
-from proteus.logs.models import LogLevel
-from proteus.logs.handlers.datadog_api_handler import DataDogApiHandler
-from proteus.logs.handlers.safe_stream_handler import SafeStreamHandler
+from adapta.logs import SemanticLogger
+from adapta.logs.models import LogLevel
+from adapta.logs.handlers.datadog_api_handler import DataDogApiHandler
+from adapta.logs.handlers.safe_stream_handler import SafeStreamHandler
 
-proteus_logger = ProteusLogger() \
-    .add_log_source(log_source_name='proteus_test_logger_1', min_log_level=LogLevel.INFO,
-                    log_handlers=[DataDogApiHandler(), SafeStreamHandler()], is_default=True)
+c_logger = SemanticLogger()
+.add_log_source(log_source_name='test_logger_1', min_log_level=LogLevel.INFO,
+                log_handlers=[DataDogApiHandler(), SafeStreamHandler()], is_default=True)
 
 # you can also add fixed parts to your log messages, for example add a job execution id:
 
 my_job_id = '000-000-111'
 owner = 'host-1'
-proteus_logger = ProteusLogger(fixed_template={
+c_logger = SemanticLogger(fixed_template={
     'running with job id {job_id} on {owner}': {
         'job_id': my_job_id,
         'owner': owner
     }
-}, fixed_template_delimiter='|') \
-    .add_log_source(log_source_name='proteus_test_logger_1', min_log_level=LogLevel.INFO,
-                    log_handlers=[DataDogApiHandler(), SafeStreamHandler()], is_default=True)
+}, fixed_template_delimiter='|')
+.add_log_source(log_source_name='test_logger_1', min_log_level=LogLevel.INFO,
+                log_handlers=[DataDogApiHandler(), SafeStreamHandler()], is_default=True)
 
 # messages emitted by the logger will look like this:
 # a message is here | running with job id 000-000-111 on host-1
@@ -86,9 +86,9 @@ This module supports integration with existing logger, you can use it as followi
 ```python
 import sys
 from logging import StreamHandler, Formatter
-from proteus.logs import ProteusLogger
-from proteus.logs.models import LogLevel
-from proteus.logs.handlers.datadog_api_handler import DataDogApiHandler
+from adapta.logs import SemanticLogger
+from adapta.logs.models import LogLevel
+from adapta.logs.handlers.datadog_api_handler import DataDogApiHandler
 
 # Create stream handler for loggers
 stream_handler = StreamHandler(sys.stdout)
@@ -100,11 +100,11 @@ stream_handler.setFormatter(formatter)
 # Create stream handler for loggers. Datadog handler use REST api to push log messages, so it do not need a formatter
 datadog_handler = DataDogApiHandler()
 
-logger = ProteusLogger().add_log_source(
+logger = SemanticLogger().add_log_source(
     log_source_name="azure",
     min_log_level=LogLevel.ERROR,
     log_handlers=[stream_handler, datadog_handler]
-)\
+)
 .add_log_source(
     log_source_name="my-app",
     min_log_level=LogLevel.INFO,
@@ -112,5 +112,5 @@ logger = ProteusLogger().add_log_source(
 )
 ```
 
-This will add `ProteusLogger` for logging source `my-app` and reconfigure python Logger with name `azure` to use 
+This will add `CompositeLogger` for logging source `my-app` and reconfigure python Logger with name `azure` to use 
 supplied handlers and `ERROR` as minimum log level.
diff --git a/proteus/logs/__init__.py b/adapta/logs/__init__.py
similarity index 93%
rename from proteus/logs/__init__.py
rename to adapta/logs/__init__.py
index a0e675fe..1b8c8878 100644
--- a/proteus/logs/__init__.py
+++ b/adapta/logs/__init__.py
@@ -16,4 +16,4 @@
 #  limitations under the License.
 #
 
-from proteus.logs._base import ProteusLogger
+from adapta.logs._base import SemanticLogger
diff --git a/proteus/logs/_base.py b/adapta/logs/_base.py
similarity index 97%
rename from proteus/logs/_base.py
rename to adapta/logs/_base.py
index d48cef78..890dc335 100644
--- a/proteus/logs/_base.py
+++ b/adapta/logs/_base.py
@@ -1,5 +1,5 @@
 """
- Proteus Logging Interface.
+ Adapta Logging Interface.
 """
 #  Copyright (c) 2023. ECCO Sneaks & Data
 #
@@ -27,13 +27,13 @@
 from logging import Handler, StreamHandler
 from typing import List, Optional, Dict
 
-from proteus.logs.models import LogLevel
-from proteus.logs._internal import MetadataLogger, from_log_level
+from adapta.logs.models import LogLevel
+from adapta.logs._internal import MetadataLogger, from_log_level
 
 
-class ProteusLogger:
+class SemanticLogger:
     """
-    Proteus Proxy for Python logging library.
+    Proxy for a collection of python loggers that use the same formatting interface.
     """
 
     def __init__(
@@ -42,7 +42,7 @@ def __init__(
         fixed_template_delimiter=", ",
     ):
         """
-          Creates a new instance of a ProteusLogger
+          Creates a new instance of a CompositeLogger
 
         :param fixed_template: Additional template to append to message templates provided via logging methods.
         :param fixed_template_delimiter: Optional delimiter to use when appending fixed templates.
@@ -60,7 +60,7 @@ def add_log_source(
         min_log_level: LogLevel,
         log_handlers: Optional[List[Handler]] = None,
         is_default=False,
-    ) -> "ProteusLogger":
+    ) -> "SemanticLogger":
         """
           Adds a new log source.
 
@@ -298,7 +298,7 @@ def redirect(
          of the reported message, if one is present in the output. This method works for the whole process,
          including external libraries (C/C++ etc). Example usage:
 
-         with proteus_logger.redirect():
+         with composite_logger.redirect():
              # from here, output will be redirected and collected separately
              call_my_function()
              call_my_other_function()
diff --git a/proteus/logs/_internal.py b/adapta/logs/_internal.py
similarity index 86%
rename from proteus/logs/_internal.py
rename to adapta/logs/_internal.py
index 99080beb..32dca2f8 100644
--- a/proteus/logs/_internal.py
+++ b/adapta/logs/_internal.py
@@ -1,4 +1,4 @@
-"""Classes for internal use by `proteus.logs` module. Should not be imported outside this module"""
+"""Classes for internal use by `adapta.logs` module. Should not be imported outside this module"""
 #  Copyright (c) 2023. ECCO Sneaks & Data
 #
 #  Licensed under the Apache License, Version 2.0 (the "License");
@@ -17,12 +17,12 @@
 import logging
 from typing import Optional, Dict
 
-from proteus.logs.models import ProteusLogMetadata, LogLevel
+from adapta.logs.models import CompositeLogMetadata, LogLevel
 
 
 class MetadataLogger(logging.Logger):
     """
-    Wrapper for standard python logger that enriches messages with proteus metadata
+    Wrapper for standard python logger that enriches messages with additional metadata
     """
 
     def __init__(self, name: str, level=logging.NOTSET):
@@ -46,7 +46,7 @@ def log_with_metadata(
         exception: Optional[BaseException],
     ):
         """
-        Creates log entry with metadata from Proteus Logger
+        Creates log entry with metadata from Composite Logger
 
         :param log_level: Level defined in logging module.
         :param msg: Log message after templating.
@@ -61,7 +61,7 @@ def log_with_metadata(
 
         if not self.isEnabledFor(level=log_level):
             return
-        log_metadata = ProteusLogMetadata(
+        log_metadata = CompositeLogMetadata(
             template=template,
             diagnostics=diagnostics,
             tags=tags,
@@ -71,7 +71,7 @@ def log_with_metadata(
             log_level,
             msg=msg,
             args=None,
-            extra={ProteusLogMetadata.__name__: log_metadata},
+            extra={CompositeLogMetadata.__name__: log_metadata},
             exc_info=exception,
             stack_info=stack_info,
         )
@@ -79,7 +79,7 @@ def log_with_metadata(
 
 def from_log_level(log_level: LogLevel) -> int:
     """
-    Converts proteus log level to logging log level
+    Converts adapta log level to logging log level
     """
     log_method = {
         LogLevel.INFO: logging.INFO,
diff --git a/proteus/logs/handlers/__init__.py b/adapta/logs/handlers/__init__.py
similarity index 100%
rename from proteus/logs/handlers/__init__.py
rename to adapta/logs/handlers/__init__.py
diff --git a/proteus/logs/handlers/datadog_api_handler.py b/adapta/logs/handlers/datadog_api_handler.py
similarity index 97%
rename from proteus/logs/handlers/datadog_api_handler.py
rename to adapta/logs/handlers/datadog_api_handler.py
index 2eb54a22..3906bf39 100644
--- a/proteus/logs/handlers/datadog_api_handler.py
+++ b/adapta/logs/handlers/datadog_api_handler.py
@@ -39,8 +39,8 @@
 from kubernetes import config
 from kubernetes.config import ConfigException
 
-from proteus.logs.models import ProteusLogMetadata
-from proteus.utils import convert_datadog_tags
+from adapta.logs.models import CompositeLogMetadata
+from adapta.utils import convert_datadog_tags
 
 
 class DataDogApiHandler(Handler):
@@ -200,8 +200,8 @@ def _try_flush():
     def emit(self, record: LogRecord) -> None:
         def convert_record(rec: LogRecord) -> HTTPLogItem:
 
-            metadata: Optional[ProteusLogMetadata] = rec.__dict__.get(
-                ProteusLogMetadata.__name__
+            metadata: Optional[CompositeLogMetadata] = rec.__dict__.get(
+                CompositeLogMetadata.__name__
             )
             tags = {}
             formatted_message: Dict[str, Any] = {"text": rec.getMessage()}
diff --git a/proteus/logs/handlers/safe_stream_handler.py b/adapta/logs/handlers/safe_stream_handler.py
similarity index 100%
rename from proteus/logs/handlers/safe_stream_handler.py
rename to adapta/logs/handlers/safe_stream_handler.py
diff --git a/proteus/logs/models/__init__.py b/adapta/logs/models/__init__.py
similarity index 84%
rename from proteus/logs/models/__init__.py
rename to adapta/logs/models/__init__.py
index 65c4f51e..3d940533 100644
--- a/proteus/logs/models/__init__.py
+++ b/adapta/logs/models/__init__.py
@@ -17,5 +17,5 @@
 #  limitations under the License.
 #
 
-from proteus.logs.models._log_level import LogLevel
-from proteus.logs.models._logs_metadata import ProteusLogMetadata
+from adapta.logs.models._log_level import LogLevel
+from adapta.logs.models._logs_metadata import CompositeLogMetadata
diff --git a/proteus/logs/models/_log_level.py b/adapta/logs/models/_log_level.py
similarity index 100%
rename from proteus/logs/models/_log_level.py
rename to adapta/logs/models/_log_level.py
diff --git a/proteus/logs/models/_logs_metadata.py b/adapta/logs/models/_logs_metadata.py
similarity index 90%
rename from proteus/logs/models/_logs_metadata.py
rename to adapta/logs/models/_logs_metadata.py
index 7417a76b..c5991c79 100644
--- a/proteus/logs/models/_logs_metadata.py
+++ b/adapta/logs/models/_logs_metadata.py
@@ -22,9 +22,9 @@
 
 
 @dataclass
-class ProteusLogMetadata:
+class CompositeLogMetadata:
     """
-    Metadata model for log messages created by ProteusLogger
+    Metadata model for log messages created by CompositeLogger
     """
 
     template: str
diff --git a/proteus/metrics/__init__.py b/adapta/metrics/__init__.py
similarity index 92%
rename from proteus/metrics/__init__.py
rename to adapta/metrics/__init__.py
index 0fbc935e..7c13b591 100644
--- a/proteus/metrics/__init__.py
+++ b/adapta/metrics/__init__.py
@@ -17,4 +17,4 @@
 #  limitations under the License.
 #
 
-from proteus.metrics._base import MetricsProvider
+from adapta.metrics._base import MetricsProvider
diff --git a/proteus/metrics/_base.py b/adapta/metrics/_base.py
similarity index 100%
rename from proteus/metrics/_base.py
rename to adapta/metrics/_base.py
diff --git a/proteus/metrics/providers/README.md b/adapta/metrics/providers/README.md
similarity index 88%
rename from proteus/metrics/providers/README.md
rename to adapta/metrics/providers/README.md
index 9e71c75a..244d67fd 100644
--- a/proteus/metrics/providers/README.md
+++ b/adapta/metrics/providers/README.md
@@ -21,9 +21,9 @@ Reporting metrics:
 ```python
 import random
 from time import sleep
-from proteus.metrics.providers.datadog_provider import DatadogMetricsProvider
+from adapta.metrics.providers.datadog_provider import DatadogMetricsProvider
 
-provider = DatadogMetricsProvider(metric_namespace='proteus_test')
+provider = DatadogMetricsProvider(metric_namespace='test')
 
 # report a gauge metric
 for i in range(0, 100):
@@ -46,7 +46,7 @@ for i in range(0, 100):
 
 You can also enrich pushed metrics with information like units, description etc.:
 ```python
-from proteus.metrics.providers.datadog_provider import DatadogMetricsProvider
+from adapta.metrics.providers.datadog_provider import DatadogMetricsProvider
 from datadog_api_client.v1.model.metric_metadata import MetricMetadata
 
 DatadogMetricsProvider.update_metric_metadata(metric_name='my_metric.test', metric_metadata=MetricMetadata(description='best metric!'))
diff --git a/proteus/metrics/providers/__init__.py b/adapta/metrics/providers/__init__.py
similarity index 100%
rename from proteus/metrics/providers/__init__.py
rename to adapta/metrics/providers/__init__.py
diff --git a/proteus/metrics/providers/datadog_provider.py b/adapta/metrics/providers/datadog_provider.py
similarity index 96%
rename from proteus/metrics/providers/datadog_provider.py
rename to adapta/metrics/providers/datadog_provider.py
index 9f9f6102..dcc93591 100644
--- a/proteus/metrics/providers/datadog_provider.py
+++ b/adapta/metrics/providers/datadog_provider.py
@@ -25,8 +25,8 @@
 from datadog import initialize, statsd, api
 from datadog_api_client.v1.model.metric_metadata import MetricMetadata
 
-from proteus.metrics._base import MetricsProvider
-from proteus.utils import convert_datadog_tags
+from adapta.metrics._base import MetricsProvider
+from adapta.utils import convert_datadog_tags
 
 
 class EventAlertType(Enum):
@@ -42,7 +42,7 @@ class EventAlertType(Enum):
 
 class DatadogMetricsProvider(MetricsProvider):
     """
-    DogStatsD projection of Proteus MetricsProvider.
+    DogStatsD projection of MetricsProvider.
     """
 
     def __init__(
diff --git a/proteus/ml/__init__.py b/adapta/ml/__init__.py
similarity index 95%
rename from proteus/ml/__init__.py
rename to adapta/ml/__init__.py
index 6c32cd02..f3392852 100644
--- a/proteus/ml/__init__.py
+++ b/adapta/ml/__init__.py
@@ -16,4 +16,4 @@
 #  limitations under the License.
 #
 
-from proteus.ml._model import *
+from adapta.ml._model import *
diff --git a/proteus/ml/_model.py b/adapta/ml/_model.py
similarity index 100%
rename from proteus/ml/_model.py
rename to adapta/ml/_model.py
diff --git a/proteus/ml/mlflow/__init__.py b/adapta/ml/mlflow/__init__.py
similarity index 88%
rename from proteus/ml/mlflow/__init__.py
rename to adapta/ml/mlflow/__init__.py
index 6ffd84a8..68e76e1b 100644
--- a/proteus/ml/mlflow/__init__.py
+++ b/adapta/ml/mlflow/__init__.py
@@ -14,5 +14,5 @@
 #  limitations under the License.
 #
 
-from proteus.ml.mlflow._client import *
-from proteus.ml.mlflow._functions import *
+from adapta.ml.mlflow._client import *
+from adapta.ml.mlflow._functions import *
diff --git a/proteus/ml/mlflow/_client.py b/adapta/ml/mlflow/_client.py
similarity index 100%
rename from proteus/ml/mlflow/_client.py
rename to adapta/ml/mlflow/_client.py
diff --git a/proteus/ml/mlflow/_functions.py b/adapta/ml/mlflow/_functions.py
similarity index 96%
rename from proteus/ml/mlflow/_functions.py
rename to adapta/ml/mlflow/_functions.py
index 07f87f0f..9de21e67 100644
--- a/proteus/ml/mlflow/_functions.py
+++ b/adapta/ml/mlflow/_functions.py
@@ -23,8 +23,8 @@
 import mlflow
 from mlflow.pyfunc import PythonModel
 
-from proteus.ml.mlflow._client import MlflowBasicClient
-from proteus.ml._model import MachineLearningModel
+from adapta.ml.mlflow._client import MlflowBasicClient
+from adapta.ml._model import MachineLearningModel
 
 
 class _MlflowMachineLearningModel(PythonModel):
@@ -91,7 +91,7 @@ def register_mlflow_model(
     if artifacts_to_log is not None:
         if not any(list(artifacts_to_log.keys())) not in ["model", "config"]:
             raise ValueError(
-                'Artifact names "model" and "config" are reserved for internal proteus usage'
+                'Artifact names "model" and "config" are reserved for internal usage'
             )
         artifacts.update(artifacts_to_log)
 
diff --git a/proteus/process_communication/__init__.py b/adapta/process_communication/__init__.py
similarity index 92%
rename from proteus/process_communication/__init__.py
rename to adapta/process_communication/__init__.py
index 275b6b6f..57e1ecc1 100644
--- a/proteus/process_communication/__init__.py
+++ b/adapta/process_communication/__init__.py
@@ -17,4 +17,4 @@
 #  limitations under the License.
 #
 
-from proteus.process_communication._models import *
+from adapta.process_communication._models import *
diff --git a/proteus/process_communication/_models.py b/adapta/process_communication/_models.py
similarity index 95%
rename from proteus/process_communication/_models.py
rename to adapta/process_communication/_models.py
index 8a46684a..39ff95d2 100644
--- a/proteus/process_communication/_models.py
+++ b/adapta/process_communication/_models.py
@@ -21,9 +21,9 @@
 
 from dataclasses_json import DataClassJsonMixin
 
-from proteus.storage.models.base import DataPath
-from proteus.storage.models.azure import AdlsGen2Path, WasbPath
-from proteus.storage.models.local import LocalPath
+from adapta.storage.models.base import DataPath
+from adapta.storage.models.azure import AdlsGen2Path, WasbPath
+from adapta.storage.models.local import LocalPath
 
 
 @dataclass(frozen=True)
diff --git a/proteus/security/__init__.py b/adapta/security/__init__.py
similarity index 100%
rename from proteus/security/__init__.py
rename to adapta/security/__init__.py
diff --git a/proteus/security/clients/__init__.py b/adapta/security/clients/__init__.py
similarity index 67%
rename from proteus/security/clients/__init__.py
rename to adapta/security/clients/__init__.py
index 261aea6f..f75b4e65 100644
--- a/proteus/security/clients/__init__.py
+++ b/adapta/security/clients/__init__.py
@@ -17,31 +17,31 @@
 #  limitations under the License.
 #
 
-from proteus.security.clients._local_client import LocalClient
-from proteus.security.clients._base import ProteusClient
+from adapta.security.clients._local_client import LocalClient
+from adapta.security.clients._base import AuthenticationClient
 
 try:
-    from proteus.security.clients.hashicorp_vault.oidc_client import (
+    from adapta.security.clients.hashicorp_vault.oidc_client import (
         HashicorpVaultOidcClient,
     )
 except ImportError:
     pass
 
 try:
-    from proteus.security.clients.hashicorp_vault.kubernetes_client import (
+    from adapta.security.clients.hashicorp_vault.kubernetes_client import (
         HashicorpVaultKubernetesClient,
     )
 except ImportError:
     pass
 
 try:
-    from proteus.security.clients.hashicorp_vault.hashicorp_vault_client import (
+    from adapta.security.clients.hashicorp_vault.hashicorp_vault_client import (
         HashicorpVaultClient,
     )
 except ImportError:
     pass
 
 try:
-    from proteus.security.clients._azure_client import AzureClient
+    from adapta.security.clients._azure_client import AzureClient
 except ImportError:
     pass
diff --git a/proteus/security/clients/_azure_client.py b/adapta/security/clients/_azure_client.py
similarity index 90%
rename from proteus/security/clients/_azure_client.py
rename to adapta/security/clients/_azure_client.py
index a21b9bab..1fe82f99 100644
--- a/proteus/security/clients/_azure_client.py
+++ b/adapta/security/clients/_azure_client.py
@@ -1,5 +1,5 @@
 """
- Azure Cloud implementation of Proteus Client.
+ Azure Cloud implementation of AuthenticationClient.
 """
 #  Copyright (c) 2023. ECCO Sneaks & Data
 #
@@ -28,9 +28,9 @@
 from azure.identity import DefaultAzureCredential
 from pyarrow.fs import PyFileSystem, FSSpecHandler, SubTreeFileSystem, FileSystem
 
-from proteus.security.clients._base import ProteusClient
-from proteus.storage.models.azure import AdlsGen2Path
-from proteus.storage.models.base import DataPath
+from adapta.security.clients._base import AuthenticationClient
+from adapta.storage.models.azure import AdlsGen2Path
+from adapta.storage.models.base import DataPath
 
 
 def _get_azure_credentials() -> DefaultAzureCredential:
@@ -46,7 +46,7 @@ def _get_azure_credentials() -> DefaultAzureCredential:
     )
 
 
-class AzureClient(ProteusClient):
+class AzureClient(AuthenticationClient):
     """
     Azure Credentials provider for various Azure resources.
     """
@@ -64,11 +64,11 @@ def __init__(self, *, subscription_id: str, default_log_level=logging.ERROR):
         logger.setLevel(default_log_level)
 
     @classmethod
-    def from_base_client(cls, client: ProteusClient) -> Optional["AzureClient"]:
+    def from_base_client(cls, client: AuthenticationClient) -> Optional["AzureClient"]:
         """
-         Safe casts ProteusClient to AzureClient if type checks out.
+         Safe casts AuthenticationClient to AzureClient if type checks out.
 
-        :param client: ProteusClient
+        :param client: AuthenticationClient
         :return: AzureClient or None if type does not check out
         """
         if isinstance(client, AzureClient):
@@ -97,7 +97,7 @@ def get_resource_group(account: StorageAccount) -> str:
 
         assert isinstance(
             path, AdlsGen2Path
-        ), "Azure Client only works with proteus.storage.models.azure.AdlsGen2Path"
+        ), "Azure Client only works with adapta.storage.models.azure.AdlsGen2Path"
 
         adls_path: AdlsGen2Path = path
 
diff --git a/proteus/security/clients/_base.py b/adapta/security/clients/_base.py
similarity index 96%
rename from proteus/security/clients/_base.py
rename to adapta/security/clients/_base.py
index 9a837710..da8c3863 100644
--- a/proteus/security/clients/_base.py
+++ b/adapta/security/clients/_base.py
@@ -20,10 +20,10 @@
 from typing import Optional, Dict
 
 from pyarrow.fs import FileSystem
-from proteus.storage.models.base import DataPath
+from adapta.storage.models.base import DataPath
 
 
-class ProteusClient(ABC):
+class AuthenticationClient(ABC):
     """
     Base functionality all infrastructure providers must implement.
     """
diff --git a/proteus/security/clients/_local_client.py b/adapta/security/clients/_local_client.py
similarity index 89%
rename from proteus/security/clients/_local_client.py
rename to adapta/security/clients/_local_client.py
index ba301f18..19121d79 100644
--- a/proteus/security/clients/_local_client.py
+++ b/adapta/security/clients/_local_client.py
@@ -18,13 +18,13 @@
 
 from typing import Optional, Dict
 from pyarrow.fs import FileSystem, LocalFileSystem, SubTreeFileSystem
-from proteus.security.clients._base import ProteusClient
-from proteus.storage.models.base import DataPath
+from adapta.security.clients._base import AuthenticationClient
+from adapta.storage.models.base import DataPath
 
 
-class LocalClient(ProteusClient):
+class LocalClient(AuthenticationClient):
     """
-    Local mode Proteus Client.
+    Local mode AuthenticationClient.
     """
 
     def get_credentials(self):
diff --git a/proteus/security/clients/hashicorp_vault/__init__.py b/adapta/security/clients/hashicorp_vault/__init__.py
similarity index 100%
rename from proteus/security/clients/hashicorp_vault/__init__.py
rename to adapta/security/clients/hashicorp_vault/__init__.py
diff --git a/proteus/security/clients/hashicorp_vault/hashicorp_vault_client.py b/adapta/security/clients/hashicorp_vault/hashicorp_vault_client.py
similarity index 83%
rename from proteus/security/clients/hashicorp_vault/hashicorp_vault_client.py
rename to adapta/security/clients/hashicorp_vault/hashicorp_vault_client.py
index 2103c26d..c7338128 100644
--- a/proteus/security/clients/hashicorp_vault/hashicorp_vault_client.py
+++ b/adapta/security/clients/hashicorp_vault/hashicorp_vault_client.py
@@ -1,5 +1,5 @@
 """
- Hashicorp Vault implementation of Proteus Client.
+ Hashicorp Vault implementation of AuthenticationClient.
 """
 #  Copyright (c) 2023. ECCO Sneaks & Data
 #
@@ -21,21 +21,23 @@
 
 from pyarrow.fs import FileSystem
 
-from proteus.security.clients._base import ProteusClient
-from proteus.storage.models.base import DataPath
+from adapta.security.clients._base import AuthenticationClient
+from adapta.storage.models.base import DataPath
 
 
-class HashicorpVaultClient(ProteusClient):
+class HashicorpVaultClient(AuthenticationClient):
     """
     Hashicorp vault Credentials provider.
     """
 
     @staticmethod
-    def from_base_client(client: ProteusClient) -> Optional["HashicorpVaultClient"]:
+    def from_base_client(
+        client: AuthenticationClient,
+    ) -> Optional["HashicorpVaultClient"]:
         """
-         Safe casts ProteusClient to HashicorpVaultClient if type checks out.
+         Safe casts AuthenticationClient to HashicorpVaultClient if type checks out.
 
-        :param client: ProteusClient
+        :param client: AuthenticationClient
         :return: HashicorpVaultClient or None if type does not check out
         """
         if isinstance(client, HashicorpVaultClient):
diff --git a/proteus/security/clients/hashicorp_vault/kubernetes_client.py b/adapta/security/clients/hashicorp_vault/kubernetes_client.py
similarity index 86%
rename from proteus/security/clients/hashicorp_vault/kubernetes_client.py
rename to adapta/security/clients/hashicorp_vault/kubernetes_client.py
index 800ccaa8..bf20a970 100644
--- a/proteus/security/clients/hashicorp_vault/kubernetes_client.py
+++ b/adapta/security/clients/hashicorp_vault/kubernetes_client.py
@@ -1,5 +1,5 @@
 """
- Hashicorp Vault implementation of Proteus Client.
+ Hashicorp Vault implementation of AuthenticationClient.
 """
 #  Copyright (c) 2023. ECCO Sneaks & Data
 #
@@ -21,8 +21,8 @@
 import hvac
 from hvac.api.auth_methods import Kubernetes
 
-from proteus.security.clients._base import ProteusClient
-from proteus.security.clients.hashicorp_vault.hashicorp_vault_client import (
+from adapta.security.clients._base import AuthenticationClient
+from adapta.security.clients.hashicorp_vault.hashicorp_vault_client import (
     HashicorpVaultClient,
 )
 
@@ -34,12 +34,12 @@ class HashicorpVaultKubernetesClient(HashicorpVaultClient):
 
     @staticmethod
     def from_base_client(
-        client: ProteusClient,
+        client: AuthenticationClient,
     ) -> Optional["HashicorpVaultKubernetesClient"]:
         """
-         Safe casts ProteusClient to HashicorpVaultClient if type checks out.
+         Safe casts AuthenticationClient to HashicorpVaultClient if type checks out.
 
-        :param client: ProteusClient
+        :param client: AuthenticationClient
         :return: HashicorpVaultKubernetesClient or None if type does not check out
         """
         if isinstance(client, HashicorpVaultKubernetesClient):
diff --git a/proteus/security/clients/hashicorp_vault/oidc_client.py b/adapta/security/clients/hashicorp_vault/oidc_client.py
similarity index 87%
rename from proteus/security/clients/hashicorp_vault/oidc_client.py
rename to adapta/security/clients/hashicorp_vault/oidc_client.py
index 594d5d67..c3477935 100644
--- a/proteus/security/clients/hashicorp_vault/oidc_client.py
+++ b/adapta/security/clients/hashicorp_vault/oidc_client.py
@@ -1,5 +1,5 @@
 """
- Hashicorp Vault implementation of Proteus Client.
+ Hashicorp Vault implementation of AuthenticationClient.
 """
 #  Copyright (c) 2023. ECCO Sneaks & Data
 #
@@ -23,8 +23,8 @@
 
 import hvac
 
-from proteus.security.clients._base import ProteusClient
-from proteus.security.clients.hashicorp_vault.hashicorp_vault_client import (
+from adapta.security.clients._base import AuthenticationClient
+from adapta.security.clients.hashicorp_vault.hashicorp_vault_client import (
     HashicorpVaultClient,
 )
 
@@ -67,11 +67,13 @@ class HashicorpVaultOidcClient(HashicorpVaultClient):
     """
 
     @staticmethod
-    def from_base_client(client: ProteusClient) -> Optional["HashicorpVaultClient"]:
+    def from_base_client(
+        client: AuthenticationClient,
+    ) -> Optional["HashicorpVaultClient"]:
         """
-         Safe casts ProteusClient to HashicorpVaultClient if type checks out.
+         Safe casts AuthenticationClient to HashicorpVaultClient if type checks out.
 
-        :param client: ProteusClient
+        :param client: AuthenticationClient
         :return: HashicorpVaultClient or None if type does not check out
         """
         if isinstance(client, HashicorpVaultClient):
diff --git a/proteus/storage/__init__.py b/adapta/storage/__init__.py
similarity index 100%
rename from proteus/storage/__init__.py
rename to adapta/storage/__init__.py
diff --git a/proteus/storage/blob/README.md b/adapta/storage/blob/README.md
similarity index 79%
rename from proteus/storage/blob/README.md
rename to adapta/storage/blob/README.md
index 7f20042d..7a98994c 100644
--- a/proteus/storage/blob/README.md
+++ b/adapta/storage/blob/README.md
@@ -8,10 +8,10 @@ In order to init a storage client, you need a respective authentication provider
 
 ```python
 import pandas
-from proteus.security.clients import AzureClient
-from proteus.storage.models.azure import AdlsGen2Path
-from proteus.storage.blob.azure_storage_client import AzureStorageClient
-from proteus.storage.models.format import DataFrameParquetSerializationFormat
+from adapta.security.clients import AzureClient
+from adapta.storage.models.azure import AdlsGen2Path
+from adapta.storage.blob.azure_storage_client import AzureStorageClient
+from adapta.storage.models.format import DataFrameParquetSerializationFormat
 
 azure_client = AzureClient(subscription_id='6c5538ce-b24a-4e2a-877f-979ad71287ff')
 adls_path = AdlsGen2Path.from_hdfs_path('abfss://container@account.dfs.core.windows.net/path/to/my/table')
diff --git a/proteus/storage/blob/__init__.py b/adapta/storage/blob/__init__.py
similarity index 100%
rename from proteus/storage/blob/__init__.py
rename to adapta/storage/blob/__init__.py
diff --git a/proteus/storage/blob/azure_storage_client.py b/adapta/storage/blob/azure_storage_client.py
similarity index 96%
rename from proteus/storage/blob/azure_storage_client.py
rename to adapta/storage/blob/azure_storage_client.py
index 1e27c028..5b24a90a 100644
--- a/proteus/storage/blob/azure_storage_client.py
+++ b/adapta/storage/blob/azure_storage_client.py
@@ -32,12 +32,12 @@
     ContainerClient,
 )
 
-from proteus.storage.blob.base import StorageClient
-from proteus.security.clients import AzureClient
-from proteus.storage.models.azure import AdlsGen2Path, WasbPath, cast_path
-from proteus.storage.models.base import DataPath
-from proteus.storage.models.format import SerializationFormat
-from proteus.utils import chunk_list
+from adapta.storage.blob.base import StorageClient
+from adapta.security.clients import AzureClient
+from adapta.storage.models.azure import AdlsGen2Path, WasbPath, cast_path
+from adapta.storage.models.base import DataPath
+from adapta.storage.models.format import SerializationFormat
+from adapta.utils import chunk_list
 
 T = TypeVar("T")  # pylint: disable=C0103
 
diff --git a/proteus/storage/blob/base.py b/adapta/storage/blob/base.py
similarity index 95%
rename from proteus/storage/blob/base.py
rename to adapta/storage/blob/base.py
index a8867daf..03f7b9ab 100644
--- a/proteus/storage/blob/base.py
+++ b/adapta/storage/blob/base.py
@@ -19,9 +19,9 @@
 from abc import ABC, abstractmethod
 from typing import Optional, Dict, Type, TypeVar, Iterator, Callable
 
-from proteus.security.clients import ProteusClient
-from proteus.storage.models.base import DataPath
-from proteus.storage.models.format import SerializationFormat
+from adapta.security.clients import AuthenticationClient
+from adapta.storage.models.base import DataPath
+from adapta.storage.models.format import SerializationFormat
 
 
 T = TypeVar("T")  # pylint: disable=C0103
@@ -32,7 +32,7 @@ class StorageClient(ABC):
     Base storage operations for all backends.
     """
 
-    def __init__(self, *, base_client: ProteusClient):
+    def __init__(self, *, base_client: AuthenticationClient):
         self._base_client = base_client
 
     @abstractmethod
diff --git a/proteus/storage/cache/__init__.py b/adapta/storage/cache/__init__.py
similarity index 93%
rename from proteus/storage/cache/__init__.py
rename to adapta/storage/cache/__init__.py
index 75a2fa81..67bd9674 100644
--- a/proteus/storage/cache/__init__.py
+++ b/adapta/storage/cache/__init__.py
@@ -17,4 +17,4 @@
 #  limitations under the License.
 #
 
-from proteus.storage.cache._base import *
+from adapta.storage.cache._base import *
diff --git a/proteus/storage/cache/_base.py b/adapta/storage/cache/_base.py
similarity index 100%
rename from proteus/storage/cache/_base.py
rename to adapta/storage/cache/_base.py
diff --git a/proteus/storage/cache/redis_cache.py b/adapta/storage/cache/redis_cache.py
similarity index 98%
rename from proteus/storage/cache/redis_cache.py
rename to adapta/storage/cache/redis_cache.py
index b4615e26..da36eddc 100644
--- a/proteus/storage/cache/redis_cache.py
+++ b/adapta/storage/cache/redis_cache.py
@@ -26,7 +26,7 @@
 from redis.cluster import RedisCluster
 from redis.retry import Retry
 
-from proteus.storage.cache import KeyValueCache
+from adapta.storage.cache import KeyValueCache
 
 
 class RedisCache(KeyValueCache):
diff --git a/proteus/storage/database/README.md b/adapta/storage/database/README.md
similarity index 83%
rename from proteus/storage/database/README.md
rename to adapta/storage/database/README.md
index 91356839..be2430cb 100644
--- a/proteus/storage/database/README.md
+++ b/adapta/storage/database/README.md
@@ -14,11 +14,11 @@ Instantiate a new client, query, write data out and scale database:
 ```python
 import pandas
 
-from proteus.storage.database.azure_sql import AzureSqlClient
-from proteus.logs import ProteusLogger
-from proteus.logs.models import LogLevel
+from adapta.storage.database.azure_sql import AzureSqlClient
+from adapta.logs import SemanticLogger
+from adapta.logs.models import LogLevel
 
-proteus_logger = ProteusLogger().add_log_source(
+c_logger = SemanticLogger().add_log_source(
     log_source_name='azsql',
     min_log_level=LogLevel.INFO,
     is_default=True,
@@ -26,26 +26,26 @@ proteus_logger = ProteusLogger().add_log_source(
 )
 
 with AzureSqlClient(
-    logger=proteus_logger,
-    host_name='my-sql-host',
-    user_name='my-sql-user',
-    password='my-sql-password',
-    database='my-database'
+        logger=c_logger,
+        host_name='my-sql-host',
+        user_name='my-sql-user',
+        password='my-sql-password',
+        database='my-database'
 ) as azsql:
     # read from dbo.big_data into an iterable of pandas dataframes
     some_data = azsql.query('select * from dbo.big_data', chunksize=1000)
-    
+
     for chunk in some_data:
         print(chunk)
-    
+
     # write data to dbo.small_data
     data_to_write = pandas.DataFrame(data={
         'id': ["1", "2", "3"],
         'name': ["Exostrike", "BIOM", "Collin"]
     })
-    
+
     azsql.materialize(data_to_write, 'dbo', 'small_data', True)
-    
+
     # scale Azure SQL instance
     result = azsql.scale_instance(target_objective='HS_Gen4_1', max_wait_time=300)
 ```
@@ -57,7 +57,7 @@ Note that each context invocation with OAuth2 will open a browser tab, but all q
 ```python
 import os
 import pandas
-from proteus.storage.database.trino_sql import TrinoClient
+from adapta.storage.database.trino_sql import TrinoClient
 
 # use Basic Auth
 os.environ['PROTEUS__TRINO_USERNAME'] = 'foo'
diff --git a/proteus/storage/database/__init__.py b/adapta/storage/database/__init__.py
similarity index 100%
rename from proteus/storage/database/__init__.py
rename to adapta/storage/database/__init__.py
diff --git a/proteus/storage/database/azure_sql.py b/adapta/storage/database/azure_sql.py
similarity index 95%
rename from proteus/storage/database/azure_sql.py
rename to adapta/storage/database/azure_sql.py
index e8daffb4..88fa44b0 100644
--- a/proteus/storage/database/azure_sql.py
+++ b/adapta/storage/database/azure_sql.py
@@ -21,10 +21,10 @@
 
 from sqlalchemy import text
 
-from proteus.logs import ProteusLogger
-from proteus.storage.database.odbc import OdbcClient
-from proteus.storage.database.models import DatabaseType
-from proteus.utils import doze
+from adapta.logs import SemanticLogger
+from adapta.storage.database.odbc import OdbcClient
+from adapta.storage.database.models import DatabaseType
+from adapta.utils import doze
 
 
 class AzureSqlClient(OdbcClient):
@@ -34,7 +34,7 @@ class AzureSqlClient(OdbcClient):
 
     def __init__(
         self,
-        logger: ProteusLogger,
+        logger: SemanticLogger,
         host_name: str,
         user_name: str,
         password: str,
diff --git a/adapta/storage/database/models/__init__.py b/adapta/storage/database/models/__init__.py
new file mode 100644
index 00000000..9aa60e83
--- /dev/null
+++ b/adapta/storage/database/models/__init__.py
@@ -0,0 +1,19 @@
+"""
+ Import index.
+"""
+#  Copyright (c) 2023. ECCO Sneaks & Data
+#
+#  Licensed under the Apache License, Version 2.0 (the "License");
+#  you may not use this file except in compliance with the License.
+#  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.
+#
+
+from adapta.storage.database.models._models import *
diff --git a/proteus/storage/database/models/_models.py b/adapta/storage/database/models/_models.py
similarity index 100%
rename from proteus/storage/database/models/_models.py
rename to adapta/storage/database/models/_models.py
diff --git a/proteus/storage/database/odbc.py b/adapta/storage/database/odbc.py
similarity index 98%
rename from proteus/storage/database/odbc.py
rename to adapta/storage/database/odbc.py
index cb59fda9..c8de9f93 100644
--- a/proteus/storage/database/odbc.py
+++ b/adapta/storage/database/odbc.py
@@ -26,8 +26,8 @@
 from sqlalchemy.engine import URL
 from sqlalchemy.exc import SQLAlchemyError, OperationalError
 
-from proteus.logs import ProteusLogger
-from proteus.storage.database.models import DatabaseType, SqlAlchemyDialect
+from adapta.logs import SemanticLogger
+from adapta.storage.database.models import DatabaseType, SqlAlchemyDialect
 
 
 class OdbcClient(ABC):
@@ -37,7 +37,7 @@ class OdbcClient(ABC):
 
     def __init__(
         self,
-        logger: ProteusLogger,
+        logger: SemanticLogger,
         database_type: DatabaseType,
         host_name: Optional[str] = None,
         user_name: Optional[str] = None,
diff --git a/proteus/storage/database/trino_sql.py b/adapta/storage/database/trino_sql.py
similarity index 93%
rename from proteus/storage/database/trino_sql.py
rename to adapta/storage/database/trino_sql.py
index 58084162..a449c7be 100644
--- a/proteus/storage/database/trino_sql.py
+++ b/adapta/storage/database/trino_sql.py
@@ -26,9 +26,9 @@
 from sqlalchemy.exc import SQLAlchemyError
 from trino.auth import OAuth2Authentication
 
-from proteus.logs.models import LogLevel
-from proteus.logs import ProteusLogger
-from proteus.storage.secrets import SecretStorageClient
+from adapta.logs.models import LogLevel
+from adapta.logs import SemanticLogger
+from adapta.storage.secrets import SecretStorageClient
 
 
 class TrinoClient:
@@ -43,8 +43,8 @@ def __init__(
         port: Optional[int] = 443,
         oauth2_username: Optional[str] = None,
         credentials_provider: Optional[Tuple[str, SecretStorageClient]] = None,
-        logger: ProteusLogger = ProteusLogger().add_log_source(
-            log_source_name="proteus-trino-client",
+        logger: SemanticLogger = SemanticLogger().add_log_source(
+            log_source_name="adapta-trino-client",
             min_log_level=LogLevel.INFO,
             is_default=True,
         ),
@@ -58,7 +58,7 @@ def __init__(
         :param oauth2_username: Optional username to use if authenticating with interactive OAuth2.
                Can also be provided via PROTEUS__TRINO_OAUTH2_USERNAME.
         :param credentials_provider: Optional secret provider to use to read Basic Auth credentials.
-        :param logger: Proteus logger instance.
+        :param logger: CompositeLogger instance.
         """
 
         self._host = host
diff --git a/proteus/storage/delta_lake/README.md b/adapta/storage/delta_lake/README.md
similarity index 73%
rename from proteus/storage/delta_lake/README.md
rename to adapta/storage/delta_lake/README.md
index ded3eb25..9f81f499 100644
--- a/proteus/storage/delta_lake/README.md
+++ b/adapta/storage/delta_lake/README.md
@@ -11,13 +11,13 @@ Supported API:
 ```python
 import os
 import datetime
-from proteus.security.clients import AzureClient
-from proteus.storage.models.azure import AdlsGen2Path
-from proteus.storage.models.hive import HivePath
-from proteus.storage.delta_lake import load, load_cached
-from proteus.logs import ProteusLogger
+from adapta.security.clients import AzureClient
+from adapta.storage.models.azure import AdlsGen2Path
+from adapta.storage.models.hive import HivePath
+from adapta.storage.delta_lake import load, load_cached
+from adapta.logs import SemanticLogger
 from pyarrow.dataset import field as pyarrow_field
-from proteus.storage.cache.redis_cache import RedisCache
+from adapta.storage.cache.redis_cache import RedisCache
 
 # prepare connection
 azure_client = AzureClient(subscription_id='6c5538ce-b24a-4e2a-877f-979ad71287ff')
@@ -33,10 +33,11 @@ filtered = load(azure_client, adls_path, row_filter=filter, columns=["my_column"
 # filtered is of type pandas.DataFrame
 
 # using with Hive paths
-logger: ProteusLogger  # review proteus.logs readme to learn how to construct a logger instance
+logger: SemanticLogger  # review proteus.logs readme to learn how to construct a logger instance
 os.environ['PROTEUS__HIVE_USER'] = 'delamain'
 os.environ['PROTEUS__HIVE_PASSWORD'] = 'secret'
-hive_path = HivePath.from_hdfs_path("hive://sqlserver@myserver.database.windows.net:1433/sparkdatalake/bronze/bronze_table")
+hive_path = HivePath.from_hdfs_path(
+    "hive://sqlserver@myserver.database.windows.net:1433/sparkdatalake/bronze/bronze_table")
 
 adls_path2 = AdlsGen2Path.from_hdfs_path(hive_path.get_physical_path(logger=logger))
 
@@ -49,5 +50,6 @@ batches2 = load(azure_client, adls_path2, batch_size=1000)
 # if there is no cache hit, load_cached() will fallback to load() behaviour
 r_cache = RedisCache(host="esd-superset-test.redis.cache.windows.net", database_number=1)
 os.environ['PROTEUS__CACHE_REDIS_PASSWORD'] = '...'
-read_raw = load_cached(azure_client, adls_path, r_cache, row_filter=filter, cache_expires_after=datetime.timedelta(minutes=15), batch_size=int(1e6))
+read_raw = load_cached(azure_client, adls_path, r_cache, row_filter=filter,
+                       cache_expires_after=datetime.timedelta(minutes=15), batch_size=int(1e6))
 ```
\ No newline at end of file
diff --git a/proteus/storage/database/models/__init__.py b/adapta/storage/delta_lake/__init__.py
similarity index 86%
rename from proteus/storage/database/models/__init__.py
rename to adapta/storage/delta_lake/__init__.py
index 4f978f48..e529a9aa 100644
--- a/proteus/storage/database/models/__init__.py
+++ b/adapta/storage/delta_lake/__init__.py
@@ -16,4 +16,5 @@
 #  limitations under the License.
 #
 
-from proteus.storage.database.models._models import *
+from adapta.storage.delta_lake._functions import *
+from adapta.storage.delta_lake._models import *
diff --git a/proteus/storage/delta_lake/_functions.py b/adapta/storage/delta_lake/_functions.py
similarity index 89%
rename from proteus/storage/delta_lake/_functions.py
rename to adapta/storage/delta_lake/_functions.py
index 8055ead3..fc9d8acc 100644
--- a/proteus/storage/delta_lake/_functions.py
+++ b/adapta/storage/delta_lake/_functions.py
@@ -28,16 +28,16 @@
 from pyarrow._compute import Expression  # pylint: disable=E0611
 from pyarrow._dataset_parquet import ParquetReadOptions  # pylint: disable=E0611
 
-from proteus.logs import ProteusLogger
-from proteus.security.clients._base import ProteusClient
-from proteus.storage.models.base import DataPath
-from proteus.storage.delta_lake._models import DeltaTransaction
-from proteus.storage.cache import KeyValueCache
-from proteus.storage.models.format import DataFrameParquetSerializationFormat
+from adapta.logs import SemanticLogger
+from adapta.security.clients._base import AuthenticationClient
+from adapta.storage.models.base import DataPath
+from adapta.storage.delta_lake._models import DeltaTransaction
+from adapta.storage.cache import KeyValueCache
+from adapta.storage.models.format import DataFrameParquetSerializationFormat
 
 
 def load(  # pylint: disable=R0913
-    proteus_client: ProteusClient,
+    auth_client: AuthenticationClient,
     path: DataPath,
     version: Optional[int] = None,
     row_filter: Optional[Expression] = None,
@@ -48,7 +48,7 @@ def load(  # pylint: disable=R0913
     """
      Loads Delta Lake table from Azure storage and converts it to a pandas dataframe.
 
-    :param proteus_client: ProteusClient for target storage.
+    :param auth_client: AuthenticationClient for target storage.
     :param path: Path to delta table, in HDFS format: abfss://container@account.dfs.core.windows.net/my/path
     :param version: Optional version to read. Defaults to latest.
     :param row_filter: Optional filter to apply, as pyarrow expression. Example:
@@ -66,14 +66,14 @@ def load(  # pylint: disable=R0913
 
     :return: A DeltaTable wrapped Rust class, pandas Dataframe or an iterator of pandas Dataframes, for batched reads.
     """
-    connection_options = proteus_client.connect_storage(path)
+    connection_options = auth_client.connect_storage(path)
 
     pyarrow_ds = DeltaTable(
         path.to_delta_rs_path(), version=version, storage_options=connection_options
     ).to_pyarrow_dataset(
         partitions=partition_filter_expressions,
         parquet_read_options=ParquetReadOptions(coerce_int96_timestamp_unit="ms"),
-        filesystem=proteus_client.get_pyarrow_filesystem(
+        filesystem=auth_client.get_pyarrow_filesystem(
             path, connection_options=connection_options
         ),
     )
@@ -91,18 +91,18 @@ def load(  # pylint: disable=R0913
 
 
 def history(
-    proteus_client: ProteusClient, path: DataPath, limit: Optional[int] = 1
+    auth_client: AuthenticationClient, path: DataPath, limit: Optional[int] = 1
 ) -> Iterable[DeltaTransaction]:
     """
       Returns transaction history for the table under path.
 
-    :param proteus_client: ProteusClient for target storage.
+    :param auth_client: AuthenticationClient for target storage.
     :param path: Path to delta table, in HDFS format: abfss://container@account.dfs.core.windows.net/my/path
     :param limit: Limit number of history records retrieved.
     :return: An iterable of Delta transactions for this table.
     """
     delta_table = DeltaTable(
-        path.to_delta_rs_path(), storage_options=proteus_client.connect_storage(path)
+        path.to_delta_rs_path(), storage_options=auth_client.connect_storage(path)
     )
 
     return [
@@ -111,7 +111,7 @@ def history(
 
 
 def get_cache_key(
-    proteus_client: ProteusClient,
+    auth_client: AuthenticationClient,
     path: DataPath,
     batch_size=1000,
     version: Optional[int] = None,
@@ -122,7 +122,7 @@ def get_cache_key(
     """
       Returns a cache key for the path and data read arguments
 
-    :param proteus_client: ProteusClient for target storage.
+    :param auth_client: AuthenticationClient for target storage.
     :param path: Path to delta table, in HDFS format: abfss://container@account.dfs.core.windows.net/my/path
     :param version: Optional version to read. Defaults to latest.
     :param row_filter: Optional filter to apply, as pyarrow expression. Example:
@@ -144,7 +144,7 @@ def get_cache_key(
     if version:
         base_attributes.append(str(version))
     else:
-        base_attributes.append(str(list(history(proteus_client, path))[0].timestamp))
+        base_attributes.append(str(list(history(auth_client, path))[0].timestamp))
 
     if row_filter is not None:
         base_attributes.append(str(row_filter))
@@ -161,7 +161,7 @@ def get_cache_key(
 
 
 def load_cached(  # pylint: disable=R0913
-    proteus_client: ProteusClient,
+    auth_client: AuthenticationClient,
     path: DataPath,
     cache: KeyValueCache,
     cache_expires_after: Optional[datetime.timedelta] = datetime.timedelta(hours=1),
@@ -170,13 +170,13 @@ def load_cached(  # pylint: disable=R0913
     row_filter: Optional[Expression] = None,
     columns: Optional[List[str]] = None,
     partition_filter_expressions: Optional[List[Tuple]] = None,
-    logger: Optional[ProteusLogger] = None,
+    logger: Optional[SemanticLogger] = None,
 ) -> pandas.DataFrame:
     """
      Loads Delta Lake table from an external cache and converts it to a single pandas dataframe (after applying column projections and row filters).
      If a cache entry is missing, falls back to reading data from storage path.
 
-    :param proteus_client: ProteusClient for target storage.
+    :param auth_client: AuthenticationClient for target storage.
     :param path: Path to delta table, in HDFS format: abfss://container@account.dfs.core.windows.net/my/path
     :param version: Optional version to read. Defaults to latest.
     :param row_filter: Optional filter to apply, as pyarrow expression. Example:
@@ -200,7 +200,7 @@ def load_cached(  # pylint: disable=R0913
     """
 
     cache_key = get_cache_key(
-        proteus_client=proteus_client,
+        auth_client=auth_client,
         path=path,
         batch_size=batch_size,
         version=version,
@@ -255,7 +255,7 @@ def load_cached(  # pylint: disable=R0913
         )
 
     data = load(
-        proteus_client=proteus_client,
+        auth_client=auth_client,
         path=path,
         version=version,
         row_filter=row_filter,
diff --git a/proteus/storage/delta_lake/_models.py b/adapta/storage/delta_lake/_models.py
similarity index 100%
rename from proteus/storage/delta_lake/_models.py
rename to adapta/storage/delta_lake/_models.py
diff --git a/proteus/storage/models/__init__.py b/adapta/storage/models/__init__.py
similarity index 100%
rename from proteus/storage/models/__init__.py
rename to adapta/storage/models/__init__.py
diff --git a/proteus/storage/models/azure.py b/adapta/storage/models/azure.py
similarity index 98%
rename from proteus/storage/models/azure.py
rename to adapta/storage/models/azure.py
index 5baf54a8..d38bf5e0 100644
--- a/proteus/storage/models/azure.py
+++ b/adapta/storage/models/azure.py
@@ -19,7 +19,7 @@
 from dataclasses import dataclass
 from typing import Union
 
-from proteus.storage.models.base import DataPath, DataProtocols
+from adapta.storage.models.base import DataPath, DataProtocols
 
 
 @dataclass
diff --git a/proteus/storage/models/base.py b/adapta/storage/models/base.py
similarity index 100%
rename from proteus/storage/models/base.py
rename to adapta/storage/models/base.py
diff --git a/proteus/storage/models/format.py b/adapta/storage/models/format.py
similarity index 100%
rename from proteus/storage/models/format.py
rename to adapta/storage/models/format.py
diff --git a/proteus/storage/models/hive.py b/adapta/storage/models/hive.py
similarity index 94%
rename from proteus/storage/models/hive.py
rename to adapta/storage/models/hive.py
index 9408cd61..cac0808f 100644
--- a/proteus/storage/models/hive.py
+++ b/adapta/storage/models/hive.py
@@ -20,10 +20,10 @@
 from dataclasses import dataclass
 from typing import Optional
 
-from proteus.storage.database.azure_sql import AzureSqlClient
-from proteus.storage.models.base import DataPath, DataProtocols
-from proteus.storage.database.models import DatabaseType
-from proteus.logs import ProteusLogger
+from adapta.storage.database.azure_sql import AzureSqlClient
+from adapta.storage.models.base import DataPath, DataProtocols
+from adapta.storage.database.models import DatabaseType
+from adapta.logs import SemanticLogger
 
 
 @dataclass
@@ -103,11 +103,11 @@ def to_hdfs_path(self) -> str:
         self._check_path()
         return f"{self.protocol}://{self.hive_engine}@{self.hive_server}:{self.hive_server_port}/{self.path}"
 
-    def get_physical_path(self, logger: ProteusLogger) -> Optional[str]:
+    def get_physical_path(self, logger: SemanticLogger) -> Optional[str]:
         """
          Converts this virtual HivePath to a physical HDFS path.
 
-        :param logger: Proteus logger for SQL client.
+        :param logger: CompositeLogger for SQL client.
         :return: Valid HDFS path for the hive entity.
         """
         if self.hive_engine == "sqlserver":
diff --git a/proteus/storage/models/local.py b/adapta/storage/models/local.py
similarity index 95%
rename from proteus/storage/models/local.py
rename to adapta/storage/models/local.py
index 9eb15afb..4bc34920 100644
--- a/proteus/storage/models/local.py
+++ b/adapta/storage/models/local.py
@@ -18,7 +18,7 @@
 
 from dataclasses import dataclass
 
-from proteus.storage.models.base import DataPath, DataProtocols
+from adapta.storage.models.base import DataPath, DataProtocols
 
 
 @dataclass
diff --git a/proteus/storage/secrets/README.md b/adapta/storage/secrets/README.md
similarity index 75%
rename from proteus/storage/secrets/README.md
rename to adapta/storage/secrets/README.md
index 69fe6890..a86bde14 100644
--- a/proteus/storage/secrets/README.md
+++ b/adapta/storage/secrets/README.md
@@ -7,8 +7,8 @@ Supported API:
 ## Example usage
 
 ```python
-from proteus.security.clients import AzureClient
-from proteus.storage.secrets.azure_secret_client import AzureSecretStorageClient
+from adapta.security.clients import AzureClient
+from adapta.storage.secrets.azure_secret_client import AzureSecretStorageClient
 
 azure_client = AzureClient(subscription_id='test')
 azure_secrets = AzureSecretStorageClient(base_client=azure_client)
diff --git a/proteus/storage/secrets/__init__.py b/adapta/storage/secrets/__init__.py
similarity index 93%
rename from proteus/storage/secrets/__init__.py
rename to adapta/storage/secrets/__init__.py
index b43c1ec1..5232692b 100644
--- a/proteus/storage/secrets/__init__.py
+++ b/adapta/storage/secrets/__init__.py
@@ -17,4 +17,4 @@
 #  limitations under the License.
 #
 
-from proteus.storage.secrets._base import *
+from adapta.storage.secrets._base import *
diff --git a/proteus/storage/secrets/_base.py b/adapta/storage/secrets/_base.py
similarity index 94%
rename from proteus/storage/secrets/_base.py
rename to adapta/storage/secrets/_base.py
index 3934f2b2..9548d6ce 100644
--- a/proteus/storage/secrets/_base.py
+++ b/adapta/storage/secrets/_base.py
@@ -20,7 +20,7 @@
 from abc import ABC, abstractmethod
 from typing import Union, Dict, Iterable, Any
 
-from proteus.security.clients import ProteusClient
+from adapta.security.clients import AuthenticationClient
 
 
 class SecretStorageClient(ABC):
@@ -28,7 +28,7 @@ class SecretStorageClient(ABC):
     Base secret storage operations for all backends.
     """
 
-    def __init__(self, *, base_client: ProteusClient):
+    def __init__(self, *, base_client: AuthenticationClient):
         self._base_client = base_client
 
     @abstractmethod
diff --git a/proteus/storage/secrets/azure_secret_client.py b/adapta/storage/secrets/azure_secret_client.py
similarity index 95%
rename from proteus/storage/secrets/azure_secret_client.py
rename to adapta/storage/secrets/azure_secret_client.py
index 293078f8..db3f27e2 100644
--- a/proteus/storage/secrets/azure_secret_client.py
+++ b/adapta/storage/secrets/azure_secret_client.py
@@ -21,8 +21,8 @@
 
 from azure.keyvault.secrets import SecretClient
 
-from proteus.storage.secrets import SecretStorageClient
-from proteus.security.clients import AzureClient
+from adapta.storage.secrets import SecretStorageClient
+from adapta.security.clients import AzureClient
 
 
 class AzureSecretStorageClient(SecretStorageClient):
diff --git a/proteus/storage/secrets/hashicorp_vault_secret_storage_client.py b/adapta/storage/secrets/hashicorp_vault_secret_storage_client.py
similarity index 92%
rename from proteus/storage/secrets/hashicorp_vault_secret_storage_client.py
rename to adapta/storage/secrets/hashicorp_vault_secret_storage_client.py
index 061f6728..eb68e934 100644
--- a/proteus/storage/secrets/hashicorp_vault_secret_storage_client.py
+++ b/adapta/storage/secrets/hashicorp_vault_secret_storage_client.py
@@ -20,8 +20,8 @@
 
 import hvac
 
-from proteus.security.clients import ProteusClient, HashicorpVaultClient
-from proteus.storage.secrets import SecretStorageClient
+from adapta.security.clients import AuthenticationClient, HashicorpVaultClient
+from adapta.storage.secrets import SecretStorageClient
 
 
 class HashicorpSecretStorageClient(SecretStorageClient):
@@ -29,7 +29,7 @@ class HashicorpSecretStorageClient(SecretStorageClient):
     Hashicorp vault client.
     """
 
-    def __init__(self, *, base_client: ProteusClient, role: str = "default"):
+    def __init__(self, *, base_client: AuthenticationClient, role: str = "default"):
         """
         Creates new instance
         :param base_client: HashicorpVaultClient backing this client.
diff --git a/proteus/utils/__init__.py b/adapta/utils/__init__.py
similarity index 94%
rename from proteus/utils/__init__.py
rename to adapta/utils/__init__.py
index 6e68f1f6..a1252896 100644
--- a/proteus/utils/__init__.py
+++ b/adapta/utils/__init__.py
@@ -17,4 +17,4 @@
 #  limitations under the License.
 #
 
-from proteus.utils._common import *
+from adapta.utils._common import *
diff --git a/proteus/utils/_common.py b/adapta/utils/_common.py
similarity index 100%
rename from proteus/utils/_common.py
rename to adapta/utils/_common.py
diff --git a/proteus/utils/concurrent_task_runner.py b/adapta/utils/concurrent_task_runner.py
similarity index 100%
rename from proteus/utils/concurrent_task_runner.py
rename to adapta/utils/concurrent_task_runner.py
diff --git a/poetry.lock b/poetry.lock
index 8217225f..2a170a44 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -1,4 +1,4 @@
-# This file is automatically @generated by Poetry and should not be changed by hand.
+# This file is automatically @generated by Poetry 1.4.0 and should not be changed by hand.
 
 [[package]]
 name = "adal"
@@ -739,23 +739,23 @@ files = [
 cffi = ">=1.12"
 
 [package.extras]
-docs = ["sphinx (>=1.6.5,!=1.8.0,!=3.1.0,!=3.1.1)", "sphinx_rtd_theme"]
+docs = ["sphinx (>=1.6.5,!=1.8.0,!=3.1.0,!=3.1.1)", "sphinx-rtd-theme"]
 docstest = ["pyenchant (>=1.6.11)", "sphinxcontrib-spelling (>=4.0.1)", "twine (>=1.12.0)"]
 pep8test = ["black", "flake8", "flake8-import-order", "pep8-naming"]
-sdist = ["setuptools_rust (>=0.11.4)"]
+sdist = ["setuptools-rust (>=0.11.4)"]
 ssh = ["bcrypt (>=3.1.5)"]
 test = ["hypothesis (>=1.11.4,!=3.79.2)", "iso8601", "pretend", "pytest (>=6.2.0)", "pytest-cov", "pytest-subtests", "pytest-xdist", "pytz"]
 
 [[package]]
 name = "databricks-cli"
-version = "0.17.4"
+version = "0.17.5"
 description = "A command line interface for Databricks"
 category = "main"
 optional = true
 python-versions = "*"
 files = [
-    {file = "databricks-cli-0.17.4.tar.gz", hash = "sha256:bc0c4dd082f033cb6d7978cacaca5261698efe3a4c70f52f98762c38db925ce0"},
-    {file = "databricks_cli-0.17.4-py2-none-any.whl", hash = "sha256:bbd57bc21c88ac6d1f8f0b250db986e500490c4d3cb69664229384632eaeed81"},
+    {file = "databricks-cli-0.17.5.tar.gz", hash = "sha256:4cd1c3b152d943db318371139de60f287659cfe938cbf3c31cdd8d5b1925f7c3"},
+    {file = "databricks_cli-0.17.5-py2-none-any.whl", hash = "sha256:70e0dec96c05046a28dbff70c44e85ab17cbf639393a490b3b189fd9a83eda14"},
 ]
 
 [package.dependencies]
@@ -1520,8 +1520,8 @@ files = [
 [package.dependencies]
 msal = ">=0.4.1,<2.0.0"
 portalocker = [
-    {version = ">=1.6,<3", markers = "python_version >= \"3.5\" and platform_system == \"Windows\""},
     {version = ">=1.0,<3", markers = "python_version >= \"3.5\" and platform_system != \"Windows\""},
+    {version = ">=1.6,<3", markers = "python_version >= \"3.5\" and platform_system == \"Windows\""},
 ]
 
 [[package]]
@@ -1822,25 +1822,25 @@ tests = ["pytest (>=5.4.1)", "pytest-cov (>=2.8.1)", "pytest-mypy (>=0.8.0)", "p
 
 [[package]]
 name = "protobuf"
-version = "4.22.0"
+version = "4.22.1"
 description = ""
 category = "main"
 optional = true
 python-versions = ">=3.7"
 files = [
-    {file = "protobuf-4.22.0-cp310-abi3-win32.whl", hash = "sha256:b2fea9dc8e3c0f32c38124790ef16cba2ee0628fe2022a52e435e1117bfef9b1"},
-    {file = "protobuf-4.22.0-cp310-abi3-win_amd64.whl", hash = "sha256:a33a273d21852f911b8bda47f39f4383fe7c061eb1814db2c76c9875c89c2491"},
-    {file = "protobuf-4.22.0-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:e894e9ae603e963f0842498c4cd5d39c6a60f0d7e4c103df50ee939564298658"},
-    {file = "protobuf-4.22.0-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:7c535d126e7dcc714105ab20b418c4fedbd28f8b8afc42b7350b1e317bbbcc71"},
-    {file = "protobuf-4.22.0-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:86c3d20428b007537ba6792b475c0853bba7f66b1f60e610d913b77d94b486e4"},
-    {file = "protobuf-4.22.0-cp37-cp37m-win32.whl", hash = "sha256:1669cb7524221a8e2d9008d0842453dbefdd0fcdd64d67672f657244867635fb"},
-    {file = "protobuf-4.22.0-cp37-cp37m-win_amd64.whl", hash = "sha256:ab4d043865dd04e6b09386981fe8f80b39a1e46139fb4a3c206229d6b9f36ff6"},
-    {file = "protobuf-4.22.0-cp38-cp38-win32.whl", hash = "sha256:29288813aacaa302afa2381db1d6e0482165737b0afdf2811df5fa99185c457b"},
-    {file = "protobuf-4.22.0-cp38-cp38-win_amd64.whl", hash = "sha256:e474b63bab0a2ea32a7b26a4d8eec59e33e709321e5e16fb66e766b61b82a95e"},
-    {file = "protobuf-4.22.0-cp39-cp39-win32.whl", hash = "sha256:47d31bdf58222dd296976aa1646c68c6ee80b96d22e0a3c336c9174e253fd35e"},
-    {file = "protobuf-4.22.0-cp39-cp39-win_amd64.whl", hash = "sha256:c27f371f0159feb70e6ea52ed7e768b3f3a4c5676c1900a7e51a24740381650e"},
-    {file = "protobuf-4.22.0-py3-none-any.whl", hash = "sha256:c3325803095fb4c2a48649c321d2fbde59f8fbfcb9bfc7a86df27d112831c571"},
-    {file = "protobuf-4.22.0.tar.gz", hash = "sha256:652d8dfece122a24d98eebfef30e31e455d300efa41999d1182e015984ac5930"},
+    {file = "protobuf-4.22.1-cp310-abi3-win32.whl", hash = "sha256:85aa9acc5a777adc0c21b449dafbc40d9a0b6413ff3a4f77ef9df194be7f975b"},
+    {file = "protobuf-4.22.1-cp310-abi3-win_amd64.whl", hash = "sha256:8bc971d76c03f1dd49f18115b002254f2ddb2d4b143c583bb860b796bb0d399e"},
+    {file = "protobuf-4.22.1-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:5917412347e1da08ce2939eb5cd60650dfb1a9ab4606a415b9278a1041fb4d19"},
+    {file = "protobuf-4.22.1-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:9e12e2810e7d297dbce3c129ae5e912ffd94240b050d33f9ecf023f35563b14f"},
+    {file = "protobuf-4.22.1-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:953fc7904ef46900262a26374b28c2864610b60cdc8b272f864e22143f8373c4"},
+    {file = "protobuf-4.22.1-cp37-cp37m-win32.whl", hash = "sha256:6e100f7bc787cd0a0ae58dbf0ab8bbf1ee7953f862b89148b6cf5436d5e9eaa1"},
+    {file = "protobuf-4.22.1-cp37-cp37m-win_amd64.whl", hash = "sha256:87a6393fa634f294bf24d1cfe9fdd6bb605cbc247af81b9b10c4c0f12dfce4b3"},
+    {file = "protobuf-4.22.1-cp38-cp38-win32.whl", hash = "sha256:e3fb58076bdb550e75db06ace2a8b3879d4c4f7ec9dd86e4254656118f4a78d7"},
+    {file = "protobuf-4.22.1-cp38-cp38-win_amd64.whl", hash = "sha256:651113695bc2e5678b799ee5d906b5d3613f4ccfa61b12252cfceb6404558af0"},
+    {file = "protobuf-4.22.1-cp39-cp39-win32.whl", hash = "sha256:67b7d19da0fda2733702c2299fd1ef6cb4b3d99f09263eacaf1aa151d9d05f02"},
+    {file = "protobuf-4.22.1-cp39-cp39-win_amd64.whl", hash = "sha256:b8700792f88e59ccecfa246fa48f689d6eee6900eddd486cdae908ff706c482b"},
+    {file = "protobuf-4.22.1-py3-none-any.whl", hash = "sha256:3e19dcf4adbf608924d3486ece469dd4f4f2cf7d2649900f0efcd1a84e8fd3ba"},
+    {file = "protobuf-4.22.1.tar.gz", hash = "sha256:dce7a55d501c31ecf688adb2f6c3f763cf11bc0be815d1946a84d74772ab07a7"},
 ]
 
 [[package]]
@@ -1943,18 +1943,18 @@ tests = ["coverage[toml] (==5.0.4)", "pytest (>=6.0.0,<7.0.0)"]
 
 [[package]]
 name = "pylint"
-version = "2.16.4"
+version = "2.17.0"
 description = "python code static checker"
 category = "dev"
 optional = false
 python-versions = ">=3.7.2"
 files = [
-    {file = "pylint-2.16.4-py3-none-any.whl", hash = "sha256:4a770bb74fde0550fa0ab4248a2ad04e7887462f9f425baa0cd8d3c1d098eaee"},
-    {file = "pylint-2.16.4.tar.gz", hash = "sha256:8841f26a0dbc3503631b6a20ee368b3f5e0e5461a1d95cf15d103dab748a0db3"},
+    {file = "pylint-2.17.0-py3-none-any.whl", hash = "sha256:e097d8325f8c88e14ad12844e3fe2d963d3de871ea9a8f8ad25ab1c109889ddc"},
+    {file = "pylint-2.17.0.tar.gz", hash = "sha256:1460829b6397cb5eb0cdb0b4fc4b556348e515cdca32115f74a1eb7c20b896b4"},
 ]
 
 [package.dependencies]
-astroid = ">=2.14.2,<=2.16.0-dev0"
+astroid = ">=2.15.0,<=2.17.0-dev0"
 colorama = {version = ">=0.4.5", markers = "sys_platform == \"win32\""}
 dill = {version = ">=0.2", markers = "python_version < \"3.11\""}
 isort = ">=4.2.5,<6"
@@ -2265,14 +2265,14 @@ pyasn1 = ">=0.1.3"
 
 [[package]]
 name = "setuptools"
-version = "67.5.1"
+version = "67.6.0"
 description = "Easily download, build, install, upgrade, and uninstall Python packages"
 category = "main"
 optional = true
 python-versions = ">=3.7"
 files = [
-    {file = "setuptools-67.5.1-py3-none-any.whl", hash = "sha256:1c39d42bda4cb89f7fdcad52b6762e3c309ec8f8715b27c684176b7d71283242"},
-    {file = "setuptools-67.5.1.tar.gz", hash = "sha256:15136a251127da2d2e77ac7a1bc231eb504654f7e3346d93613a13f2e2787535"},
+    {file = "setuptools-67.6.0-py3-none-any.whl", hash = "sha256:b78aaa36f6b90a074c1fa651168723acbf45d14cb1196b6f02c0fd07f17623b2"},
+    {file = "setuptools-67.6.0.tar.gz", hash = "sha256:2ee892cd5f29f3373097f5a814697e397cf3ce313616df0af11231e2ad118077"},
 ]
 
 [package.extras]
@@ -2356,7 +2356,7 @@ files = [
 ]
 
 [package.dependencies]
-greenlet = {version = "!=0.4.17", markers = "python_version >= \"3\" and (platform_machine == \"aarch64\" or platform_machine == \"ppc64le\" or platform_machine == \"x86_64\" or platform_machine == \"amd64\" or platform_machine == \"AMD64\" or platform_machine == \"win32\" or platform_machine == \"WIN32\")"}
+greenlet = {version = "!=0.4.17", markers = "python_version >= \"3\" and platform_machine == \"aarch64\" or python_version >= \"3\" and platform_machine == \"ppc64le\" or python_version >= \"3\" and platform_machine == \"x86_64\" or python_version >= \"3\" and platform_machine == \"amd64\" or python_version >= \"3\" and platform_machine == \"AMD64\" or python_version >= \"3\" and platform_machine == \"win32\" or python_version >= \"3\" and platform_machine == \"WIN32\""}
 
 [package.extras]
 aiomysql = ["aiomysql", "greenlet (!=0.4.17)"]
@@ -2752,7 +2752,7 @@ docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker
 testing = ["big-O", "flake8 (<5)", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"]
 
 [extras]
-azure = ["azure-identity", "azure-storage-blob", "azure-mgmt-storage", "azure-keyvault-secrets", "azure-servicebus", "adlfs"]
+azure = ["adlfs", "azure-identity", "azure-keyvault-secrets", "azure-mgmt-storage", "azure-servicebus", "azure-storage-blob"]
 caching = ["redis"]
 databases = ["SQLAlchemy", "pyodbc"]
 datadog = ["datadog", "datadog-api-client", "kubernetes"]
diff --git a/proteus/storage/delta_lake/__init__.py b/proteus/storage/delta_lake/__init__.py
deleted file mode 100644
index a79f5bda..00000000
--- a/proteus/storage/delta_lake/__init__.py
+++ /dev/null
@@ -1,20 +0,0 @@
-"""
- Import index.
-"""
-#  Copyright (c) 2023. ECCO Sneaks & Data
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-#
-
-from proteus.storage.delta_lake._functions import *
-from proteus.storage.delta_lake._models import *
diff --git a/pyproject.toml b/pyproject.toml
index ab100ef3..370901c4 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,12 +1,12 @@
 [tool.poetry]
-name = "proteus"
+name = "adapta"
 version = "0.0.0"
 description = "Logging, data connectors, monitoring, secret handling and general lifehacks to make data people lives easier."
 authors = ["ECCO Sneaks & Data <esdsupport@ecco.com>"]
 maintainers = ['GZU <gzu@ecco.com>', 'JRB <ext-jrb@ecco.com>']
-license = 'Proprietary'
+license = 'Apache 2.0'
 readme = "README.md"
-repository = 'https://github.com/SneaksAndData/proteus'
+repository = 'https://github.com/SneaksAndData/adapta'
 
 [tool.poetry.dependencies]
 python = ">=3.9, <3.11"


Test patch:
diff --git a/tests/conftest.py b/tests/conftest.py
index c495886f..3a225e8c 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -17,19 +17,19 @@
 
 import pytest
 
-from proteus.logs.models import LogLevel
-from proteus.logs import ProteusLogger
-from proteus.storage.database.odbc import OdbcClient
-from proteus.storage.database.models import DatabaseType
+from adapta.logs.models import LogLevel
+from adapta.logs import SemanticLogger
+from adapta.storage.database.odbc import OdbcClient
+from adapta.storage.database.models import DatabaseType
 
 
 @pytest.fixture
 def sqlite():
-    proteus_logger = ProteusLogger().add_log_source(
+    c_logger = SemanticLogger().add_log_source(
         log_source_name="sqlite", min_log_level=LogLevel.INFO, is_default=True
     )
     return OdbcClient(
-        logger=proteus_logger,
+        logger=c_logger,
         database_type=DatabaseType.SQLITE_ODBC,
     )
 
diff --git a/tests/test_azure_storage_client.py b/tests/test_azure_storage_client.py
index 6171593b..df5eeedf 100644
--- a/tests/test_azure_storage_client.py
+++ b/tests/test_azure_storage_client.py
@@ -19,16 +19,16 @@
 
 from azure.storage.blob import BlobProperties
 
-from proteus.storage.blob.azure_storage_client import AzureStorageClient
-from proteus.storage.models.azure import AdlsGen2Path
-from proteus.security.clients import AzureClient
+from adapta.storage.blob.azure_storage_client import AzureStorageClient
+from adapta.storage.models.azure import AdlsGen2Path
+from adapta.security.clients import AzureClient
 
 
 @patch("azure.storage.blob._download.StorageStreamDownloader")
 @patch("azure.storage.blob.BlobClient")
 @patch("azure.storage.blob.ContainerClient")
 @patch("azure.storage.blob.BlobServiceClient")
-@patch("proteus.security.clients.AzureClient")
+@patch("adapta.security.clients.AzureClient")
 def test_download_blobs(
     mock_client: MagicMock,
     mock_blob_service_client: MagicMock,
diff --git a/tests/test_delta_history.py b/tests/test_delta_history.py
index 9f8c9824..1071491f 100644
--- a/tests/test_delta_history.py
+++ b/tests/test_delta_history.py
@@ -17,9 +17,9 @@
 
 import pytest
 
-from proteus.security.clients import LocalClient
-from proteus.storage.models.local import LocalPath
-from proteus.storage.delta_lake import history, DeltaOperation
+from adapta.security.clients import LocalClient
+from adapta.storage.models.local import LocalPath
+from adapta.storage.delta_lake import history, DeltaOperation
 
 
 @pytest.fixture
diff --git a/tests/test_delta_load.py b/tests/test_delta_load.py
index 67a13369..75028721 100644
--- a/tests/test_delta_load.py
+++ b/tests/test_delta_load.py
@@ -20,11 +20,11 @@
 import pandas
 import pytest
 
-from proteus.security.clients import LocalClient
-from proteus.storage.models.local import LocalPath
-from proteus.storage.delta_lake import load, load_cached, get_cache_key
-from proteus.storage.cache import KeyValueCache
-from proteus.storage.models.format import DataFrameParquetSerializationFormat
+from adapta.security.clients import LocalClient
+from adapta.storage.models.local import LocalPath
+from adapta.storage.delta_lake import load, load_cached, get_cache_key
+from adapta.storage.cache import KeyValueCache
+from adapta.storage.models.format import DataFrameParquetSerializationFormat
 
 from pyarrow.dataset import field as pyarrow_field
 
@@ -88,7 +88,7 @@ def test_delta_load_with_partitions(get_client_and_path_partitioned):
     assert table["colA"].to_list() == [1, 3]
 
 
-@patch("proteus.storage.cache.KeyValueCache")
+@patch("adapta.storage.cache.KeyValueCache")
 def test_delta_load_cached(mock_cache: MagicMock, get_client_and_path):
     client, data_path = get_client_and_path
 
@@ -112,7 +112,7 @@ def test_delta_load_cached(mock_cache: MagicMock, get_client_and_path):
     cache.get.assert_called_with(cache_key, is_map=True)
 
 
-@patch("proteus.storage.cache.KeyValueCache")
+@patch("adapta.storage.cache.KeyValueCache")
 def test_delta_populate_cache(mock_cache: MagicMock, get_client_and_path):
     client, data_path = get_client_and_path
 
diff --git a/tests/test_hive.py b/tests/test_hive.py
index 0b8f83e1..257315b2 100644
--- a/tests/test_hive.py
+++ b/tests/test_hive.py
@@ -13,7 +13,7 @@
 #  limitations under the License.
 #
 
-from proteus.storage.models.hive import HivePath
+from adapta.storage.models.hive import HivePath
 
 
 def test_from_hdfs_path():
diff --git a/tests/test_logs.py b/tests/test_logs.py
index b49ded72..b7d88ef7 100644
--- a/tests/test_logs.py
+++ b/tests/test_logs.py
@@ -30,9 +30,9 @@
 import requests
 from pytest_mock import MockerFixture
 
-from proteus.logs import ProteusLogger
-from proteus.logs.handlers.datadog_api_handler import DataDogApiHandler
-from proteus.logs.models import LogLevel
+from adapta.logs import SemanticLogger
+from adapta.logs.handlers.datadog_api_handler import DataDogApiHandler
+from adapta.logs.models import LogLevel
 
 EXPECTED_MESSAGE = "This a unit test logger 1, Fixed message1 this is a fixed message1, Fixed message2 this is a fixed message2\n"
 
@@ -84,7 +84,7 @@ def test_log_format(
 ):
     test_file_path = os.path.join(tempfile.gettempdir(), str(uuid.uuid4()))
     with open(test_file_path, "w") as log_stream:
-        stream_logger = ProteusLogger(
+        stream_logger = SemanticLogger(
             fixed_template={
                 "Fixed message1 {message1}": {"message1": "this is a fixed message1"},
                 "Fixed message2 {message2}": {"message2": "this is a fixed message2"},
@@ -117,13 +117,13 @@ def test_datadog_api_handler(mocker: MockerFixture):
     os.environ.setdefault("PROTEUS__DD_SITE", "some-site.dog")
 
     mocker.patch(
-        "proteus.logs.handlers.datadog_api_handler.DataDogApiHandler._flush",
+        "adapta.logs.handlers.datadog_api_handler.DataDogApiHandler._flush",
         return_value=None,
     )
     mock_handler = DataDogApiHandler(buffer_size=1)
     mock_source = str(uuid.uuid4())
 
-    dd_logger = ProteusLogger().add_log_source(
+    dd_logger = SemanticLogger().add_log_source(
         log_source_name=mock_source,
         min_log_level=LogLevel.INFO,
         log_handlers=[mock_handler],
@@ -156,9 +156,9 @@ def test_datadog_api_handler(mocker: MockerFixture):
     assert "tags" not in message
 
 
-def test_proteus_logger_replacement(mocker: MockerFixture, restore_logger_class):
+def test_adapta_logger_replacement(mocker: MockerFixture, restore_logger_class):
     mocker.patch(
-        "proteus.logs.handlers.datadog_api_handler.DataDogApiHandler._flush",
+        "adapta.logs.handlers.datadog_api_handler.DataDogApiHandler._flush",
         return_value=None,
     )
 
@@ -168,7 +168,7 @@ def test_proteus_logger_replacement(mocker: MockerFixture, restore_logger_class)
         "PROTEUS__DD_SITE": "some-site.dog",
     }
     with patch.dict(os.environ, mock_environment):
-        ProteusLogger().add_log_source(
+        SemanticLogger().add_log_source(
             log_source_name="urllib3",
             min_log_level=LogLevel.DEBUG,
             log_handlers=[DataDogApiHandler()],
@@ -187,7 +187,7 @@ def test_proteus_logger_replacement(mocker: MockerFixture, restore_logger_class)
 
 def test_log_level(mocker: MockerFixture, restore_logger_class):
     mocker.patch(
-        "proteus.logs.handlers.datadog_api_handler.DataDogApiHandler._flush",
+        "adapta.logs.handlers.datadog_api_handler.DataDogApiHandler._flush",
         return_value=None,
     )
 
@@ -197,7 +197,7 @@ def test_log_level(mocker: MockerFixture, restore_logger_class):
         "PROTEUS__DD_SITE": "some-site.dog",
     }
     with patch.dict(os.environ, mock_environment):
-        logger = ProteusLogger().add_log_source(
+        logger = SemanticLogger().add_log_source(
             log_source_name="test",
             min_log_level=LogLevel.INFO,
             log_handlers=[DataDogApiHandler()],
@@ -217,7 +217,7 @@ def test_log_level(mocker: MockerFixture, restore_logger_class):
 
 def test_fixed_template(mocker: MockerFixture, restore_logger_class):
     mocker.patch(
-        "proteus.logs.handlers.datadog_api_handler.DataDogApiHandler._flush",
+        "adapta.logs.handlers.datadog_api_handler.DataDogApiHandler._flush",
         return_value=None,
     )
 
@@ -227,7 +227,7 @@ def test_fixed_template(mocker: MockerFixture, restore_logger_class):
         "PROTEUS__DD_SITE": "some-site.dog",
     }
     with patch.dict(os.environ, mock_environment):
-        logger = ProteusLogger(
+        logger = SemanticLogger(
             fixed_template={
                 "running with job id {job_id} on {owner}": {
                     "job_id": "my_job_id",
diff --git a/tests/test_process_communication.py b/tests/test_process_communication.py
index a63f3f45..359c0bc5 100644
--- a/tests/test_process_communication.py
+++ b/tests/test_process_communication.py
@@ -18,10 +18,10 @@
 
 import pytest
 
-from proteus.process_communication import DataSocket
-from proteus.storage.models.azure import AdlsGen2Path
-from proteus.storage.models.base import DataPath
-from proteus.storage.models.local import LocalPath
+from adapta.process_communication import DataSocket
+from adapta.storage.models.azure import AdlsGen2Path
+from adapta.storage.models.base import DataPath
+from adapta.storage.models.local import LocalPath
 
 
 @pytest.mark.parametrize(
diff --git a/tests/test_safe_stream_handler.py b/tests/test_safe_stream_handler.py
index 7e48abb1..ea108d3b 100644
--- a/tests/test_safe_stream_handler.py
+++ b/tests/test_safe_stream_handler.py
@@ -15,7 +15,7 @@
 
 import sys
 
-from proteus.logs.handlers.safe_stream_handler import SafeStreamHandler
+from adapta.logs.handlers.safe_stream_handler import SafeStreamHandler
 
 
 def test_does_not_close_stderr():
diff --git a/tests/test_serialization_format.py b/tests/test_serialization_format.py
index 7d6c83a5..079cb72d 100644
--- a/tests/test_serialization_format.py
+++ b/tests/test_serialization_format.py
@@ -16,7 +16,7 @@
 import pytest
 from typing import Type
 import pandas
-from proteus.storage.models.format import (
+from adapta.storage.models.format import (
     DictJsonSerializationFormat,
     SerializationFormat,
     DataFrameParquetSerializationFormat,
diff --git a/tests/test_storage_databases_odbc.py b/tests/test_storage_databases_odbc.py
index 5922c19a..ec0ccfba 100644
--- a/tests/test_storage_databases_odbc.py
+++ b/tests/test_storage_databases_odbc.py
@@ -14,7 +14,7 @@
 #
 
 import pandas
-from proteus.storage.database.odbc import OdbcClient
+from adapta.storage.database.odbc import OdbcClient
 
 
 def sku_data():
diff --git a/tests/test_utils.py b/tests/test_utils.py
index b53d03d3..75f53201 100644
--- a/tests/test_utils.py
+++ b/tests/test_utils.py
@@ -17,8 +17,8 @@
 from typing import List, Any, Dict
 
 import pytest
-from proteus.utils import doze, operation_time, chunk_list
-from proteus.utils.concurrent_task_runner import Executable, ConcurrentTaskRunner
+from adapta.utils import doze, operation_time, chunk_list
+from adapta.utils.concurrent_task_runner import Executable, ConcurrentTaskRunner
 
 
 @pytest.mark.parametrize("sleep_period,doze_interval", [(1, 50), (2, 10)])
diff --git a/tests/test_vault_client.py b/tests/test_vault_client.py
index e5d6499d..3b232440 100644
--- a/tests/test_vault_client.py
+++ b/tests/test_vault_client.py
@@ -17,11 +17,11 @@
 
 import pytest
 
-from proteus.security.clients import HashicorpVaultClient, HashicorpVaultOidcClient
-from proteus.security.clients.hashicorp_vault.kubernetes_client import (
+from adapta.security.clients import HashicorpVaultClient, HashicorpVaultOidcClient
+from adapta.security.clients.hashicorp_vault.kubernetes_client import (
     HashicorpVaultKubernetesClient,
 )
-from proteus.storage.secrets.hashicorp_vault_secret_storage_client import (
+from adapta.storage.secrets.hashicorp_vault_secret_storage_client import (
     HashicorpSecretStorageClient,
 )
 
@@ -63,7 +63,7 @@ def test_read_secret_with_mock():
     with patch(
         "hvac.Client", MagicMock(return_value=generate_hashicorp_vault_mock())
     ), patch("webbrowser.open"), patch(
-        "proteus.security.clients.hashicorp_vault.oidc_client._get_vault_credentials"
+        "adapta.security.clients.hashicorp_vault.oidc_client._get_vault_credentials"
     ):
         client = HashicorpSecretStorageClient(
             base_client=HashicorpVaultOidcClient(TEST_VAULT_ADDRESS)
@@ -78,7 +78,7 @@ def test_create_secret_with_mock():
     with patch("hvac.Client", MagicMock(return_value=client_mock)), patch(
         "webbrowser.open"
     ), patch(
-        "proteus.security.clients.hashicorp_vault.oidc_client._get_vault_credentials"
+        "adapta.security.clients.hashicorp_vault.oidc_client._get_vault_credentials"
     ):
         client = HashicorpSecretStorageClient(
             base_client=HashicorpVaultOidcClient(TEST_VAULT_ADDRESS)
@@ -96,7 +96,7 @@ def test_string_secret():
     with patch("hvac.Client", MagicMock(return_value=client_mock)), patch(
         "webbrowser.open"
     ), patch(
-        "proteus.security.clients.hashicorp_vault.oidc_client._get_vault_credentials"
+        "adapta.security.clients.hashicorp_vault.oidc_client._get_vault_credentials"
     ):
         client = HashicorpSecretStorageClient(
             base_client=HashicorpVaultOidcClient(TEST_VAULT_ADDRESS)