emmet-builders 0.84.2rc0__tar.gz → 0.84.2rc3__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.

Potentially problematic release.


This version of emmet-builders might be problematic. Click here for more details.

Files changed (94) hide show
  1. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/PKG-INFO +2 -1
  2. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/emmet/builders/abinit/phonon.py +22 -24
  3. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/emmet/builders/materials/alloys.py +9 -9
  4. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/emmet/builders/materials/corrected_entries.py +10 -10
  5. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/emmet/builders/materials/electrodes.py +12 -10
  6. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/emmet/builders/materials/provenance.py +3 -3
  7. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/emmet/builders/utils.py +15 -13
  8. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/emmet_builders.egg-info/PKG-INFO +2 -1
  9. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/emmet_builders.egg-info/SOURCES.txt +0 -2
  10. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/emmet_builders.egg-info/requires.txt +3 -0
  11. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/requirements/deployment.txt +15 -15
  12. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/requirements/ubuntu-latest_py3.10.txt +31 -31
  13. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/requirements/ubuntu-latest_py3.10_extras.txt +57 -47
  14. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/requirements/ubuntu-latest_py3.11.txt +30 -30
  15. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/requirements/ubuntu-latest_py3.11_extras.txt +54 -46
  16. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/setup.py +1 -0
  17. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/tests/test_vasp.py +3 -1
  18. emmet-builders-0.84.2rc0/requirements/ubuntu-latest_py3.9.txt +0 -475
  19. emmet-builders-0.84.2rc0/requirements/ubuntu-latest_py3.9_extras.txt +0 -758
  20. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/MANIFEST.in +0 -0
  21. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/emmet/builders/__init__.py +0 -0
  22. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/emmet/builders/abinit/__init__.py +0 -0
  23. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/emmet/builders/abinit/sound_velocity.py +0 -0
  24. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/emmet/builders/feff/__init__.py +0 -0
  25. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/emmet/builders/feff/xas.py +0 -0
  26. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/emmet/builders/materials/__init__.py +0 -0
  27. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/emmet/builders/materials/absorption_spectrum.py +0 -0
  28. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/emmet/builders/materials/basic_descriptors.py +0 -0
  29. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/emmet/builders/materials/bonds.py +0 -0
  30. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/emmet/builders/materials/chemenv.py +0 -0
  31. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/emmet/builders/materials/dielectric.py +0 -0
  32. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/emmet/builders/materials/elasticity.py +0 -0
  33. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/emmet/builders/materials/electronic_structure.py +0 -0
  34. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/emmet/builders/materials/magnetism.py +0 -0
  35. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/emmet/builders/materials/ml.py +0 -0
  36. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/emmet/builders/materials/optimade.py +0 -0
  37. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/emmet/builders/materials/oxidation_states.py +0 -0
  38. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/emmet/builders/materials/piezoelectric.py +0 -0
  39. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/emmet/builders/materials/robocrys.py +0 -0
  40. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/emmet/builders/materials/similarity.py +0 -0
  41. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/emmet/builders/materials/substrates.py +0 -0
  42. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/emmet/builders/materials/summary.py +0 -0
  43. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/emmet/builders/materials/thermo.py +0 -0
  44. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/emmet/builders/matscholar/missing_compositions.py +0 -0
  45. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/emmet/builders/mobility/__init__.py +0 -0
  46. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/emmet/builders/mobility/migration_graph.py +0 -0
  47. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/emmet/builders/molecules/__init__.py +0 -0
  48. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/emmet/builders/molecules/atomic.py +0 -0
  49. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/emmet/builders/molecules/bonds.py +0 -0
  50. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/emmet/builders/molecules/metal_binding.py +0 -0
  51. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/emmet/builders/molecules/orbitals.py +0 -0
  52. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/emmet/builders/molecules/redox.py +0 -0
  53. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/emmet/builders/molecules/summary.py +0 -0
  54. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/emmet/builders/molecules/thermo.py +0 -0
  55. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/emmet/builders/molecules/vibration.py +0 -0
  56. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/emmet/builders/qchem/__init__.py +0 -0
  57. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/emmet/builders/qchem/molecules.py +0 -0
  58. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/emmet/builders/settings.py +0 -0
  59. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/emmet/builders/vasp/__init__.py +0 -0
  60. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/emmet/builders/vasp/materials.py +0 -0
  61. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/emmet/builders/vasp/mp_potcar_stats.json.gz +0 -0
  62. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/emmet/builders/vasp/task_validator.py +0 -0
  63. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/emmet_builders.egg-info/dependency_links.txt +0 -0
  64. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/emmet_builders.egg-info/not-zip-safe +0 -0
  65. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/emmet_builders.egg-info/top_level.txt +0 -0
  66. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/setup.cfg +0 -0
  67. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/tests/__init__.py +0 -0
  68. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/tests/conftest.py +0 -0
  69. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/tests/molecules/__init__.py +0 -0
  70. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/tests/molecules/test_atomic.py +0 -0
  71. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/tests/molecules/test_bonds.py +0 -0
  72. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/tests/molecules/test_metal_binding.py +0 -0
  73. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/tests/molecules/test_orbitals.py +0 -0
  74. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/tests/molecules/test_redox.py +0 -0
  75. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/tests/molecules/test_summary.py +0 -0
  76. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/tests/molecules/test_thermo.py +0 -0
  77. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/tests/molecules/test_vibration.py +0 -0
  78. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/tests/test_absorption.py +0 -0
  79. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/tests/test_basic_descriptors.py +0 -0
  80. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/tests/test_chemenv.py +0 -0
  81. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/tests/test_corrected_entries_thermo.py +0 -0
  82. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/tests/test_dielectric.py +0 -0
  83. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/tests/test_elasticity.py +0 -0
  84. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/tests/test_electronic_structure.py +0 -0
  85. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/tests/test_magnetism.py +0 -0
  86. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/tests/test_materials.py +0 -0
  87. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/tests/test_ml.py +0 -0
  88. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/tests/test_mobility.py +0 -0
  89. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/tests/test_oxidation.py +0 -0
  90. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/tests/test_piezoelectric.py +0 -0
  91. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/tests/test_qchem.py +0 -0
  92. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/tests/test_similarity.py +0 -0
  93. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/tests/test_summary.py +0 -0
  94. {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc3}/tests/test_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: emmet-builders
3
- Version: 0.84.2rc0
3
+ Version: 0.84.2rc3
4
4
  Summary: Builders for the Emmet Library
5
5
  Home-page: https://github.com/materialsproject/emmet
6
6
  Author: The Materials Project
@@ -12,6 +12,7 @@ Description-Content-Type: text/markdown
12
12
  Provides-Extra: test
13
13
  Provides-Extra: docs
14
14
  Provides-Extra: ml
15
+ Provides-Extra: openmm
15
16
 
16
17
  # ![Emmet](docs/images/logo_w_text.svg)
17
18
 
@@ -1,41 +1,39 @@
1
- import tempfile
2
1
  import os
2
+ import tempfile
3
3
  from math import ceil
4
- from emmet.builders.settings import EmmetBuildSettings
4
+ from typing import Dict, Iterator, List, Optional, Tuple
5
+
5
6
  import numpy as np
6
- from typing import Optional, Dict, List, Iterator, Tuple
7
+ from abipy.abio.inputs import AnaddbInput
8
+ from abipy.core.abinit_units import eV_to_THz
9
+ from abipy.dfpt.anaddbnc import AnaddbNcFile
10
+ from abipy.dfpt.ddb import AnaddbError, DdbFile, DielectricTensorGenerator
11
+ from abipy.dfpt.phonons import PhononBands
12
+ from abipy.flowtk.tasks import AnaddbTask, TaskManager
13
+ from maggma.builders import Builder
14
+ from maggma.core import Store
7
15
  from maggma.utils import grouper
8
-
16
+ from pymatgen.core.structure import Structure
17
+ from pymatgen.io.abinit.abiobjects import KSampling
9
18
  from pymatgen.phonon.bandstructure import PhononBandStructureSymmLine
10
19
  from pymatgen.phonon.dos import CompletePhononDos
11
20
  from pymatgen.phonon.ir_spectra import IRDielectricTensor
12
- from pymatgen.core.structure import Structure
13
- from pymatgen.io.abinit.abiobjects import KSampling
14
- from pymatgen.symmetry.bandstructure import HighSymmKpath
15
21
  from pymatgen.symmetry.analyzer import SpacegroupAnalyzer
16
- from abipy.dfpt.anaddbnc import AnaddbNcFile
17
- from abipy.abio.inputs import AnaddbInput
18
- from abipy.flowtk.tasks import AnaddbTask, TaskManager
19
- from abipy.dfpt.ddb import AnaddbError, DielectricTensorGenerator, DdbFile
20
- from abipy.dfpt.phonons import PhononBands
21
- from abipy.core.abinit_units import eV_to_THz
22
- from maggma.builders import Builder
23
- from maggma.core import Store
22
+ from pymatgen.symmetry.bandstructure import HighSymmKpath
24
23
 
24
+ from emmet.builders.settings import EmmetBuildSettings
25
25
  from emmet.core.phonon import (
26
- PhononWarnings,
27
- ThermodynamicProperties,
28
26
  AbinitPhonon,
29
- VibrationalEnergy,
30
- )
31
- from emmet.core.phonon import (
32
- PhononDos,
27
+ Ddb,
33
28
  PhononBandStructure,
29
+ PhononDos,
30
+ PhononWarnings,
34
31
  PhononWebsiteBS,
35
- Ddb,
36
32
  ThermalDisplacement,
33
+ ThermodynamicProperties,
34
+ VibrationalEnergy,
37
35
  )
38
- from emmet.core.polar import DielectricDoc, BornEffectiveCharges, IRDielectric
36
+ from emmet.core.polar import BornEffectiveCharges, DielectricDoc, IRDielectric
39
37
  from emmet.core.utils import jsanitize
40
38
 
41
39
  SETTINGS = EmmetBuildSettings()
@@ -679,7 +677,7 @@ class PhononBuilder(Builder):
679
677
  )
680
678
 
681
679
  ph_bs_sl = PhononBandStructureSymmLine(
682
- qpoints=qpts,
680
+ qpoints=qpts, # type: ignore[arg-type]
683
681
  frequencies=ph_freqs,
684
682
  lattice=structure.reciprocal_lattice,
685
683
  has_nac=phbands.non_anal_ph is not None,
@@ -1,19 +1,19 @@
1
- from itertools import combinations, chain
2
- from typing import Tuple, List, Dict, Union
1
+ from itertools import chain, combinations
2
+ from typing import Dict, List, Tuple, Union
3
3
 
4
- from tqdm import tqdm
5
4
  from maggma.builders import Builder
6
- from pymatgen.core.structure import Structure
7
5
  from matminer.datasets import load_dataset
8
- from emmet.core.thermo import ThermoType
9
-
10
6
  from pymatgen.analysis.alloys.core import (
11
- AlloyPair,
12
- InvalidAlloy,
13
7
  KNOWN_ANON_FORMULAS,
14
8
  AlloyMember,
9
+ AlloyPair,
15
10
  AlloySystem,
11
+ InvalidAlloy,
16
12
  )
13
+ from pymatgen.core.structure import Structure
14
+ from tqdm import tqdm
15
+
16
+ from emmet.core.thermo import ThermoType
17
17
 
18
18
  # rough sort of ANON_FORMULAS by "complexity"
19
19
  ANON_FORMULAS = sorted(KNOWN_ANON_FORMULAS, key=lambda af: len(af))
@@ -291,7 +291,7 @@ class AlloyPairMemberBuilder(Builder):
291
291
  is_ordered=structure.is_ordered,
292
292
  x=pair.get_x(structure.composition),
293
293
  )
294
- pair_members["members"].append(member.as_dict())
294
+ pair_members["members"].append(member.as_dict()) # type: ignore[attr-defined]
295
295
  except Exception as exc:
296
296
  print(f"Exception for {db_id}: {exc}")
297
297
  if pair_members["members"]:
@@ -1,20 +1,20 @@
1
+ import copy
1
2
  import warnings
2
3
  from collections import defaultdict
4
+ from datetime import datetime
3
5
  from itertools import chain
4
- from typing import Dict, Iterable, Iterator, List, Optional
5
6
  from math import ceil
6
- import copy
7
- from datetime import datetime
7
+ from typing import Dict, Iterable, Iterator, List, Optional, Union
8
8
 
9
9
  from maggma.core import Builder, Store
10
10
  from maggma.utils import grouper
11
- from pymatgen.entries.computed_entries import ComputedStructureEntry
12
11
  from pymatgen.entries.compatibility import Compatibility
12
+ from pymatgen.entries.computed_entries import ComputedStructureEntry
13
13
 
14
- from emmet.core.utils import jsanitize
15
- from emmet.builders.utils import chemsys_permutations, HiddenPrints
16
- from emmet.core.thermo import ThermoType
14
+ from emmet.builders.utils import HiddenPrints, chemsys_permutations
17
15
  from emmet.core.corrected_entries import CorrectedEntriesDoc
16
+ from emmet.core.thermo import ThermoType
17
+ from emmet.core.utils import jsanitize
18
18
 
19
19
 
20
20
  class CorrectedEntriesBuilder(Builder):
@@ -24,7 +24,7 @@ class CorrectedEntriesBuilder(Builder):
24
24
  corrected_entries: Store,
25
25
  oxidation_states: Optional[Store] = None,
26
26
  query: Optional[Dict] = None,
27
- compatibility: Optional[List[Compatibility]] = None,
27
+ compatibility: Optional[Union[List[Compatibility], List[None]]] = [None],
28
28
  chunk_size: int = 1000,
29
29
  **kwargs,
30
30
  ):
@@ -45,10 +45,10 @@ class CorrectedEntriesBuilder(Builder):
45
45
  self.materials = materials
46
46
  self.query = query if query else {}
47
47
  self.corrected_entries = corrected_entries
48
- self.compatibility = compatibility or [None]
48
+ self.compatibility = compatibility
49
49
  self.oxidation_states = oxidation_states
50
50
  self.chunk_size = chunk_size
51
- self._entries_cache: Dict[str, List[ComputedStructureEntry]] = defaultdict(list)
51
+ self._entries_cache: Dict[str, List[Dict]] = defaultdict(list)
52
52
 
53
53
  if self.corrected_entries.key != "chemsys":
54
54
  warnings.warn(
@@ -1,22 +1,22 @@
1
1
  import operator
2
+ from collections import defaultdict
2
3
  from datetime import datetime
3
4
  from functools import lru_cache
4
5
  from itertools import chain
5
6
  from math import ceil
6
- from typing import Any, Iterator, Dict, List, Optional
7
- from collections import defaultdict
7
+ from typing import Any, Dict, Iterator, List, Optional
8
8
 
9
9
  from maggma.builders import Builder
10
10
  from maggma.stores import MongoStore
11
11
  from maggma.utils import grouper
12
- from pymatgen.entries.computed_entries import ComputedEntry, ComputedStructureEntry
12
+ from pymatgen.analysis.phase_diagram import Composition, PhaseDiagram
13
13
  from pymatgen.entries.compatibility import MaterialsProject2020Compatibility
14
- from pymatgen.analysis.phase_diagram import PhaseDiagram, Composition
14
+ from pymatgen.entries.computed_entries import ComputedEntry, ComputedStructureEntry
15
15
 
16
- from emmet.core.electrode import InsertionElectrodeDoc, ConversionElectrodeDoc
16
+ from emmet.builders.settings import EmmetBuildSettings
17
+ from emmet.core.electrode import ConversionElectrodeDoc, InsertionElectrodeDoc
17
18
  from emmet.core.structure_group import StructureGroupDoc, _get_id_lexi
18
19
  from emmet.core.utils import jsanitize
19
- from emmet.builders.settings import EmmetBuildSettings
20
20
 
21
21
 
22
22
  def s_hash(el):
@@ -564,9 +564,11 @@ class ConversionElectrodeBuilder(Builder):
564
564
  # Get lowest material_id with matching composition
565
565
  material_ids = [
566
566
  (
567
- lambda x: x.data["material_id"]
568
- if x.composition.reduced_formula == v[1].reduced_formula
569
- else None
567
+ lambda x: (
568
+ x.data["material_id"] # type: ignore[attr-defined]
569
+ if x.composition.reduced_formula == v[1].reduced_formula
570
+ else None
571
+ )
570
572
  )(e)
571
573
  for e in pd.entries
572
574
  ]
@@ -597,7 +599,7 @@ class ConversionElectrodeBuilder(Builder):
597
599
  relevant_entry_data = []
598
600
  for e in pd.entries:
599
601
  if e.composition == Composition(c):
600
- relevant_entry_data.append((e.energy_per_atom, e.entry_id))
602
+ relevant_entry_data.append((e.energy_per_atom, e.entry_id)) # type: ignore[attr-defined]
601
603
  relevant_entry_data.sort(key=lambda x: x[0])
602
604
  entry_id_mapping[c] = relevant_entry_data[0][1]
603
605
 
@@ -1,7 +1,7 @@
1
1
  from collections import defaultdict
2
- from typing import Dict, Iterable, List, Optional, Tuple
3
- from math import ceil
4
2
  from datetime import datetime
3
+ from math import ceil
4
+ from typing import Dict, Iterable, List, Optional, Tuple
5
5
 
6
6
  from maggma.core import Builder, Store
7
7
  from maggma.utils import grouper
@@ -168,7 +168,7 @@ class ProvenanceBuilder(Builder):
168
168
  for snl in snls:
169
169
  struc = Structure.from_dict(snl)
170
170
  snl_sg = get_sg(struc)
171
- struc.snl = SNLDict(**snl)
171
+ struc.snl = SNLDict(**snl) # type: ignore[attr-defined]
172
172
  snl_groups[snl_sg].append(struc)
173
173
 
174
174
  mat_sg = get_sg(Structure.from_dict(mat["structure"]))
@@ -1,17 +1,19 @@
1
1
  from __future__ import annotations
2
- from typing import Set, Union, Any, Literal, Optional
3
- import sys
2
+
3
+ import json
4
4
  import os
5
- from pathlib import Path
5
+ import sys
6
6
  from gzip import GzipFile
7
- import orjson
8
- import json
9
7
  from io import BytesIO
10
- from monty.serialization import MontyDecoder
11
- from botocore.exceptions import ClientError
12
8
  from itertools import chain, combinations
13
- from pymatgen.core import Structure
9
+ from pathlib import Path
10
+ from typing import Any, Literal, Optional, Set, Union
11
+
12
+ import orjson
13
+ from botocore.exceptions import ClientError
14
+ from monty.serialization import MontyDecoder
14
15
  from pymatgen.analysis.diffusion.neb.full_path_mapper import MigrationGraph
16
+ from pymatgen.core import Structure
15
17
  from pymatgen.io.vasp.inputs import PotcarSingle
16
18
 
17
19
  from emmet.builders.settings import EmmetBuildSettings
@@ -275,16 +277,16 @@ def get_potcar_stats(
275
277
  # fallback method for validation - use header hash and symbol
276
278
  # note that the potcar_spec assigns PotcarSingle.symbol to "titel"
277
279
  # whereas the ***correct*** field is `header`
278
- summary_stats["titel"] = potcar.header
279
- summary_stats["hash"] = potcar.md5_header_hash
280
- summary_stats = [summary_stats]
280
+ summary_stats["titel"] = potcar.header # type: ignore[assignment]
281
+ summary_stats["hash"] = potcar.md5_header_hash # type: ignore[assignment]
282
+ summary_stats = [summary_stats] # type: ignore[assignment]
281
283
 
282
284
  elif method == "pymatgen":
283
- summary_stats = []
285
+ summary_stats = [] # type: ignore[assignment]
284
286
  for _, entries in PotcarSingle._potcar_summary_stats[
285
287
  functional
286
288
  ].items():
287
- summary_stats += [
289
+ summary_stats += [ # type: ignore[operator]
288
290
  {**entry, "titel": None, "hash": None}
289
291
  for entry in entries
290
292
  if entry["symbol"] == potcar_symbol
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: emmet-builders
3
- Version: 0.84.2rc0
3
+ Version: 0.84.2rc3
4
4
  Summary: Builders for the Emmet Library
5
5
  Home-page: https://github.com/materialsproject/emmet
6
6
  Author: The Materials Project
@@ -12,6 +12,7 @@ Description-Content-Type: text/markdown
12
12
  Provides-Extra: test
13
13
  Provides-Extra: docs
14
14
  Provides-Extra: ml
15
+ Provides-Extra: openmm
15
16
 
16
17
  # ![Emmet](docs/images/logo_w_text.svg)
17
18
 
@@ -59,8 +59,6 @@ requirements/ubuntu-latest_py3.10.txt
59
59
  requirements/ubuntu-latest_py3.10_extras.txt
60
60
  requirements/ubuntu-latest_py3.11.txt
61
61
  requirements/ubuntu-latest_py3.11_extras.txt
62
- requirements/ubuntu-latest_py3.9.txt
63
- requirements/ubuntu-latest_py3.9_extras.txt
64
62
  tests/__init__.py
65
63
  tests/conftest.py
66
64
  tests/test_absorption.py
@@ -19,6 +19,9 @@ jinja2
19
19
  [ml]
20
20
  emmet-core[ml]
21
21
 
22
+ [openmm]
23
+ transport-analysis>=0.1.0
24
+
22
25
  [test]
23
26
  pre-commit
24
27
  pytest
@@ -4,7 +4,7 @@
4
4
  #
5
5
  # pip-compile --output-file=emmet/emmet-builders/requirements/deployment.txt emmet/emmet-builders/setup.py python/requirements.txt
6
6
  #
7
- aiohttp==3.9.3
7
+ aiohttp==3.9.4
8
8
  # via fsspec
9
9
  aioitertools==0.11.0
10
10
  # via maggma
@@ -36,7 +36,7 @@ botocore==1.34.34
36
36
  # via
37
37
  # boto3
38
38
  # s3transfer
39
- certifi==2024.2.2
39
+ certifi==2024.7.4
40
40
  # via requests
41
41
  cffi==1.16.0
42
42
  # via
@@ -53,7 +53,7 @@ click==8.1.7
53
53
  # uvicorn
54
54
  contourpy==1.2.0
55
55
  # via matplotlib
56
- cryptography==42.0.2
56
+ cryptography==42.0.4
57
57
  # via paramiko
58
58
  cycler==0.12.1
59
59
  # via matplotlib
@@ -61,7 +61,7 @@ cython==3.0.8
61
61
  # via chgnet
62
62
  dgl==1.1.3
63
63
  # via matgl
64
- dnspython==2.5.0
64
+ dnspython==2.6.1
65
65
  # via
66
66
  # maggma
67
67
  # pymongo
@@ -95,7 +95,7 @@ h11==0.14.0
95
95
  # via uvicorn
96
96
  h5py==3.10.0
97
97
  # via phonopy
98
- idna==3.6
98
+ idna==3.7
99
99
  # via
100
100
  # anyio
101
101
  # requests
@@ -104,7 +104,7 @@ inflect==7.0.0
104
104
  # via robocrys
105
105
  itsdangerous==2.1.2
106
106
  # via flask
107
- jinja2==3.1.3
107
+ jinja2==3.1.4
108
108
  # via
109
109
  # flask
110
110
  # torch
@@ -230,7 +230,7 @@ nvidia-nvjitlink-cu12==12.3.101
230
230
  # nvidia-cusparse-cu12
231
231
  nvidia-nvtx-cu12==12.1.105
232
232
  # via torch
233
- orjson==3.9.13
233
+ orjson==3.9.15
234
234
  # via maggma
235
235
  packaging==23.2
236
236
  # via
@@ -251,7 +251,7 @@ paramiko==3.4.0
251
251
  # via sshtunnel
252
252
  phonopy==2.21.0
253
253
  # via matcalc
254
- pillow==10.2.0
254
+ pillow==10.3.0
255
255
  # via matplotlib
256
256
  plotly==5.18.0
257
257
  # via pymatgen
@@ -281,7 +281,7 @@ pydantic-settings==2.1.0
281
281
  # maggma
282
282
  pydash==7.0.7
283
283
  # via maggma
284
- pymatgen==2024.1.27
284
+ pymatgen==2024.2.20
285
285
  # via
286
286
  # chgnet
287
287
  # emmet-core
@@ -295,7 +295,7 @@ pymatgen-analysis-alloys==0.0.6
295
295
  # via emmet-core
296
296
  pymatgen-analysis-diffusion==2023.8.15
297
297
  # via emmet-core
298
- pymongo==4.6.1
298
+ pymongo==4.6.3
299
299
  # via
300
300
  # maggma
301
301
  # matminer
@@ -327,7 +327,7 @@ referencing==0.33.0
327
327
  # via
328
328
  # jsonschema
329
329
  # jsonschema-specifications
330
- requests==2.31.0
330
+ requests==2.32.2
331
331
  # via
332
332
  # dgl
333
333
  # matminer
@@ -348,7 +348,7 @@ ruamel-yaml-clib==0.2.8
348
348
  # via ruamel-yaml
349
349
  s3transfer==0.10.0
350
350
  # via boto3
351
- scikit-learn==1.4.0
351
+ scikit-learn==1.5.0
352
352
  # via matminer
353
353
  scipy==1.12.0
354
354
  # via
@@ -400,7 +400,7 @@ torch==2.2.0
400
400
  # torchmetrics
401
401
  torchmetrics==1.3.0.post0
402
402
  # via pytorch-lightning
403
- tqdm==4.66.1
403
+ tqdm==4.66.3
404
404
  # via
405
405
  # dgl
406
406
  # maggma
@@ -424,13 +424,13 @@ typing-extensions==4.9.0
424
424
  # uvicorn
425
425
  uncertainties==3.1.7
426
426
  # via pymatgen
427
- urllib3==2.0.7
427
+ urllib3==2.2.2
428
428
  # via
429
429
  # botocore
430
430
  # requests
431
431
  uvicorn==0.27.0.post1
432
432
  # via maggma
433
- werkzeug==3.0.1
433
+ werkzeug==3.0.3
434
434
  # via flask
435
435
  yarl==1.9.4
436
436
  # via aiohttp
@@ -15,15 +15,15 @@ attrs==23.2.0
15
15
  # jsonlines
16
16
  # jsonschema
17
17
  # referencing
18
- bcrypt==4.1.3
18
+ bcrypt==4.2.0
19
19
  # via paramiko
20
- boto3==1.34.137
20
+ boto3==1.34.151
21
21
  # via maggma
22
- botocore==1.34.137
22
+ botocore==1.34.151
23
23
  # via
24
24
  # boto3
25
25
  # s3transfer
26
- certifi==2024.6.2
26
+ certifi==2024.7.4
27
27
  # via requests
28
28
  cffi==1.16.0
29
29
  # via
@@ -33,7 +33,7 @@ charset-normalizer==3.3.2
33
33
  # via requests
34
34
  contourpy==1.2.1
35
35
  # via matplotlib
36
- cryptography==42.0.8
36
+ cryptography==43.0.0
37
37
  # via paramiko
38
38
  cycler==0.12.1
39
39
  # via matplotlib
@@ -45,11 +45,11 @@ emmet-core[all]==0.84.1
45
45
  # via
46
46
  # emmet-builders (setup.py)
47
47
  # mp-api
48
- exceptiongroup==1.2.1
48
+ exceptiongroup==1.2.2
49
49
  # via pytest
50
50
  fasteners==0.19
51
51
  # via mdanalysis
52
- fonttools==4.53.0
52
+ fonttools==4.53.1
53
53
  # via matplotlib
54
54
  griddataformats==1.0.2
55
55
  # via mdanalysis
@@ -57,7 +57,7 @@ h5py==3.11.0
57
57
  # via phonopy
58
58
  idna==3.7
59
59
  # via requests
60
- inflect==7.3.0
60
+ inflect==7.3.1
61
61
  # via robocrys
62
62
  iniconfig==2.0.0
63
63
  # via pytest
@@ -74,7 +74,7 @@ joblib==1.4.2
74
74
  # scikit-learn
75
75
  jsonlines==4.0.0
76
76
  # via maggma
77
- jsonschema==4.22.0
77
+ jsonschema==4.23.0
78
78
  # via maggma
79
79
  jsonschema-specifications==2023.12.1
80
80
  # via jsonschema
@@ -82,7 +82,7 @@ kiwisolver==1.4.5
82
82
  # via matplotlib
83
83
  latexcodec==3.0.0
84
84
  # via pybtex
85
- maggma==0.69.0
85
+ maggma==0.69.1
86
86
  # via
87
87
  # emmet-builders (setup.py)
88
88
  # mp-api
@@ -92,7 +92,7 @@ matminer==0.9.2
92
92
  # via
93
93
  # emmet-builders (setup.py)
94
94
  # robocrys
95
- matplotlib==3.9.0
95
+ matplotlib==3.9.1
96
96
  # via
97
97
  # ase
98
98
  # mdanalysis
@@ -110,7 +110,7 @@ mmtf-python==1.1.3
110
110
  # via mdanalysis
111
111
  mongomock==4.1.2
112
112
  # via maggma
113
- monty==2024.5.24
113
+ monty==2024.7.30
114
114
  # via
115
115
  # emmet-core
116
116
  # maggma
@@ -124,7 +124,7 @@ mp-api==0.41.2
124
124
  # via robocrys
125
125
  mpmath==1.3.0
126
126
  # via sympy
127
- mrcfile==1.5.0
127
+ mrcfile==1.5.3
128
128
  # via griddataformats
129
129
  msgpack==1.0.8
130
130
  # via
@@ -160,7 +160,7 @@ numpy==1.26.4
160
160
  # solvation-analysis
161
161
  # spglib
162
162
  # statsmodels
163
- orjson==3.10.5
163
+ orjson==3.10.6
164
164
  # via maggma
165
165
  packaging==24.1
166
166
  # via
@@ -183,13 +183,13 @@ paramiko==3.4.0
183
183
  # via sshtunnel
184
184
  patsy==0.5.6
185
185
  # via statsmodels
186
- phonopy==2.25.0
186
+ phonopy==2.26.6
187
187
  # via matcalc
188
188
  pillow==10.4.0
189
189
  # via
190
190
  # matplotlib
191
191
  # rdkit
192
- plotly==5.22.0
192
+ plotly==5.23.0
193
193
  # via
194
194
  # pymatgen
195
195
  # solvation-analysis
@@ -204,18 +204,18 @@ pybtex==0.24.0
204
204
  # robocrys
205
205
  pycparser==2.22
206
206
  # via cffi
207
- pydantic==2.8.0
207
+ pydantic==2.8.2
208
208
  # via
209
209
  # emmet-core
210
210
  # maggma
211
211
  # pydantic-settings
212
- pydantic-core==2.20.0
212
+ pydantic-core==2.20.1
213
213
  # via pydantic
214
- pydantic-settings==2.3.4
214
+ pydantic-settings==2.4.0
215
215
  # via
216
216
  # emmet-core
217
217
  # maggma
218
- pydash==8.0.1
218
+ pydash==8.0.3
219
219
  # via maggma
220
220
  pymatgen==2024.4.13
221
221
  # via
@@ -238,7 +238,7 @@ pynacl==1.5.0
238
238
  # via paramiko
239
239
  pyparsing==3.1.2
240
240
  # via matplotlib
241
- pytest==8.2.2
241
+ pytest==8.3.2
242
242
  # via solvation-analysis
243
243
  python-dateutil==2.9.0.post0
244
244
  # via
@@ -256,7 +256,7 @@ pyyaml==6.0.1
256
256
  # pybtex
257
257
  pyzmq==26.0.3
258
258
  # via maggma
259
- rdkit==2024.3.1
259
+ rdkit==2024.3.3
260
260
  # via solvation-analysis
261
261
  referencing==0.35.1
262
262
  # via
@@ -269,7 +269,7 @@ requests==2.32.3
269
269
  # pymatgen
270
270
  robocrys==0.2.9
271
271
  # via emmet-core
272
- rpds-py==0.18.1
272
+ rpds-py==0.19.1
273
273
  # via
274
274
  # jsonschema
275
275
  # referencing
@@ -282,9 +282,9 @@ ruamel-yaml-clib==0.2.8
282
282
  # via ruamel-yaml
283
283
  s3transfer==0.10.2
284
284
  # via boto3
285
- scikit-learn==1.5.0
285
+ scikit-learn==1.5.1
286
286
  # via matminer
287
- scipy==1.12.0
287
+ scipy==1.14.0
288
288
  # via
289
289
  # ase
290
290
  # griddataformats
@@ -298,7 +298,7 @@ seekpath==2.1.0
298
298
  # via emmet-core
299
299
  sentinels==1.0.0
300
300
  # via mongomock
301
- shapely==2.0.4
301
+ shapely==2.0.5
302
302
  # via pymatgen-analysis-alloys
303
303
  six==1.16.0
304
304
  # via
@@ -307,11 +307,11 @@ six==1.16.0
307
307
  # python-dateutil
308
308
  smart-open==7.0.4
309
309
  # via mp-api
310
- solvation-analysis==0.4.0
310
+ solvation-analysis==0.4.1
311
311
  # via
312
312
  # emmet-builders (setup.py)
313
313
  # emmet-core
314
- spglib==2.4.0
314
+ spglib==2.5.0
315
315
  # via
316
316
  # phonopy
317
317
  # pymatgen
@@ -321,13 +321,13 @@ sshtunnel==0.4.0
321
321
  # via maggma
322
322
  statsmodels==0.14.2
323
323
  # via solvation-analysis
324
- sympy==1.12.1
324
+ sympy==1.13.1
325
325
  # via
326
326
  # matminer
327
327
  # pymatgen
328
328
  tabulate==0.9.0
329
329
  # via pymatgen
330
- tenacity==8.4.2
330
+ tenacity==9.0.0
331
331
  # via plotly
332
332
  threadpoolctl==3.5.0
333
333
  # via
@@ -353,7 +353,7 @@ typing-extensions==4.12.2
353
353
  # typeguard
354
354
  tzdata==2024.1
355
355
  # via pandas
356
- uncertainties==3.2.1
356
+ uncertainties==3.2.2
357
357
  # via pymatgen
358
358
  urllib3==2.2.2
359
359
  # via