From 5351c9b5a25431402290fcfadd1f85b339eebeac Mon Sep 17 00:00:00 2001 From: Jason Munro Date: Mon, 4 Dec 2023 13:01:18 -0800 Subject: [PATCH] Switch user-agent to mp-api version (#874) * Switch user-agent to mp-api version * Linting --- mp_api/client/core/client.py | 13 +++++++------ tests/molecules/test_summary.py | 3 ++- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/mp_api/client/core/client.py b/mp_api/client/core/client.py index 5b9cd4cd..8ff9e375 100644 --- a/mp_api/client/core/client.py +++ b/mp_api/client/core/client.py @@ -7,11 +7,13 @@ import gzip import itertools import json +import os import platform import sys import warnings from concurrent.futures import FIRST_COMPLETED, ThreadPoolExecutor, wait from copy import copy +from importlib.metadata import PackageNotFoundError, version from json import JSONDecodeError from math import ceil from os import environ @@ -38,10 +40,9 @@ boto3 = None try: - from pymatgen.core import __version__ as pmg_version # type: ignore -except ImportError: # pragma: no cover - # fallback to root-level import for older pymatgen versions - from pymatgen import __version__ as pmg_version # type: ignore + __version__ = version("mp_api") +except PackageNotFoundError: # pragma: no cover + __version__ = os.getenv("SETUPTOOLS_SCM_PRETEND_VERSION") # TODO: think about how to migrate from PMG_MAPI_KEY DEFAULT_API_KEY = environ.get("MP_API_KEY", None) @@ -160,12 +161,12 @@ def _create_session(api_key, include_user_agent, headers): session.headers.update(headers) if include_user_agent: - pymatgen_info = "pymatgen/" + pmg_version + mp_api_info = "mp-api/" + __version__ python_info = f"Python/{sys.version.split()[0]}" platform_info = f"{platform.system()}/{platform.release()}" session.headers[ "user-agent" - ] = f"{pymatgen_info} ({python_info} {platform_info})" + ] = f"{mp_api_info} ({python_info} {platform_info})" settings = MAPIClientSettings() max_retry_num = settings.MAX_RETRIES diff --git a/tests/molecules/test_summary.py b/tests/molecules/test_summary.py index e4bdbf57..85230fc5 100644 --- a/tests/molecules/test_summary.py +++ b/tests/molecules/test_summary.py @@ -13,7 +13,7 @@ "all_fields", "fields", "exclude_elements", - "has_props" + "has_props", ] alt_name_dict = {"formula": "formula_alphabetical", "molecule_ids": "molecule_id"} @@ -32,6 +32,7 @@ "has_props": [HasProps.orbitals], } # type: dict + @pytest.mark.skip(reason="Temporary until data adjustments") @pytest.mark.skipif( os.environ.get("MP_API_KEY", None) is None, reason="No API key found."