Skip to content

Commit 86ae263

Browse files
resolve merge conflicts
2 parents 2ff2e6a + 6065af3 commit 86ae263

2 files changed

Lines changed: 16 additions & 8 deletions

File tree

mp_api/client/mprester.py

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -644,7 +644,11 @@ def get_entries(
644644
def get_pourbaix_entries(
645645
self,
646646
chemsys: str | list[str] | list[ComputedEntry | ComputedStructureEntry],
647-
solid_compat="MaterialsProject2020Compatibility",
647+
solid_compat: Literal[
648+
"MaterialsProjectCompatibility", "MaterialsProject2020Compatibility"
649+
]
650+
| Compatibility
651+
| None = "MaterialsProject2020Compatibility",
648652
use_gibbs: Literal[300] | None = None,
649653
) -> list[PourbaixEntry]:
650654
"""A helper function to get all entries necessary to generate
@@ -660,10 +664,12 @@ def get_pourbaix_entries(
660664
for adding extra calculation data to the Pourbaix Diagram.
661665
If this is set, the chemsys will be inferred from the entries.
662666
solid_compat: Compatibility scheme used to pre-process solid DFT energies prior
663-
to applying aqueous energy adjustments. May be passed as a class (e.g.
664-
MaterialsProject2020Compatibility) or an instance
665-
(e.g., MaterialsProject2020Compatibility()). If None, solid DFT energies
666-
are used as-is. Default: MaterialsProject2020Compatibility
667+
to applying aqueous energy adjustments.
668+
May be passed as a string (either "MaterialsProjectCompatibility"
669+
or "MaterialsProject2020Compatibility"), or as a class instance
670+
(e.g., MaterialsProject2020Compatibility()).
671+
If None, solid DFT energies are used as-is.
672+
Default: MaterialsProject2020Compatibility
667673
use_gibbs: Set to 300 (for 300 Kelvin) to use a machine learning model to
668674
estimate solid free energy from DFT energy (see GibbsComputedStructureEntry).
669675
This can slightly improve the accuracy of the Pourbaix diagram in some
@@ -710,10 +716,12 @@ def get_pourbaix_entries(
710716
solid_compat = MaterialsProjectCompatibility()
711717
elif solid_compat == "MaterialsProject2020Compatibility":
712718
solid_compat = MaterialsProject2020Compatibility()
713-
elif not isinstance(solid_compat, Compatibility):
719+
elif isinstance(solid_compat, Compatibility) or solid_compat is None:
720+
pass
721+
else:
714722
raise ValueError(
715723
"Solid compatibility can only be 'MaterialsProjectCompatibility', "
716-
"'MaterialsProject2020Compatibility', or an instance of a Compatibility class"
724+
"'MaterialsProject2020Compatibility', None, or an instance of a Compatibility class"
717725
)
718726

719727
pbx_entries = []

tests/client/test_mprester.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,7 @@ def test_get_pourbaix_entries(self, mpr):
271271

272272
# test solid_compat kwarg
273273
with pytest.raises(ValueError, match="Solid compatibility can only be"):
274-
mpr.get_pourbaix_entries("Ti-O", solid_compat=None)
274+
mpr.get_pourbaix_entries("Ti-O", solid_compat="None")
275275

276276
# test removal of extra elements from reference solids
277277
# Li-Zn-S has Na in reference solids

0 commit comments

Comments
 (0)