diff --git a/adapta/__init__.py b/adapta/__init__.py index 1dd0b97e..dcd4a04d 100644 --- a/adapta/__init__.py +++ b/adapta/__init__.py @@ -2,7 +2,7 @@ Global index. """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/_version.py b/adapta/_version.py index 7a88c2ca..bde49456 100644 --- a/adapta/_version.py +++ b/adapta/_version.py @@ -2,7 +2,7 @@ Package version. """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/connectors/__init__.py b/adapta/connectors/__init__.py index f324c186..3fd0044a 100644 --- a/adapta/connectors/__init__.py +++ b/adapta/connectors/__init__.py @@ -1,4 +1,4 @@ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/connectors/service_bus/__init__.py b/adapta/connectors/service_bus/__init__.py index c2df0bae..a8da2965 100644 --- a/adapta/connectors/service_bus/__init__.py +++ b/adapta/connectors/service_bus/__init__.py @@ -1,6 +1,6 @@ """init file""" -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/connectors/service_bus/_connector.py b/adapta/connectors/service_bus/_connector.py index f453d832..25a64bb9 100644 --- a/adapta/connectors/service_bus/_connector.py +++ b/adapta/connectors/service_bus/_connector.py @@ -1,7 +1,7 @@ """ Connector for Azure Service Bus. """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/logs/__init__.py b/adapta/logs/__init__.py index 15a49ef3..5fb365b8 100644 --- a/adapta/logs/__init__.py +++ b/adapta/logs/__init__.py @@ -1,7 +1,7 @@ """ Module index. """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/logs/_async_logger.py b/adapta/logs/_async_logger.py index 6d7e53b4..06243fb2 100644 --- a/adapta/logs/_async_logger.py +++ b/adapta/logs/_async_logger.py @@ -1,7 +1,7 @@ """ Asyncio-safe implementation of a Semantic Logger. """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. @@ -125,13 +125,25 @@ def debug( template=template, logger=self._logger, tags=tags, exception=exception, diagnostics=diagnostics, **kwargs ) - def __enter__(self): + def start(self): + """ + Starts the async listener. + """ self._listener = QueueListener(self._logger_message_queue, *self._log_handlers, respect_handler_level=True) self._listener.start() + + def stop(self): + """ + Stops the async listener and flushes the buffer out to all handlers. + """ + self._listener.stop() + + def __enter__(self): + self.start() return self def __exit__(self, exc_type, exc_val, exc_tb): - self._listener.stop() + self.stop() def create_async_logger( diff --git a/adapta/logs/_base.py b/adapta/logs/_base.py index 28250608..62d7a3e2 100644 --- a/adapta/logs/_base.py +++ b/adapta/logs/_base.py @@ -1,7 +1,7 @@ """ Adapta Logging Interface. """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/logs/_internal.py b/adapta/logs/_internal.py index 32dca2f8..101df9a1 100644 --- a/adapta/logs/_internal.py +++ b/adapta/logs/_internal.py @@ -1,5 +1,5 @@ """Classes for internal use by `adapta.logs` module. Should not be imported outside this module""" -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/logs/_internal_logger.py b/adapta/logs/_internal_logger.py index a4589e9f..d4821f75 100644 --- a/adapta/logs/_internal_logger.py +++ b/adapta/logs/_internal_logger.py @@ -1,7 +1,7 @@ """ Shared functionality for the MetadataLogger enricher implementations. """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/logs/handlers/__init__.py b/adapta/logs/handlers/__init__.py index f324c186..3fd0044a 100644 --- a/adapta/logs/handlers/__init__.py +++ b/adapta/logs/handlers/__init__.py @@ -1,4 +1,4 @@ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/logs/handlers/datadog_api_handler.py b/adapta/logs/handlers/datadog_api_handler.py index d582b5f4..4db937ab 100644 --- a/adapta/logs/handlers/datadog_api_handler.py +++ b/adapta/logs/handlers/datadog_api_handler.py @@ -1,7 +1,7 @@ """ Logging handler for DataDog. """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/logs/handlers/safe_stream_handler.py b/adapta/logs/handlers/safe_stream_handler.py index 5da3e723..7e9745a0 100644 --- a/adapta/logs/handlers/safe_stream_handler.py +++ b/adapta/logs/handlers/safe_stream_handler.py @@ -1,7 +1,7 @@ """ Logging handler for Stdout that does not create duplicates if stdout redirection is used """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/logs/models/__init__.py b/adapta/logs/models/__init__.py index 3d940533..02bc93b7 100644 --- a/adapta/logs/models/__init__.py +++ b/adapta/logs/models/__init__.py @@ -2,7 +2,7 @@ Module index. """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/logs/models/_log_level.py b/adapta/logs/models/_log_level.py index c0e44878..08f93b08 100644 --- a/adapta/logs/models/_log_level.py +++ b/adapta/logs/models/_log_level.py @@ -1,7 +1,7 @@ """ Standard log levels. """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/logs/models/_logs_metadata.py b/adapta/logs/models/_logs_metadata.py index c5991c79..d31c74c8 100644 --- a/adapta/logs/models/_logs_metadata.py +++ b/adapta/logs/models/_logs_metadata.py @@ -2,7 +2,7 @@ Models for log messages """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/metrics/__init__.py b/adapta/metrics/__init__.py index 7c13b591..7134a005 100644 --- a/adapta/metrics/__init__.py +++ b/adapta/metrics/__init__.py @@ -2,7 +2,7 @@ Import index. """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/metrics/_base.py b/adapta/metrics/_base.py index ade25b60..676c9286 100644 --- a/adapta/metrics/_base.py +++ b/adapta/metrics/_base.py @@ -1,7 +1,7 @@ """ Metrics integration abstraction. """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/metrics/providers/__init__.py b/adapta/metrics/providers/__init__.py index f324c186..3fd0044a 100644 --- a/adapta/metrics/providers/__init__.py +++ b/adapta/metrics/providers/__init__.py @@ -1,4 +1,4 @@ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/metrics/providers/datadog_provider.py b/adapta/metrics/providers/datadog_provider.py index 26bd10d4..b59c0aef 100644 --- a/adapta/metrics/providers/datadog_provider.py +++ b/adapta/metrics/providers/datadog_provider.py @@ -1,7 +1,7 @@ """ Implementation of a metrics provider for Datadog. """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/ml/__init__.py b/adapta/ml/__init__.py index f3392852..d1dfe026 100644 --- a/adapta/ml/__init__.py +++ b/adapta/ml/__init__.py @@ -1,7 +1,7 @@ """ Import index. """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/ml/_model.py b/adapta/ml/_model.py index 0aa4aa79..55e5ae02 100644 --- a/adapta/ml/_model.py +++ b/adapta/ml/_model.py @@ -1,5 +1,5 @@ """Machine learning model module""" -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/ml/mlflow/__init__.py b/adapta/ml/mlflow/__init__.py index 68e76e1b..36342955 100644 --- a/adapta/ml/mlflow/__init__.py +++ b/adapta/ml/mlflow/__init__.py @@ -1,5 +1,5 @@ """Import index""" -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/ml/mlflow/_client.py b/adapta/ml/mlflow/_client.py index 2c07236a..01cd30cd 100644 --- a/adapta/ml/mlflow/_client.py +++ b/adapta/ml/mlflow/_client.py @@ -1,7 +1,7 @@ """ Thin wrapper for Mlflow operations. """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/ml/mlflow/_functions.py b/adapta/ml/mlflow/_functions.py index 16961c6c..6f5d4acb 100644 --- a/adapta/ml/mlflow/_functions.py +++ b/adapta/ml/mlflow/_functions.py @@ -1,5 +1,5 @@ """Mlflow python model module""" -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/process_communication/__init__.py b/adapta/process_communication/__init__.py index 57e1ecc1..dbf9324c 100644 --- a/adapta/process_communication/__init__.py +++ b/adapta/process_communication/__init__.py @@ -2,7 +2,7 @@ Import index. """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/process_communication/_models.py b/adapta/process_communication/_models.py index 7594014d..e3b04590 100644 --- a/adapta/process_communication/_models.py +++ b/adapta/process_communication/_models.py @@ -1,7 +1,7 @@ """ Models used for inter-process communication in data processing applications. """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. @@ -21,6 +21,7 @@ from dataclasses_json import DataClassJsonMixin +from adapta.storage.models import parse_data_path from adapta.storage.models.astra import AstraPath from adapta.storage.models.base import DataPath from adapta.storage.models.azure import AdlsGen2Path, WasbPath @@ -61,13 +62,7 @@ def parse_data_path( :return: """ - for candidate in candidates: - try: - return candidate.from_hdfs_path(self.data_path) - except: # pylint: disable=W0702 - continue - - return None + return parse_data_path(self.data_path, candidates=candidates) def serialize(self) -> str: """ diff --git a/adapta/schema_management/__init__.py b/adapta/schema_management/__init__.py index f324c186..3fd0044a 100644 --- a/adapta/schema_management/__init__.py +++ b/adapta/schema_management/__init__.py @@ -1,4 +1,4 @@ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/schema_management/schema_entity.py b/adapta/schema_management/schema_entity.py index 8a48b6dc..e00a28af 100644 --- a/adapta/schema_management/schema_entity.py +++ b/adapta/schema_management/schema_entity.py @@ -1,4 +1,4 @@ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/security/__init__.py b/adapta/security/__init__.py index f324c186..3fd0044a 100644 --- a/adapta/security/__init__.py +++ b/adapta/security/__init__.py @@ -1,4 +1,4 @@ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/security/clients/__init__.py b/adapta/security/clients/__init__.py index 54ee0ee0..772df2ec 100644 --- a/adapta/security/clients/__init__.py +++ b/adapta/security/clients/__init__.py @@ -2,7 +2,7 @@ Import index. """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/security/clients/_azure_client.py b/adapta/security/clients/_azure_client.py index e69d4fff..630c299e 100644 --- a/adapta/security/clients/_azure_client.py +++ b/adapta/security/clients/_azure_client.py @@ -1,7 +1,7 @@ """ Azure Cloud implementation of AuthenticationClient. """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/security/clients/_base.py b/adapta/security/clients/_base.py index 2db53b0b..456c8fdc 100644 --- a/adapta/security/clients/_base.py +++ b/adapta/security/clients/_base.py @@ -1,7 +1,7 @@ """ Base client for all infrastructure providers. """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/security/clients/_local_client.py b/adapta/security/clients/_local_client.py index 1a6dae13..18595d29 100644 --- a/adapta/security/clients/_local_client.py +++ b/adapta/security/clients/_local_client.py @@ -1,7 +1,7 @@ """ Client representing Local infrastructure. Mainly used for unit tests. """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/security/clients/aws/__init__.py b/adapta/security/clients/aws/__init__.py index 2ce2504e..1863138b 100644 --- a/adapta/security/clients/aws/__init__.py +++ b/adapta/security/clients/aws/__init__.py @@ -1,7 +1,7 @@ """ Import index """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/security/clients/aws/_aws_client.py b/adapta/security/clients/aws/_aws_client.py index ce47371b..4ad02433 100644 --- a/adapta/security/clients/aws/_aws_client.py +++ b/adapta/security/clients/aws/_aws_client.py @@ -1,7 +1,7 @@ """ Amazon Web Services implementation of AuthenticationClient. """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/security/clients/aws/_aws_credentials.py b/adapta/security/clients/aws/_aws_credentials.py index 6d4f54c1..be0fb871 100644 --- a/adapta/security/clients/aws/_aws_credentials.py +++ b/adapta/security/clients/aws/_aws_credentials.py @@ -1,7 +1,7 @@ """ Contains credentials provider for AWS clients """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/security/clients/hashicorp_vault/__init__.py b/adapta/security/clients/hashicorp_vault/__init__.py index f324c186..3fd0044a 100644 --- a/adapta/security/clients/hashicorp_vault/__init__.py +++ b/adapta/security/clients/hashicorp_vault/__init__.py @@ -1,4 +1,4 @@ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/security/clients/hashicorp_vault/hashicorp_vault_client.py b/adapta/security/clients/hashicorp_vault/hashicorp_vault_client.py index 0404577c..1d0cc1f9 100644 --- a/adapta/security/clients/hashicorp_vault/hashicorp_vault_client.py +++ b/adapta/security/clients/hashicorp_vault/hashicorp_vault_client.py @@ -1,7 +1,7 @@ """ Hashicorp Vault implementation of AuthenticationClient. """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/security/clients/hashicorp_vault/kubernetes_client.py b/adapta/security/clients/hashicorp_vault/kubernetes_client.py index bf20a970..505681f1 100644 --- a/adapta/security/clients/hashicorp_vault/kubernetes_client.py +++ b/adapta/security/clients/hashicorp_vault/kubernetes_client.py @@ -1,7 +1,7 @@ """ Hashicorp Vault implementation of AuthenticationClient. """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/security/clients/hashicorp_vault/oidc_client.py b/adapta/security/clients/hashicorp_vault/oidc_client.py index e4ca7e85..ec4890cf 100644 --- a/adapta/security/clients/hashicorp_vault/oidc_client.py +++ b/adapta/security/clients/hashicorp_vault/oidc_client.py @@ -1,7 +1,7 @@ """ Hashicorp Vault implementation of AuthenticationClient. """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/security/clients/hashicorp_vault/token_client.py b/adapta/security/clients/hashicorp_vault/token_client.py index 497bd637..385197df 100644 --- a/adapta/security/clients/hashicorp_vault/token_client.py +++ b/adapta/security/clients/hashicorp_vault/token_client.py @@ -1,7 +1,7 @@ """ Hashicorp Vault implementation of AuthenticationClient. """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/storage/__init__.py b/adapta/storage/__init__.py index f324c186..3fd0044a 100644 --- a/adapta/storage/__init__.py +++ b/adapta/storage/__init__.py @@ -1,4 +1,4 @@ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/storage/blob/__init__.py b/adapta/storage/blob/__init__.py index 3452c62d..94812df8 100644 --- a/adapta/storage/blob/__init__.py +++ b/adapta/storage/blob/__init__.py @@ -1,4 +1,4 @@ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/storage/blob/azure_storage_client.py b/adapta/storage/blob/azure_storage_client.py index 3160b8f1..e9e732c3 100644 --- a/adapta/storage/blob/azure_storage_client.py +++ b/adapta/storage/blob/azure_storage_client.py @@ -1,7 +1,7 @@ """ Storage Client implementation for Azure Cloud. """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. @@ -36,6 +36,7 @@ from adapta.storage.blob.base import StorageClient from adapta.security.clients import AzureClient +from adapta.storage.models import parse_data_path from adapta.storage.models.azure import AdlsGen2Path, WasbPath, cast_path from adapta.storage.models.base import DataPath from adapta.storage.models.format import SerializationFormat @@ -77,6 +78,14 @@ def __init__(self, *, base_client: AzureClient, path: Union[AdlsGen2Path, WasbPa connection_string, retry_policy=retry_policy ) + @classmethod + def for_storage_path(cls, path: str) -> "AzureStorageClient": + """ + Generate client instance that can operate on the provided path + """ + azure_path = cast_path(parse_data_path(path)) + return cls(base_client=AzureClient(), path=azure_path) + def _get_blob_client(self, blob_path: DataPath) -> BlobClient: azure_path = cast_path(blob_path) diff --git a/adapta/storage/blob/base.py b/adapta/storage/blob/base.py index 22d2cd26..136d37f3 100644 --- a/adapta/storage/blob/base.py +++ b/adapta/storage/blob/base.py @@ -1,7 +1,7 @@ """ Abstraction for storage operations. """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. @@ -150,3 +150,10 @@ def copy_blob(self, blob_path: DataPath, target_blob_path: DataPath, doze_period :param target_blob_path: Path to target blob. :param doze_period_ms: number of ms to doze between polling the status of the copy. """ + + @classmethod + @abstractmethod + def for_storage_path(cls, path: str) -> "StorageClient": + """ + Create client instance that can operate on the provided path + """ diff --git a/adapta/storage/blob/s3_storage_client.py b/adapta/storage/blob/s3_storage_client.py index 98b3d598..db189f21 100644 --- a/adapta/storage/blob/s3_storage_client.py +++ b/adapta/storage/blob/s3_storage_client.py @@ -1,7 +1,7 @@ """ Storage Client implementation for AWS S3. """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. @@ -22,6 +22,7 @@ from adapta.security.clients import AwsClient from adapta.storage.blob.base import StorageClient from adapta.storage.exceptions import StorageClientError +from adapta.storage.models import parse_data_path from adapta.storage.models.aws import cast_path from adapta.storage.models.base import DataPath from adapta.storage.models.format import SerializationFormat @@ -139,3 +140,11 @@ def copy_blob(self, blob_path: DataPath, target_blob_path: DataPath, doze_period Not implemented in S3 Client """ raise NotImplementedError("Not implemented in S3StorageClient") + + @classmethod + def for_storage_path(cls, path: str) -> "S3StorageClient": + """ + Generate client instance that can operate on the provided path. Always uses EnvironmentCredentials/ + """ + _ = cast_path(parse_data_path(path)) + return cls(base_client=AwsClient()) diff --git a/adapta/storage/cache/__init__.py b/adapta/storage/cache/__init__.py index 67bd9674..8c3cd7e1 100644 --- a/adapta/storage/cache/__init__.py +++ b/adapta/storage/cache/__init__.py @@ -2,7 +2,7 @@ Import index. """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/storage/cache/_base.py b/adapta/storage/cache/_base.py index 36080749..74ccb2bc 100644 --- a/adapta/storage/cache/_base.py +++ b/adapta/storage/cache/_base.py @@ -1,7 +1,7 @@ """ Generic key-value cache. """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/storage/cache/redis_cache.py b/adapta/storage/cache/redis_cache.py index da36eddc..f860c98e 100644 --- a/adapta/storage/cache/redis_cache.py +++ b/adapta/storage/cache/redis_cache.py @@ -1,7 +1,7 @@ """ Key-value cache based on Redis. """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/storage/database/__init__.py b/adapta/storage/database/__init__.py index f324c186..3fd0044a 100644 --- a/adapta/storage/database/__init__.py +++ b/adapta/storage/database/__init__.py @@ -1,4 +1,4 @@ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/storage/database/azure_sql.py b/adapta/storage/database/azure_sql.py index 9d759159..73e1ad11 100644 --- a/adapta/storage/database/azure_sql.py +++ b/adapta/storage/database/azure_sql.py @@ -2,7 +2,7 @@ ODBC client extension for Azure SQL. """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/storage/database/models/__init__.py b/adapta/storage/database/models/__init__.py index 9aa60e83..f9e193f8 100644 --- a/adapta/storage/database/models/__init__.py +++ b/adapta/storage/database/models/__init__.py @@ -1,7 +1,7 @@ """ Import index. """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/storage/database/models/_models.py b/adapta/storage/database/models/_models.py index 668b8639..5b4f4eca 100644 --- a/adapta/storage/database/models/_models.py +++ b/adapta/storage/database/models/_models.py @@ -1,7 +1,7 @@ """ Models for relational database clients. """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/storage/database/odbc.py b/adapta/storage/database/odbc.py index a7d142b6..ac21c3a0 100644 --- a/adapta/storage/database/odbc.py +++ b/adapta/storage/database/odbc.py @@ -2,7 +2,7 @@ Database client that uses an ODBC driver. """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/storage/database/trino_sql.py b/adapta/storage/database/trino_sql.py index 9b2156de..d0da7c2a 100644 --- a/adapta/storage/database/trino_sql.py +++ b/adapta/storage/database/trino_sql.py @@ -2,7 +2,7 @@ SqlAlchemy-based Trino Client Wrapper """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/storage/delta_lake/__init__.py b/adapta/storage/delta_lake/__init__.py index e529a9aa..c62f5a86 100644 --- a/adapta/storage/delta_lake/__init__.py +++ b/adapta/storage/delta_lake/__init__.py @@ -1,7 +1,7 @@ """ Import index. """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/storage/delta_lake/_functions.py b/adapta/storage/delta_lake/_functions.py index abe01453..84634c48 100644 --- a/adapta/storage/delta_lake/_functions.py +++ b/adapta/storage/delta_lake/_functions.py @@ -1,7 +1,7 @@ """ Operations on Delta Lake tables. """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/storage/delta_lake/_models.py b/adapta/storage/delta_lake/_models.py index 64389344..58039389 100644 --- a/adapta/storage/delta_lake/_models.py +++ b/adapta/storage/delta_lake/_models.py @@ -1,7 +1,7 @@ """ Models used by delta lake functions. """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/storage/distributed_object_store/__init__.py b/adapta/storage/distributed_object_store/__init__.py index 3452c62d..94812df8 100644 --- a/adapta/storage/distributed_object_store/__init__.py +++ b/adapta/storage/distributed_object_store/__init__.py @@ -1,4 +1,4 @@ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/storage/distributed_object_store/datastax_astra/__init__.py b/adapta/storage/distributed_object_store/datastax_astra/__init__.py index df28be44..bd233ddc 100644 --- a/adapta/storage/distributed_object_store/datastax_astra/__init__.py +++ b/adapta/storage/distributed_object_store/datastax_astra/__init__.py @@ -1,4 +1,4 @@ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/storage/distributed_object_store/datastax_astra/astra_client.py b/adapta/storage/distributed_object_store/datastax_astra/astra_client.py index 41635a49..704f8edd 100644 --- a/adapta/storage/distributed_object_store/datastax_astra/astra_client.py +++ b/adapta/storage/distributed_object_store/datastax_astra/astra_client.py @@ -2,7 +2,7 @@ DataStax Astra client driver. """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/storage/exceptions.py b/adapta/storage/exceptions.py index 7fa1a85c..f8d9b85f 100644 --- a/adapta/storage/exceptions.py +++ b/adapta/storage/exceptions.py @@ -3,7 +3,7 @@ """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/storage/models/__init__.py b/adapta/storage/models/__init__.py index f324c186..7a03d22e 100644 --- a/adapta/storage/models/__init__.py +++ b/adapta/storage/models/__init__.py @@ -1,4 +1,7 @@ -# Copyright (c) 2023. ECCO Sneaks & Data +""" + Module index. +""" +# Copyright (c) 2023-2024. 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. @@ -12,3 +15,5 @@ # See the License for the specific language governing permissions and # limitations under the License. # + +from adapta.storage.models._functions import * diff --git a/adapta/storage/models/_functions.py b/adapta/storage/models/_functions.py new file mode 100644 index 00000000..0ac8ab76 --- /dev/null +++ b/adapta/storage/models/_functions.py @@ -0,0 +1,46 @@ +""" + Models used by Astra DB when working with storage. +""" +# Copyright (c) 2023-2024. 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 typing import Iterable, Optional + +from adapta.storage.models.astra import AstraPath +from adapta.storage.models.aws import S3Path +from adapta.storage.models.azure import AdlsGen2Path, WasbPath +from adapta.storage.models.base import DataPath +from adapta.storage.models.local import LocalPath + + +def parse_data_path( + path: str, candidates: Iterable[DataPath] = (AdlsGen2Path, LocalPath, WasbPath, AstraPath, S3Path) +) -> Optional[DataPath]: + """ + Attempts to convert a string path to one of the known DataPath types. + + :param path: A path to convert + :param candidates: Conversion candidate classes for `DataPath`. Default to all currently supported `DataPath` implementations. + If a user has their own `DataPath` implementations, those can be supplied instead for convenience. + + :return: + """ + for candidate in candidates: + try: + return candidate.from_hdfs_path(path) + except: # pylint: disable=W0702 + continue + + return None diff --git a/adapta/storage/models/astra.py b/adapta/storage/models/astra.py index 8b49a559..0f67c0d4 100644 --- a/adapta/storage/models/astra.py +++ b/adapta/storage/models/astra.py @@ -1,7 +1,7 @@ """ Models used by Astra DB when working with storage. """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/storage/models/aws.py b/adapta/storage/models/aws.py index 89591f8a..4959882d 100644 --- a/adapta/storage/models/aws.py +++ b/adapta/storage/models/aws.py @@ -1,7 +1,7 @@ """ Models used by AWS when working with storage. """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/storage/models/azure.py b/adapta/storage/models/azure.py index ad1d4647..428f2254 100644 --- a/adapta/storage/models/azure.py +++ b/adapta/storage/models/azure.py @@ -1,7 +1,7 @@ """ Models used by Azure Client when working with storage. """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/storage/models/base.py b/adapta/storage/models/base.py index d05e5a2f..b262d47c 100644 --- a/adapta/storage/models/base.py +++ b/adapta/storage/models/base.py @@ -1,7 +1,7 @@ """ Base class representing file system path. """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/storage/models/format.py b/adapta/storage/models/format.py index 8a15a3e7..577e3748 100644 --- a/adapta/storage/models/format.py +++ b/adapta/storage/models/format.py @@ -1,7 +1,7 @@ """ Serialization formats for saving data structures as blob. """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/storage/models/hive.py b/adapta/storage/models/hive.py index 8ee33e57..3f8ca7f9 100644 --- a/adapta/storage/models/hive.py +++ b/adapta/storage/models/hive.py @@ -1,7 +1,7 @@ """ Models used by Hive storages. """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/storage/models/local.py b/adapta/storage/models/local.py index a382237c..d00f44f6 100644 --- a/adapta/storage/models/local.py +++ b/adapta/storage/models/local.py @@ -1,7 +1,7 @@ """ Models used by Local Client when working with storage. """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/storage/query_enabled_store/__init__.py b/adapta/storage/query_enabled_store/__init__.py index 34cdfa04..57c1f8cd 100644 --- a/adapta/storage/query_enabled_store/__init__.py +++ b/adapta/storage/query_enabled_store/__init__.py @@ -1,7 +1,7 @@ """ Import index. """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/storage/query_enabled_store/_models.py b/adapta/storage/query_enabled_store/_models.py index afecfdd3..b9d41f0d 100644 --- a/adapta/storage/query_enabled_store/_models.py +++ b/adapta/storage/query_enabled_store/_models.py @@ -2,7 +2,7 @@ Query Enabled Store Connection interface. """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/storage/secrets/__init__.py b/adapta/storage/secrets/__init__.py index 5232692b..363b9a66 100644 --- a/adapta/storage/secrets/__init__.py +++ b/adapta/storage/secrets/__init__.py @@ -2,7 +2,7 @@ Import index. """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/storage/secrets/_base.py b/adapta/storage/secrets/_base.py index 34446674..88e4352a 100644 --- a/adapta/storage/secrets/_base.py +++ b/adapta/storage/secrets/_base.py @@ -2,7 +2,7 @@ Abstraction for secret storage operations. """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/storage/secrets/azure_secret_client.py b/adapta/storage/secrets/azure_secret_client.py index db2d63e8..d178a7b9 100644 --- a/adapta/storage/secrets/azure_secret_client.py +++ b/adapta/storage/secrets/azure_secret_client.py @@ -1,7 +1,7 @@ """ Azure Secret Storage Client (KeyVault). """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/storage/secrets/hashicorp_vault_secret_storage_client.py b/adapta/storage/secrets/hashicorp_vault_secret_storage_client.py index 5e6fa171..2a0e48ec 100644 --- a/adapta/storage/secrets/hashicorp_vault_secret_storage_client.py +++ b/adapta/storage/secrets/hashicorp_vault_secret_storage_client.py @@ -1,7 +1,7 @@ """ Hashicorp Vault Secret storage client """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/utils/__init__.py b/adapta/utils/__init__.py index b192c107..51cbef16 100644 --- a/adapta/utils/__init__.py +++ b/adapta/utils/__init__.py @@ -2,7 +2,7 @@ Utilities module index. """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/utils/_common.py b/adapta/utils/_common.py index 04d41dd2..56857c2a 100644 --- a/adapta/utils/_common.py +++ b/adapta/utils/_common.py @@ -1,5 +1,5 @@ """Common utility functions. All of these are imported into __init__.py""" -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/adapta/utils/concurrent_task_runner.py b/adapta/utils/concurrent_task_runner.py index 03e61936..4e159d0f 100644 --- a/adapta/utils/concurrent_task_runner.py +++ b/adapta/utils/concurrent_task_runner.py @@ -1,7 +1,7 @@ """ Models used by utility methods """ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/tests/__init__.py b/tests/__init__.py index f324c186..3fd0044a 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -1,4 +1,4 @@ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/tests/conftest.py b/tests/conftest.py index 6a78ecb2..26fbe46e 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,4 +1,4 @@ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/tests/test_astra.py b/tests/test_astra.py index a00aec3f..fcae86ca 100644 --- a/tests/test_astra.py +++ b/tests/test_astra.py @@ -1,4 +1,4 @@ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/tests/test_azure_storage_client.py b/tests/test_azure_storage_client.py index ff98c015..d70622aa 100644 --- a/tests/test_azure_storage_client.py +++ b/tests/test_azure_storage_client.py @@ -1,4 +1,4 @@ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/tests/test_delta_history.py b/tests/test_delta_history.py index 87319d58..808c7d4e 100644 --- a/tests/test_delta_history.py +++ b/tests/test_delta_history.py @@ -1,4 +1,4 @@ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/tests/test_delta_load.py b/tests/test_delta_load.py index ea103c83..539acca8 100644 --- a/tests/test_delta_load.py +++ b/tests/test_delta_load.py @@ -1,4 +1,4 @@ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/tests/test_hive.py b/tests/test_hive.py index 198b71b2..1e5803fa 100644 --- a/tests/test_hive.py +++ b/tests/test_hive.py @@ -1,4 +1,4 @@ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/tests/test_logs.py b/tests/test_logs.py index 8ab287f1..f98e1af6 100644 --- a/tests/test_logs.py +++ b/tests/test_logs.py @@ -1,4 +1,4 @@ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/tests/test_process_communication.py b/tests/test_process_communication.py index ef8c3293..a0a385ec 100644 --- a/tests/test_process_communication.py +++ b/tests/test_process_communication.py @@ -1,4 +1,4 @@ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/tests/test_safe_stream_handler.py b/tests/test_safe_stream_handler.py index ea108d3b..41ff83e9 100644 --- a/tests/test_safe_stream_handler.py +++ b/tests/test_safe_stream_handler.py @@ -1,4 +1,4 @@ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/tests/test_serialization_format.py b/tests/test_serialization_format.py index 079cb72d..17ad3ec2 100644 --- a/tests/test_serialization_format.py +++ b/tests/test_serialization_format.py @@ -1,4 +1,4 @@ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/tests/test_storage_databases_odbc.py b/tests/test_storage_databases_odbc.py index 13fcca9b..c34d4bb7 100644 --- a/tests/test_storage_databases_odbc.py +++ b/tests/test_storage_databases_odbc.py @@ -1,4 +1,4 @@ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/tests/test_utils.py b/tests/test_utils.py index d933c21e..43c20816 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -1,4 +1,4 @@ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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. diff --git a/tests/test_vault_client.py b/tests/test_vault_client.py index 77881df8..4b04a8a2 100644 --- a/tests/test_vault_client.py +++ b/tests/test_vault_client.py @@ -1,4 +1,4 @@ -# Copyright (c) 2023. ECCO Sneaks & Data +# Copyright (c) 2023-2024. 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.