diff --git a/airbyte_cdk/sources/declarative/transformations/keys_to_snake_transformation.py b/airbyte_cdk/sources/declarative/transformations/keys_to_snake_transformation.py index 86e25c399..6ef2cb4c5 100644 --- a/airbyte_cdk/sources/declarative/transformations/keys_to_snake_transformation.py +++ b/airbyte_cdk/sources/declarative/transformations/keys_to_snake_transformation.py @@ -6,7 +6,7 @@ from dataclasses import dataclass from typing import Any, Dict, List, Optional -import unidecode +import anyascii from airbyte_cdk.sources.declarative.transformations import RecordTransformation from airbyte_cdk.sources.types import Config, StreamSlice, StreamState @@ -48,7 +48,7 @@ def process_key(self, key: str) -> str: return self.tokens_to_snake_case(tokens) def normalize_key(self, key: str) -> str: - return unidecode.unidecode(key) + return str(anyascii.anyascii(key)) def tokenize_key(self, key: str) -> List[str]: tokens = [] diff --git a/poetry.lock b/poetry.lock index c933bee82..5663a7213 100644 --- a/poetry.lock +++ b/poetry.lock @@ -155,6 +155,19 @@ files = [ {file = "annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89"}, ] +[[package]] +name = "anyascii" +version = "0.3.2" +description = "Unicode to ASCII transliteration" +optional = false +python-versions = ">=3.3" +groups = ["main"] +markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" +files = [ + {file = "anyascii-0.3.2-py3-none-any.whl", hash = "sha256:3b3beef6fc43d9036d3b0529050b0c48bfad8bc960e9e562d7223cfb94fe45d4"}, + {file = "anyascii-0.3.2.tar.gz", hash = "sha256:9d5d32ef844fe225b8bc7cba7f950534fae4da27a9bf3a6bea2cb0ea46ce4730"}, +] + [[package]] name = "anyio" version = "4.8.0" @@ -4984,19 +4997,6 @@ files = [ [package.extras] test = ["coverage", "pytest", "pytest-cov"] -[[package]] -name = "unidecode" -version = "1.3.8" -description = "ASCII transliterations of Unicode text" -optional = false -python-versions = ">=3.5" -groups = ["main"] -markers = "python_version <= \"3.11\" or python_version >= \"3.12\"" -files = [ - {file = "Unidecode-1.3.8-py3-none-any.whl", hash = "sha256:d130a61ce6696f8148a3bd8fe779c99adeb4b870584eeb9526584e9aa091fd39"}, - {file = "Unidecode-1.3.8.tar.gz", hash = "sha256:cfdb349d46ed3873ece4586b96aa75258726e2fa8ec21d6f00a591d98806c2f4"}, -] - [[package]] name = "unstructured" version = "0.10.27" @@ -5404,4 +5404,4 @@ vector-db-based = ["cohere", "langchain", "openai", "tiktoken"] [metadata] lock-version = "2.1" python-versions = ">=3.10,<3.13" -content-hash = "bd47125a1dae1aea076dc423d6400970c9fd1ca867a0edabe45a4943c181f8cf" +content-hash = "3a71a51fd355d1434226306d842686559ccf1eaa074bf946ccabb80251b3649e" diff --git a/pyproject.toml b/pyproject.toml index 88a27230b..e55917444 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -79,7 +79,7 @@ orjson = "^3.10.7" serpyco-rs = "^1.10.2" sqlalchemy = {version = "^2.0,!=2.0.36", optional = true } xmltodict = ">=0.13,<0.15" -Unidecode = "^1.3" +anyascii = "^0.3.2" whenever = "^0.6.16" [tool.poetry.group.dev.dependencies]