diff --git a/CHANGES b/CHANGES index 7e83806b..6adbf481 100644 --- a/CHANGES +++ b/CHANGES @@ -18,6 +18,7 @@ Minor cursor behaviour changes: - has_next may set the cursor to CLOSED if no next items are detected. Added support for overriding reranking options in find_and_rerank method call. Added support for custom CA certificates (PEM) in the APIOptions (new `ca_cert_path` parameter) +Admin, removed the deprecated 'region_name' alias for `name` from `AstraDBAdminDatabaseRegionInfo` and `AstraDBAvailableRegionInfo` Bugfix: faulty normalization of empty/null indexing targets for `CollectionDefinition.set_indexing` maintenance: integration testing gets an embedding provider switcher logic maintenance: integration tests use the latest HCD (2.0.6) and a recent Data API build (1.0.46) diff --git a/astrapy/authentication.py b/astrapy/authentication.py index e33a364f..9611c0e0 100644 --- a/astrapy/authentication.py +++ b/astrapy/authentication.py @@ -189,6 +189,8 @@ class StaticTokenProvider(TokenProvider): ... ) """ + token: str | None + def __init__(self, token: str | None) -> None: self.token = token @@ -228,6 +230,10 @@ class UsernamePasswordTokenProvider(TokenProvider): PREFIX = "Cassandra" + username: str + password: str + token: str + def __init__(self, username: str, password: str) -> None: self.username = username self.password = password @@ -339,6 +345,8 @@ class EmbeddingAPIKeyHeaderProvider(EmbeddingHeadersProvider): ... ) """ + embedding_api_key: str | None + def __init__(self, embedding_api_key: str | None) -> None: self.embedding_api_key = embedding_api_key @@ -405,6 +413,9 @@ class AWSEmbeddingHeadersProvider(EmbeddingHeadersProvider): ... ) """ + embedding_access_id: str + embedding_secret_id: str + def __init__(self, *, embedding_access_id: str, embedding_secret_id: str) -> None: self.embedding_access_id = embedding_access_id self.embedding_secret_id = embedding_secret_id @@ -477,6 +488,8 @@ class RerankingAPIKeyHeaderProvider(RerankingHeadersProvider): ... ) """ + reranking_api_key: str | None + def __init__(self, reranking_api_key: str | None) -> None: self.reranking_api_key = reranking_api_key diff --git a/astrapy/data/info/database_info.py b/astrapy/data/info/database_info.py index 21195170..0de298ae 100644 --- a/astrapy/data/info/database_info.py +++ b/astrapy/data/info/database_info.py @@ -25,7 +25,6 @@ DEFAULT_CREATE_DB_DB_TYPE, DEFAULT_CREATE_DB_TIER, ) -from astrapy.utils.meta import deprecated_property from astrapy.utils.parsing import _warn_residual_keys @@ -88,15 +87,6 @@ def __repr__(self) -> str: ] return f"{self.__class__.__name__}({', '.join(pieces)})" - @property - @deprecated_property( - new_name="name", - deprecated_in="2.0.1", - removed_in="2.3.0", - ) - def region_name(self) -> str: - return self.name - @dataclass class _BaseAstraDBDatabaseInfo: @@ -379,15 +369,6 @@ def as_dict(self) -> dict[str, Any]: if v is not None } - @property - @deprecated_property( - new_name="name", - deprecated_in="2.0.1", - removed_in="2.3.0", - ) - def region_name(self) -> str: - return self.name - @classmethod def _from_dict(cls, raw_dict: dict[str, Any]) -> AstraDBAvailableRegionInfo: """ diff --git a/tests/base/unit/test_regionname_deprecation.py b/tests/base/unit/test_regionname_deprecation.py deleted file mode 100644 index e37aea3c..00000000 --- a/tests/base/unit/test_regionname_deprecation.py +++ /dev/null @@ -1,90 +0,0 @@ -# Copyright DataStax, Inc. -# -# 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 __future__ import annotations - -import pytest -from deprecation import DeprecatedWarning - -from astrapy.data.info.database_info import ( - AstraDBAdminDatabaseRegionInfo, - AstraDBAvailableRegionInfo, -) - -from ..conftest import is_future_version - - -class TestRegionNameDeprecation: - @pytest.mark.describe("test of region_name in AstraDBAdminDatabaseRegionInfo") - def test_regionname_dbregioninfo(self) -> None: - dc0 = { - "capacityUnits": 1, - "cloudProvider": "AWS", - "dateCreated": "2025-04-10T19:14:44Z", - "id": "...", - "isPrimary": True, - "name": "dc-1", - "region": "us-east-2", - "regionClassification": "standard", - "regionZone": "na", - "requestedNodeCount": 3, - "secureBundleInternalUrl": "...", - "secureBundleMigrationProxyInternalUrl": "...", - "secureBundleMigrationProxyUrl": "...", - "secureBundleUrl": "...", - "status": "", - "streamingTenant": {}, - "targetAccount": "abcd0123", - "tier": "serverless", - } - region_info = AstraDBAdminDatabaseRegionInfo( - raw_datacenter_dict=dc0, - environment="dev", - database_id="D", - ) - - r0 = region_info.name - with pytest.warns(DeprecationWarning) as w_checker: - r1 = region_info.region_name - assert len(w_checker.list) == 1 - warning0 = w_checker.list[0].message - assert isinstance(warning0, DeprecatedWarning) - assert is_future_version(warning0.removed_in) - - assert r0 == r1 - - @pytest.mark.describe("test of region_name in AstraDBAvailableRegionInfo") - def test_regionname_availableregion(self) -> None: - ar0 = { - "classification": "premium", - "cloudProvider": "GCP", - "displayName": "West Europe3 (Frankfurt, Germany)", - "enabled": True, - "name": "europe-west3", - "region_type": "serverless", - "reservedForQualifiedUsers": True, - "zone": "emea", - } - available_region_info = AstraDBAvailableRegionInfo._from_dict(ar0) - - r0 = available_region_info.name - with pytest.warns(DeprecationWarning) as w_checker: - r1 = available_region_info.region_name - - assert len(w_checker.list) == 1 - warning0 = w_checker.list[0].message - assert isinstance(warning0, DeprecatedWarning) - assert is_future_version(warning0.removed_in) - - assert r0 == r1