diff --git a/requirements.txt b/requirements.txt index 93d4c2b8..1ddc9100 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,7 @@ -emmet-core==0.32.2 +emmet-core==0.32.3 pydantic>=1.8.2 pymatgen>=2022.3.7 +pymatgen-analysis-alloys>=0.0.3 typing-extensions==4.1.1 maggma==0.47.3 requests==2.27.1 diff --git a/setup.py b/setup.py index 4b372736..9e3e48c9 100644 --- a/setup.py +++ b/setup.py @@ -28,7 +28,7 @@ "typing-extensions>=3.7.4.1", "requests>=2.23.0", "monty>=2021.3.12", - "emmet-core>=0.32.2", + "emmet-core>=0.32.3", "maggma>=0.47.3", "mpcontribs-client", ], diff --git a/src/mp_api/client.py b/src/mp_api/client.py index 7bd15d5f..80f35527 100644 --- a/src/mp_api/client.py +++ b/src/mp_api/client.py @@ -75,6 +75,7 @@ class MPRester: oxidation_states: OxidationStatesRester provenance: ProvenanceRester bonds: BondsRester + alloys: AlloysRester _user_settings: UserSettingsRester _general_store: GeneralStoreRester diff --git a/src/mp_api/routes/__init__.py b/src/mp_api/routes/__init__.py index 6893d2fb..10d91441 100644 --- a/src/mp_api/routes/__init__.py +++ b/src/mp_api/routes/__init__.py @@ -30,3 +30,4 @@ from mp_api.routes._user_settings import UserSettingsRester from mp_api.routes._general_store import GeneralStoreRester from mp_api.routes.bonds import BondsRester +from mp_api.routes.alloys import AlloysRester diff --git a/src/mp_api/routes/alloys.py b/src/mp_api/routes/alloys.py new file mode 100644 index 00000000..bd63683b --- /dev/null +++ b/src/mp_api/routes/alloys.py @@ -0,0 +1,15 @@ +from typing import List, Optional, Tuple +from collections import defaultdict + +from mp_api.core.client import BaseRester +from emmet.core.alloys import AlloyPairDoc + +import warnings + + +class AlloysRester(BaseRester[AlloyPairDoc]): + + suffix = "alloys" + document_model = AlloyPairDoc # type: ignore + primary_key = "material_id" +