pymdkit 1.2.8__tar.gz → 1.2.10__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. {pymdkit-1.2.8/src/pymdkit.egg-info → pymdkit-1.2.10}/PKG-INFO +1 -1
  2. {pymdkit-1.2.8 → pymdkit-1.2.10}/pyproject.toml +1 -1
  3. {pymdkit-1.2.8 → pymdkit-1.2.10}/src/pymdkit/__init__.py +1 -1
  4. {pymdkit-1.2.8 → pymdkit-1.2.10}/src/pymdkit/commands/stable_entry.py +23 -9
  5. {pymdkit-1.2.8 → pymdkit-1.2.10/src/pymdkit.egg-info}/PKG-INFO +1 -1
  6. {pymdkit-1.2.8 → pymdkit-1.2.10}/LICENSE +0 -0
  7. {pymdkit-1.2.8 → pymdkit-1.2.10}/README.md +0 -0
  8. {pymdkit-1.2.8 → pymdkit-1.2.10}/setup.cfg +0 -0
  9. {pymdkit-1.2.8 → pymdkit-1.2.10}/src/pymdkit/commands/__init__.py +0 -0
  10. {pymdkit-1.2.8 → pymdkit-1.2.10}/src/pymdkit/commands/_fileio.py +0 -0
  11. {pymdkit-1.2.8 → pymdkit-1.2.10}/src/pymdkit/commands/_vasp_output.py +0 -0
  12. {pymdkit-1.2.8 → pymdkit-1.2.10}/src/pymdkit/commands/_vaspset.py +0 -0
  13. {pymdkit-1.2.8 → pymdkit-1.2.10}/src/pymdkit/commands/add_groups.py +0 -0
  14. {pymdkit-1.2.8 → pymdkit-1.2.10}/src/pymdkit/commands/compute_ehull.py +0 -0
  15. {pymdkit-1.2.8 → pymdkit-1.2.10}/src/pymdkit/commands/compute_msd_all_groups.py +0 -0
  16. {pymdkit-1.2.8 → pymdkit-1.2.10}/src/pymdkit/commands/compute_rmsd.py +0 -0
  17. {pymdkit-1.2.8 → pymdkit-1.2.10}/src/pymdkit/commands/electrostatic_energy.py +0 -0
  18. {pymdkit-1.2.8 → pymdkit-1.2.10}/src/pymdkit/commands/final_energy.py +0 -0
  19. {pymdkit-1.2.8 → pymdkit-1.2.10}/src/pymdkit/commands/gather_contcar.py +0 -0
  20. {pymdkit-1.2.8 → pymdkit-1.2.10}/src/pymdkit/commands/nep_rmse.py +0 -0
  21. {pymdkit-1.2.8 → pymdkit-1.2.10}/src/pymdkit/commands/perturb.py +0 -0
  22. {pymdkit-1.2.8 → pymdkit-1.2.10}/src/pymdkit/commands/stru2xyz.py +0 -0
  23. {pymdkit-1.2.8 → pymdkit-1.2.10}/src/pymdkit/commands/submit_vasp.py +0 -0
  24. {pymdkit-1.2.8 → pymdkit-1.2.10}/src/pymdkit/commands/substitute.py +0 -0
  25. {pymdkit-1.2.8 → pymdkit-1.2.10}/src/pymdkit/commands/supercell.py +0 -0
  26. {pymdkit-1.2.8 → pymdkit-1.2.10}/src/pymdkit/commands/symmetrize.py +0 -0
  27. {pymdkit-1.2.8 → pymdkit-1.2.10}/src/pymdkit/commands/vasp2xyz.py +0 -0
  28. {pymdkit-1.2.8 → pymdkit-1.2.10}/src/pymdkit/commands/vasp_relax.py +0 -0
  29. {pymdkit-1.2.8 → pymdkit-1.2.10}/src/pymdkit/commands/vasp_static.py +0 -0
  30. {pymdkit-1.2.8 → pymdkit-1.2.10}/src/pymdkit/pymdkit_main.py +0 -0
  31. {pymdkit-1.2.8 → pymdkit-1.2.10}/src/pymdkit.egg-info/SOURCES.txt +0 -0
  32. {pymdkit-1.2.8 → pymdkit-1.2.10}/src/pymdkit.egg-info/dependency_links.txt +0 -0
  33. {pymdkit-1.2.8 → pymdkit-1.2.10}/src/pymdkit.egg-info/entry_points.txt +0 -0
  34. {pymdkit-1.2.8 → pymdkit-1.2.10}/src/pymdkit.egg-info/requires.txt +0 -0
  35. {pymdkit-1.2.8 → pymdkit-1.2.10}/src/pymdkit.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pymdkit
3
- Version: 1.2.8
3
+ Version: 1.2.10
4
4
  Summary: A unified command-line toolkit for atomistic / MD structure workflows.
5
5
  Author-email: Yueda Wang <ydwang0608@ustc.edu.cn>
6
6
  License-Expression: GPL-3.0-or-later
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "pymdkit"
7
- version = "1.2.8"
7
+ version = "1.2.10"
8
8
  description = "A unified command-line toolkit for atomistic / MD structure workflows."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.9"
@@ -1,3 +1,3 @@
1
1
  """pymdkit -- a unified CLI for atomistic / MD structure workflows."""
2
2
 
3
- __version__ = "1.2.8"
3
+ __version__ = "1.2.10"
@@ -5,6 +5,8 @@ from __future__ import annotations
5
5
  import argparse
6
6
  import json
7
7
  import re
8
+ from urllib.parse import quote
9
+ from urllib.request import Request, urlopen
8
10
  from pathlib import Path
9
11
 
10
12
  COMMAND = "stable-entry"
@@ -97,20 +99,28 @@ def resolve_public_material_ids(entries, api_key=None):
97
99
  is_stable=True,
98
100
  fields=["material_id", "formula_pretty", "structure"],
99
101
  )
102
+ candidates = []
100
103
  for doc in cache[formula]:
101
104
  structure = doc_get(doc, "structure")
102
105
  material_id = mpid_text(doc_get(doc, "material_id"))
103
106
  if not structure or not is_public_mpid(material_id):
104
107
  continue
105
- if str(structure.composition.reduced_formula) != formula:
106
- continue
107
- if matcher.fit(entry.structure, structure):
108
- data = getattr(entry, "data", None)
109
- if data is None:
110
- entry.data = {}
111
- data = entry.data
112
- data["material_id"] = material_id
113
- break
108
+ if str(structure.composition.reduced_formula) == formula:
109
+ candidates.append((doc, structure, material_id))
110
+ chosen = None
111
+ if len(candidates) == 1:
112
+ chosen = candidates[0][2]
113
+ else:
114
+ for _, structure, material_id in candidates:
115
+ if matcher.fit(entry.structure, structure):
116
+ chosen = material_id
117
+ break
118
+ if chosen:
119
+ data = getattr(entry, "data", None)
120
+ if data is None:
121
+ entry.data = {}
122
+ data = entry.data
123
+ data["material_id"] = chosen
114
124
 
115
125
 
116
126
  def fetch_stable_entries(elements, api_key=None):
@@ -182,6 +192,10 @@ def download_mp_symmetrized_cif(material_id, path, api_key=None):
182
192
  headers["X-API-KEY"] = key
183
193
  quoted = quote(material_id, safe="")
184
194
  urls = [
195
+ f"https://api.materialsproject.org/materials/{quoted}/cif?symmetrized=true",
196
+ f"https://api.materialsproject.org/materials/{quoted}/cif",
197
+ f"https://api.materialsproject.org/materials/core/{quoted}/cif?symmetrized=true",
198
+ f"https://api.materialsproject.org/materials/core/{quoted}/cif",
185
199
  f"https://materialsproject.org/materials/{quoted}/cif?download=true&symmetrized=true",
186
200
  f"https://materialsproject.org/materials/{quoted}/cif?symmetrized=true",
187
201
  f"https://www.materialsproject.org/rest/v2/materials/{quoted}/cif",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pymdkit
3
- Version: 1.2.8
3
+ Version: 1.2.10
4
4
  Summary: A unified command-line toolkit for atomistic / MD structure workflows.
5
5
  Author-email: Yueda Wang <ydwang0608@ustc.edu.cn>
6
6
  License-Expression: GPL-3.0-or-later
File without changes
File without changes
File without changes