Skip to content

Commit 855150c

Browse files
update commensurate with emmet pr
1 parent 3af964c commit 855150c

File tree

6 files changed

+33
-5
lines changed

6 files changed

+33
-5
lines changed

.gemini/settings.json

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"mcpServers": {
3+
"Materials_Project_MCP": {
4+
"command": "uv",
5+
"args": [
6+
"run",
7+
"--project",
8+
"/Users/aaronkaplan/Library/CloudStorage/Dropbox/mp_soft_engr/software/mp_api",
9+
"--with",
10+
"fastmcp",
11+
"--with-requirements",
12+
"/Users/aaronkaplan/Library/CloudStorage/Dropbox/mp_soft_engr/software/mp_api/requirements/requirements-ubuntu-latest_py3.12_extras.txt",
13+
"fastmcp",
14+
"run",
15+
"/Users/aaronkaplan/Library/CloudStorage/Dropbox/mp_soft_engr/software/mp_api/mp_api/mcp/server.py"
16+
]
17+
}
18+
}
19+
}

mp_api/client/routes/materials/similarity.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
from __future__ import annotations
22

3+
import zlib
34
from typing import TYPE_CHECKING
45

6+
import numpy as np
57
from emmet.core.mpid import MPID, AlphaID
68
from emmet.core.similarity import CrystalNNSimilarity, SimilarityDoc, SimilarityEntry
9+
from pymatgen.core import Composition
710

811
from mp_api.client.core import BaseRester, MPRestError
912
from mp_api.client.core.utils import validate_ids
@@ -101,7 +104,12 @@ def find_similar(
101104
feature_vector = self.fingerprinter(structure_or_mpid)
102105

103106
result = self._query_resource(
104-
criteria={"feature_vector": feature_vector, "_limit": chunk_size},
107+
criteria={
108+
"feature_vector_hex": zlib.compress(
109+
np.array(feature_vector).tobytes()
110+
).hex(),
111+
"_limit": chunk_size,
112+
},
105113
suburl="match",
106114
use_document_model=False, # Return type is not exactly a SimilarityDoc, closer to SimilarityEntry
107115
chunk_size=chunk_size,
@@ -117,6 +125,7 @@ def find_similar(
117125
{
118126
"formula": entry["formula_pretty"],
119127
"task_id": entry["material_id"],
128+
"nelements": len(Composition(entry["formula_pretty"]).elements),
120129
"dissimilarity": 100 * (1.0 - entry["score"]),
121130
}
122131
for entry in result

requirements/requirements-ubuntu-latest_py3.11.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ contourpy==1.3.3
2424
# via matplotlib
2525
cycler==0.12.1
2626
# via matplotlib
27-
emmet-core==0.86.0
27+
emmet-core==0.86.2rc0
2828
# via mp-api (pyproject.toml)
2929
fonttools==4.60.1
3030
# via matplotlib

requirements/requirements-ubuntu-latest_py3.11_extras.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ dnspython==2.8.0
6262
# pymongo
6363
docutils==0.21.2
6464
# via sphinx
65-
emmet-core[all]==0.86.0
65+
emmet-core[all]==0.86.2rc0
6666
# via mp-api (pyproject.toml)
6767
execnet==2.1.1
6868
# via pytest-xdist

requirements/requirements-ubuntu-latest_py3.12.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ contourpy==1.3.3
2424
# via matplotlib
2525
cycler==0.12.1
2626
# via matplotlib
27-
emmet-core==0.86.0
27+
emmet-core==0.86.2rc0
2828
# via mp-api (pyproject.toml)
2929
fonttools==4.60.1
3030
# via matplotlib

requirements/requirements-ubuntu-latest_py3.12_extras.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ dnspython==2.8.0
6262
# pymongo
6363
docutils==0.21.2
6464
# via sphinx
65-
emmet-core[all]==0.86.0
65+
emmet-core[all]==0.86.2rc0
6666
# via mp-api (pyproject.toml)
6767
execnet==2.1.1
6868
# via pytest-xdist

0 commit comments

Comments
 (0)