emmet-builders 0.84.2rc0__tar.gz → 0.84.2rc2__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.
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/PKG-INFO +1 -1
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet/builders/abinit/phonon.py +22 -24
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet/builders/materials/alloys.py +9 -9
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet/builders/materials/corrected_entries.py +10 -10
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet/builders/materials/electrodes.py +12 -10
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet/builders/materials/provenance.py +3 -3
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet/builders/utils.py +15 -13
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet_builders.egg-info/PKG-INFO +1 -1
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/requirements/ubuntu-latest_py3.10.txt +29 -29
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/requirements/ubuntu-latest_py3.10_extras.txt +40 -38
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/requirements/ubuntu-latest_py3.11.txt +28 -28
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/requirements/ubuntu-latest_py3.11_extras.txt +37 -37
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/tests/test_vasp.py +3 -1
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/MANIFEST.in +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet/builders/__init__.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet/builders/abinit/__init__.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet/builders/abinit/sound_velocity.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet/builders/feff/__init__.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet/builders/feff/xas.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet/builders/materials/__init__.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet/builders/materials/absorption_spectrum.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet/builders/materials/basic_descriptors.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet/builders/materials/bonds.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet/builders/materials/chemenv.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet/builders/materials/dielectric.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet/builders/materials/elasticity.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet/builders/materials/electronic_structure.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet/builders/materials/magnetism.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet/builders/materials/ml.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet/builders/materials/optimade.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet/builders/materials/oxidation_states.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet/builders/materials/piezoelectric.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet/builders/materials/robocrys.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet/builders/materials/similarity.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet/builders/materials/substrates.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet/builders/materials/summary.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet/builders/materials/thermo.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet/builders/matscholar/missing_compositions.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet/builders/mobility/__init__.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet/builders/mobility/migration_graph.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet/builders/molecules/__init__.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet/builders/molecules/atomic.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet/builders/molecules/bonds.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet/builders/molecules/metal_binding.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet/builders/molecules/orbitals.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet/builders/molecules/redox.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet/builders/molecules/summary.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet/builders/molecules/thermo.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet/builders/molecules/vibration.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet/builders/qchem/__init__.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet/builders/qchem/molecules.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet/builders/settings.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet/builders/vasp/__init__.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet/builders/vasp/materials.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet/builders/vasp/mp_potcar_stats.json.gz +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet/builders/vasp/task_validator.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet_builders.egg-info/SOURCES.txt +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet_builders.egg-info/dependency_links.txt +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet_builders.egg-info/not-zip-safe +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet_builders.egg-info/requires.txt +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet_builders.egg-info/top_level.txt +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/requirements/deployment.txt +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/requirements/ubuntu-latest_py3.9.txt +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/requirements/ubuntu-latest_py3.9_extras.txt +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/setup.cfg +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/setup.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/tests/__init__.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/tests/conftest.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/tests/molecules/__init__.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/tests/molecules/test_atomic.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/tests/molecules/test_bonds.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/tests/molecules/test_metal_binding.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/tests/molecules/test_orbitals.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/tests/molecules/test_redox.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/tests/molecules/test_summary.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/tests/molecules/test_thermo.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/tests/molecules/test_vibration.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/tests/test_absorption.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/tests/test_basic_descriptors.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/tests/test_chemenv.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/tests/test_corrected_entries_thermo.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/tests/test_dielectric.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/tests/test_elasticity.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/tests/test_electronic_structure.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/tests/test_magnetism.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/tests/test_materials.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/tests/test_ml.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/tests/test_mobility.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/tests/test_oxidation.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/tests/test_piezoelectric.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/tests/test_qchem.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/tests/test_similarity.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/tests/test_summary.py +0 -0
- {emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/tests/test_utils.py +0 -0
|
@@ -1,41 +1,39 @@
|
|
|
1
|
-
import tempfile
|
|
2
1
|
import os
|
|
2
|
+
import tempfile
|
|
3
3
|
from math import ceil
|
|
4
|
-
from
|
|
4
|
+
from typing import Dict, Iterator, List, Optional, Tuple
|
|
5
|
+
|
|
5
6
|
import numpy as np
|
|
6
|
-
from
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
|
2
|
-
from typing import
|
|
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"]:
|
{emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet/builders/materials/corrected_entries.py
RENAMED
|
@@ -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
|
|
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.
|
|
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
|
|
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[
|
|
51
|
+
self._entries_cache: Dict[str, List[Dict]] = defaultdict(list)
|
|
52
52
|
|
|
53
53
|
if self.corrected_entries.key != "chemsys":
|
|
54
54
|
warnings.warn(
|
{emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet/builders/materials/electrodes.py
RENAMED
|
@@ -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,
|
|
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.
|
|
12
|
+
from pymatgen.analysis.phase_diagram import Composition, PhaseDiagram
|
|
13
13
|
from pymatgen.entries.compatibility import MaterialsProject2020Compatibility
|
|
14
|
-
from pymatgen.
|
|
14
|
+
from pymatgen.entries.computed_entries import ComputedEntry, ComputedStructureEntry
|
|
15
15
|
|
|
16
|
-
from emmet.
|
|
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:
|
|
568
|
-
|
|
569
|
-
|
|
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
|
|
{emmet-builders-0.84.2rc0 → emmet-builders-0.84.2rc2}/emmet/builders/materials/provenance.py
RENAMED
|
@@ -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
|
-
|
|
3
|
-
import
|
|
2
|
+
|
|
3
|
+
import json
|
|
4
4
|
import os
|
|
5
|
-
|
|
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
|
|
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
|
|
@@ -15,15 +15,15 @@ attrs==23.2.0
|
|
|
15
15
|
# jsonlines
|
|
16
16
|
# jsonschema
|
|
17
17
|
# referencing
|
|
18
|
-
bcrypt==4.
|
|
18
|
+
bcrypt==4.2.0
|
|
19
19
|
# via paramiko
|
|
20
|
-
boto3==1.34.
|
|
20
|
+
boto3==1.34.146
|
|
21
21
|
# via maggma
|
|
22
|
-
botocore==1.34.
|
|
22
|
+
botocore==1.34.146
|
|
23
23
|
# via
|
|
24
24
|
# boto3
|
|
25
25
|
# s3transfer
|
|
26
|
-
certifi==2024.
|
|
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==
|
|
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.
|
|
48
|
+
exceptiongroup==1.2.2
|
|
49
49
|
# via pytest
|
|
50
50
|
fasteners==0.19
|
|
51
51
|
# via mdanalysis
|
|
52
|
-
fonttools==4.53.
|
|
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.
|
|
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.
|
|
77
|
+
jsonschema==4.23.0
|
|
78
78
|
# via maggma
|
|
79
79
|
jsonschema-specifications==2023.12.1
|
|
80
80
|
# via jsonschema
|
|
@@ -92,7 +92,7 @@ matminer==0.9.2
|
|
|
92
92
|
# via
|
|
93
93
|
# emmet-builders (setup.py)
|
|
94
94
|
# robocrys
|
|
95
|
-
matplotlib==3.9.
|
|
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.
|
|
113
|
+
monty==2024.7.12
|
|
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.
|
|
127
|
+
mrcfile==1.5.2
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
207
|
+
pydantic==2.8.2
|
|
208
208
|
# via
|
|
209
209
|
# emmet-core
|
|
210
210
|
# maggma
|
|
211
211
|
# pydantic-settings
|
|
212
|
-
pydantic-core==2.20.
|
|
212
|
+
pydantic-core==2.20.1
|
|
213
213
|
# via pydantic
|
|
214
214
|
pydantic-settings==2.3.4
|
|
215
215
|
# via
|
|
216
216
|
# emmet-core
|
|
217
217
|
# maggma
|
|
218
|
-
pydash==8.0.
|
|
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.
|
|
241
|
+
pytest==8.3.1
|
|
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.
|
|
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.
|
|
272
|
+
rpds-py==0.19.0
|
|
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.
|
|
285
|
+
scikit-learn==1.5.1
|
|
286
286
|
# via matminer
|
|
287
|
-
scipy==1.
|
|
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.
|
|
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.
|
|
310
|
+
solvation-analysis==0.4.1
|
|
311
311
|
# via
|
|
312
312
|
# emmet-builders (setup.py)
|
|
313
313
|
# emmet-core
|
|
314
|
-
spglib==2.
|
|
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.
|
|
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.
|
|
330
|
+
tenacity==8.5.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.
|
|
356
|
+
uncertainties==3.2.2
|
|
357
357
|
# via pymatgen
|
|
358
358
|
urllib3==2.2.2
|
|
359
359
|
# via
|