diff --git a/CHANGELOG.md b/CHANGELOG.md index edef0812..94ff08db 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,7 @@ ## 2.1.2 -**Date** - 09/23/2025 +**Date** - 10/16/2025 **Release Tag** - [py2.1.2](https://github.com/datacommonsorg/api-python/releases/tag/py2.1.2) diff --git a/datacommons_client/__init__.py b/datacommons_client/__init__.py index 939053c4..0cfde7b7 100644 --- a/datacommons_client/__init__.py +++ b/datacommons_client/__init__.py @@ -1,4 +1,4 @@ -__version__ = "2.1.2rc1" +__version__ = "2.1.2" """ Data Commons Client Package diff --git a/datacommons_client/endpoints/base.py b/datacommons_client/endpoints/base.py index d7489f67..a6943d61 100644 --- a/datacommons_client/endpoints/base.py +++ b/datacommons_client/endpoints/base.py @@ -1,8 +1,6 @@ import re from typing import Any, Dict, Optional -from datacommons_client.utils.error_handling import InvalidSurfaceHeaderValueError -from datacommons_client.utils.error_handling import VALID_SURFACE_HEADER_VALUES from datacommons_client.utils.request_handling import check_instance_is_valid from datacommons_client.utils.request_handling import post_request from datacommons_client.utils.request_handling import resolve_instance_url @@ -52,15 +50,6 @@ def __init__( # Resolve from dc_instance self.base_url = resolve_instance_url(dc_instance) - # if this call originates from another DC product (MCP server, DataGemma, etc.), we indicate that to Mixer - # otherwise, the 'x-surface' header is 'clientlib-python' - if surface_header_value: - # use patterns to support tags like mcp-{VERSION} - if not any( - re.fullmatch(pattern, surface_header_value) - for pattern in VALID_SURFACE_HEADER_VALUES): - raise InvalidSurfaceHeaderValueError - self.headers = self.build_headers(surface_header_value=surface_header_value, api_key=api_key) diff --git a/datacommons_client/tests/endpoints/test_base.py b/datacommons_client/tests/endpoints/test_base.py index 2ee1c2a7..5fb63f35 100644 --- a/datacommons_client/tests/endpoints/test_base.py +++ b/datacommons_client/tests/endpoints/test_base.py @@ -4,7 +4,6 @@ from datacommons_client.endpoints.base import API from datacommons_client.endpoints.base import Endpoint -from datacommons_client.utils.error_handling import InvalidSurfaceHeaderValueError @patch( @@ -63,7 +62,7 @@ def test_api_initialization_with_dc_instance(mock_resolve_instance_url): return_value="https://custom-instance/api/v2", ) def test_api_initialization_with_surface_header(mock_url): - """Tests API initialization with an invalid surface header raises an InvalidSurfaceHeaderValueError.""" + """Tests API initialization with a surface header """ api = API(dc_instance="custom-instance", surface_header_value="mcp-1.1.0") assert api.headers == { "Content-Type": "application/json", @@ -77,16 +76,6 @@ def test_api_initialization_invalid_args(): API(dc_instance="custom-instance", url="https://custom.api/v2") -@patch( - "datacommons_client.endpoints.base.resolve_instance_url", - return_value="https://custom-instance/api/v2", -) -def test_api_initialization_invalid_surface(mock_url): - """Tests API initialization with an invalid surface header raises an InvalidSurfaceHeaderValueError.""" - with pytest.raises(InvalidSurfaceHeaderValueError): - API(dc_instance="custom-instance", surface_header_value="not mcp") - - @patch( "datacommons_client.endpoints.base.resolve_instance_url", return_value="https://custom-instance/api/v2", diff --git a/datacommons_client/utils/error_handling.py b/datacommons_client/utils/error_handling.py index 4bfb9d7e..4a7f89ce 100644 --- a/datacommons_client/utils/error_handling.py +++ b/datacommons_client/utils/error_handling.py @@ -87,14 +87,3 @@ class NoDataForPropertyError(DataCommonsError): """Raised when there is no data that meets the specified property filters.""" default_message = "No available data for the specified property filters." - - -VALID_SURFACE_HEADER_VALUES = ["mcp", r"mcp-[\d\.]+", "datagemma"] - - -class InvalidSurfaceHeaderValueError(DataCommonsError): - """ - The surface header value must be a surface known to the Data Commons team. - This value is used in the DC usage logs in Mixer. - """ - default_message = "The surface header value should only to indicate a call made from Data Commons surfaces like the MCP server or DataGemma."