emmet-core 0.87.0.dev3__tar.gz → 0.87.0.dev5__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.
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/PKG-INFO +1 -1
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/material.py +2 -2
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/tasks.py +1 -2
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/thermo.py +1 -1
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/types/pymatgen_types/computed_entries_adapter.py +29 -17
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/types/pymatgen_types/phase_diagram_adapter.py +6 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/types/typing.py +29 -9
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/vasp/material.py +14 -11
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet_core.egg-info/PKG-INFO +1 -1
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/dev_scripts/gen_api_field_test.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/dev_scripts/generate_enums.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/dev_scripts/generate_identifier_exclude_list.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/__init__.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/_forbidden_alpha_id.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/_general_store.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/_messages.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/_user_settings.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/absorption.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/alloys.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/arrow.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/band_theory.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/base.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/bonds.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/charge_density.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/chemenv.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/corrected_entries.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/defect.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/disorder.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/dois.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/elasticity.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/elasticity_legacy.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/electrode.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/electronic_structure.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/eos.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/feff/__init__.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/feff/task.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/fermi.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/find_structure.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/formula_autocomplete.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/grain_boundary.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/magnetism.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/material_property.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/math.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/ml.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/mobility/__init__.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/mobility/migrationgraph.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/molecules/__init__.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/molecules/atomic.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/molecules/bonds.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/molecules/electric.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/molecules/metal_binding.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/molecules/molecule_property.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/molecules/orbitals.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/molecules/redox.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/molecules/summary.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/molecules/thermo.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/molecules/trajectory.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/molecules/vibration.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/molecules_jcesr.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/mpcomplete.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/mpid.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/mpid_ext.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/neb.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/openff/__init__.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/openff/tasks.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/openmm/__init__.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/openmm/calculations.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/openmm/tasks.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/optimade.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/oxidation_states.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/phonon.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/polar.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/provenance.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/py.typed +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/qc_tasks.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/qchem/__init__.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/qchem/calc_types/__init__.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/qchem/calc_types/calc_types.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/qchem/calc_types/calc_types.yaml +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/qchem/calc_types/em_utils.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/qchem/calc_types/enums.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/qchem/calc_types/utils.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/qchem/calculation.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/qchem/molecule.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/qchem/task.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/robocrys.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/settings.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/similarity.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/spectrum.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/structure.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/structure_group.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/substrates.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/summary.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/surface_properties.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/symmetry.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/synthesis/__init__.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/synthesis/core.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/synthesis/materials.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/synthesis/operations.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/synthesis/reaction.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/task.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/testing_utils.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/trajectory.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/types/__init__.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/types/enums.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/types/pymatgen_types/__init__.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/types/pymatgen_types/alloy_adapter.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/types/pymatgen_types/bader.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/types/pymatgen_types/balanced_reaction_adapter.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/types/pymatgen_types/bandstructure_symm_line_adapter.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/types/pymatgen_types/compatibility_adapter.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/types/pymatgen_types/composition_adapter.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/types/pymatgen_types/defect_adapter.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/types/pymatgen_types/diffraction_pattern_adapter.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/types/pymatgen_types/dos_adapter.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/types/pymatgen_types/electrode_adapter.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/types/pymatgen_types/element_adapter.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/types/pymatgen_types/grain_boundary_adapter.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/types/pymatgen_types/ir_dielectric_tensor_adapter.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/types/pymatgen_types/kpoint_adapter.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/types/pymatgen_types/kpoints_adapter.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/types/pymatgen_types/lattice_adapter.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/types/pymatgen_types/mixing_scheme_adapter.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/types/pymatgen_types/outcar_adapter.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/types/pymatgen_types/phonon_adapter.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/types/pymatgen_types/poscar_adapter.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/types/pymatgen_types/properties.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/types/pymatgen_types/sites_adapter.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/types/pymatgen_types/species_adapter.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/types/pymatgen_types/structure_adapter.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/types/pymatgen_types/structure_graph_adapter.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/types/pymatgen_types/structure_matcher_adapter.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/types/pymatgen_types/trajectory_adapter.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/types/pymatgen_types/xas_adapter.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/utils.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/vasp/__init__.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/vasp/calc_types/__init__.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/vasp/calc_types/calc_types.yaml +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/vasp/calc_types/enums.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/vasp/calc_types/utils.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/vasp/calculation.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/vasp/models.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/vasp/task_valid.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/vasp/utils.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/vasp/validation.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/vasp/validation_legacy.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/xas.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/xrd.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet_core.egg-info/SOURCES.txt +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet_core.egg-info/dependency_links.txt +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet_core.egg-info/requires.txt +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet_core.egg-info/top_level.txt +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/pyproject.toml +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/requirements/deployment.txt +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/requirements/ubuntu-latest_py3.11.txt +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/requirements/ubuntu-latest_py3.11_extras.txt +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/requirements/ubuntu-latest_py3.12.txt +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/requirements/ubuntu-latest_py3.12_extras.txt +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/requirements/ubuntu-latest_py3.13.txt +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/requirements/ubuntu-latest_py3.13_extras.txt +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/setup.cfg +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/__init__.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/conftest.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/conftest_qchem.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/mobility/test_migrationgraph.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/molecules/__init__.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/molecules/test_atomic.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/molecules/test_bonds.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/molecules/test_electric.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/molecules/test_metal_binding.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/molecules/test_mol_thermo.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/molecules/test_orbitals.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/molecules/test_redox.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/molecules/test_summary.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/molecules/test_trajectory.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/molecules/test_vibration.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/openmm_md/__init__.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/openmm_md/test_tasks.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/qchem/__init__.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/qchem/test_calc_types.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/qchem/test_molecules.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/qchem/test_qchem.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/test_absorption.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/test_arrow.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/test_band_theory.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/test_calculation.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/test_chemenv.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/test_defects.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/test_elasticity.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/test_electrodes.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/test_electronic_structure.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/test_magnetism.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/test_ml.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/test_model_fields.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/test_molecule_metadata.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/test_mpid.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/test_mpid_ext.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/test_neb.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/test_optimade.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/test_oxidation_states.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/test_phonon.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/test_polar.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/test_provenance.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/test_qc_task.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/test_robocrys.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/test_settings.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/test_similarity.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/test_structure_group.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/test_structure_metadata.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/test_task.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/test_thermo.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/test_trajectory.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/test_utils.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/test_xas.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/test_xrd.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/types/test_enums.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/types/test_typing.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/vasp/test_calc_types.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/vasp/test_materials.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/vasp/test_utils.py +0 -0
- {emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/tests/vasp/test_vasp.py +0 -0
|
@@ -16,7 +16,7 @@ from emmet.core.types.pymatgen_types.structure_adapter import (
|
|
|
16
16
|
MoleculeType,
|
|
17
17
|
StructureType,
|
|
18
18
|
)
|
|
19
|
-
from emmet.core.types.typing import DateTimeType, IdentifierType
|
|
19
|
+
from emmet.core.types.typing import DateTimeType, IdentifierType, MaterialIdentifierType
|
|
20
20
|
|
|
21
21
|
if TYPE_CHECKING:
|
|
22
22
|
|
|
@@ -46,7 +46,7 @@ class BasePropertyMetadata(StructureMetadata, EmmetBaseModel):
|
|
|
46
46
|
extended, not used directly
|
|
47
47
|
"""
|
|
48
48
|
|
|
49
|
-
material_id:
|
|
49
|
+
material_id: MaterialIdentifierType | None = Field(
|
|
50
50
|
None,
|
|
51
51
|
description="The Materials Project ID of the material, used as a universal reference across property documents."
|
|
52
52
|
"This comes in the form: mp-******.",
|
|
@@ -316,8 +316,7 @@ class CoreTaskDoc(StructureMetadata):
|
|
|
316
316
|
)
|
|
317
317
|
task_id: IdentifierType | None = Field(
|
|
318
318
|
None,
|
|
319
|
-
description="The (task) ID of this calculation, used as a universal reference across property documents."
|
|
320
|
-
"This comes in the form: mp-******.",
|
|
319
|
+
description="The (task) ID of this calculation, used as a universal reference across property documents.",
|
|
321
320
|
)
|
|
322
321
|
task_type: TaskType | CalcType | None = Field(
|
|
323
322
|
None, description="The type of calculation."
|
|
@@ -38,7 +38,7 @@ class DecompositionProduct(BaseModel):
|
|
|
38
38
|
)
|
|
39
39
|
amount: float | None = Field(
|
|
40
40
|
None,
|
|
41
|
-
description="The amount of the decomposed material by formula units this
|
|
41
|
+
description="The amount of the decomposed material by formula units this material decomposes to.",
|
|
42
42
|
)
|
|
43
43
|
|
|
44
44
|
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
from typing import Annotated, Any, TypeVar
|
|
2
2
|
|
|
3
3
|
import orjson
|
|
4
|
-
from pydantic import BeforeValidator, WrapSerializer
|
|
4
|
+
from pydantic import BeforeValidator, TypeAdapter, WrapSerializer
|
|
5
5
|
from pymatgen.entries.computed_entries import ComputedEntry, ComputedStructureEntry
|
|
6
6
|
from typing_extensions import NotRequired, TypedDict
|
|
7
7
|
|
|
8
|
+
from emmet.core.mpid_ext import ThermoID
|
|
8
9
|
from emmet.core.types.pymatgen_types.element_adapter import ElementType
|
|
9
10
|
from emmet.core.types.pymatgen_types.structure_adapter import (
|
|
10
|
-
|
|
11
|
+
StructureType,
|
|
11
12
|
pop_empty_structure_keys,
|
|
12
13
|
)
|
|
14
|
+
from emmet.core.types.typing import IdentifierType, MaterialIdentifierType
|
|
13
15
|
from emmet.core.vasp.calculation import PotcarSpec
|
|
14
16
|
|
|
15
17
|
# TypedEnergyAdjustmentDict = TypedDict(
|
|
@@ -59,20 +61,20 @@ from emmet.core.vasp.calculation import PotcarSpec
|
|
|
59
61
|
|
|
60
62
|
|
|
61
63
|
class TypedCEDataDict(TypedDict):
|
|
62
|
-
oxide_type: str
|
|
63
|
-
aspherical: bool
|
|
64
|
-
last_updated: str
|
|
65
|
-
task_id:
|
|
66
|
-
material_id:
|
|
67
|
-
oxidation_states: dict[ElementType, float]
|
|
68
|
-
license: str
|
|
69
|
-
run_type: str
|
|
64
|
+
oxide_type: NotRequired[str | None]
|
|
65
|
+
aspherical: NotRequired[bool | None]
|
|
66
|
+
last_updated: NotRequired[str | None]
|
|
67
|
+
task_id: NotRequired[IdentifierType | None]
|
|
68
|
+
material_id: NotRequired[MaterialIdentifierType | None]
|
|
69
|
+
oxidation_states: NotRequired[dict[ElementType, float] | None]
|
|
70
|
+
license: NotRequired[str | None]
|
|
71
|
+
run_type: NotRequired[str | None]
|
|
70
72
|
|
|
71
73
|
|
|
72
74
|
class TypedCEParameterDict(TypedDict):
|
|
73
|
-
potcar_spec: list[PotcarSpec]
|
|
74
|
-
run_type: str
|
|
75
|
-
is_hubbard: bool
|
|
75
|
+
potcar_spec: NotRequired[list[PotcarSpec] | None]
|
|
76
|
+
run_type: NotRequired[str | None]
|
|
77
|
+
is_hubbard: NotRequired[bool | None]
|
|
76
78
|
hubbards: NotRequired[dict[str, float] | None] # type: ignore[type-arg]
|
|
77
79
|
|
|
78
80
|
|
|
@@ -83,14 +85,14 @@ TypedComputedEntryDict = TypedDict(
|
|
|
83
85
|
"@class": str,
|
|
84
86
|
"energy": float,
|
|
85
87
|
"composition": dict[ElementType, float],
|
|
86
|
-
"entry_id":
|
|
88
|
+
"entry_id": ThermoID,
|
|
87
89
|
"correction": float,
|
|
88
90
|
# "energy_adjustments": list[
|
|
89
91
|
# TypedCompositionEnergyAdjustmentDict
|
|
90
92
|
# | TypedEnergyAdjustmentDict
|
|
91
93
|
# | TypedTemperatureEnergyAdjustmentDict
|
|
92
94
|
# ],
|
|
93
|
-
"energy_adjustments": str,
|
|
95
|
+
"energy_adjustments": NotRequired[str | None],
|
|
94
96
|
"parameters": TypedCEParameterDict,
|
|
95
97
|
"data": TypedCEDataDict,
|
|
96
98
|
},
|
|
@@ -98,7 +100,7 @@ TypedComputedEntryDict = TypedDict(
|
|
|
98
100
|
|
|
99
101
|
|
|
100
102
|
class TypedComputedStructureEntryDict(TypedComputedEntryDict):
|
|
101
|
-
structure:
|
|
103
|
+
structure: StructureType
|
|
102
104
|
|
|
103
105
|
|
|
104
106
|
ComputedEntryTypeVar = TypeVar(
|
|
@@ -116,6 +118,9 @@ ComputedStructureEntryTypeVar = TypeVar(
|
|
|
116
118
|
|
|
117
119
|
|
|
118
120
|
def entry_serializer(entry, nxt, info) -> dict[str, Any]:
|
|
121
|
+
# need to beat pmg serialization to get correct id serialization
|
|
122
|
+
entry.data = TypeAdapter(TypedCEDataDict).dump_python(entry.data)
|
|
123
|
+
|
|
119
124
|
default_serialized_object = nxt(entry.as_dict(), info)
|
|
120
125
|
|
|
121
126
|
format = info.context.get("format") if info.context else None
|
|
@@ -142,11 +147,18 @@ def entry_deserializer(entry: dict[str, Any] | ComputedEntry | ComputedStructure
|
|
|
142
147
|
match entry["@class"]:
|
|
143
148
|
case "ComputedEntry":
|
|
144
149
|
entry_cls = ComputedEntry
|
|
150
|
+
entry_type = TypedComputedEntryDict
|
|
145
151
|
case "ComputedStructureEntry":
|
|
146
152
|
entry_cls = ComputedStructureEntry
|
|
153
|
+
entry_type = TypedComputedStructureEntryDict
|
|
147
154
|
entry = pop_cse_empty_keys(entry)
|
|
148
155
|
|
|
149
|
-
|
|
156
|
+
# must be before 'energy_adjustments' deserialization
|
|
157
|
+
entry = TypeAdapter(entry_type).validate_python(entry)
|
|
158
|
+
|
|
159
|
+
if "energy_adjustments" in entry and isinstance(
|
|
160
|
+
entry["energy_adjustments"], str
|
|
161
|
+
):
|
|
150
162
|
entry["energy_adjustments"] = orjson.loads(entry["energy_adjustments"])
|
|
151
163
|
|
|
152
164
|
return entry_cls.from_dict(entry) # type: ignore[arg-type]
|
|
@@ -101,9 +101,15 @@ def phase_diagram_serializer(phase_diagram, nxt, info) -> dict[str, Any]:
|
|
|
101
101
|
entry.as_dict() for entry in default_serialized_object["computed_data"][key]
|
|
102
102
|
]
|
|
103
103
|
|
|
104
|
+
# ndarray -> list[list[int]]
|
|
104
105
|
for simplex in default_serialized_object["computed_data"]["simplexes"]:
|
|
105
106
|
simplex["coords"] = simplex["coords"].tolist()
|
|
106
107
|
|
|
108
|
+
# ndarray -> list[list[float]]
|
|
109
|
+
default_serialized_object["computed_data"]["qhull_data"] = (
|
|
110
|
+
default_serialized_object["computed_data"]["qhull_data"].tolist()
|
|
111
|
+
)
|
|
112
|
+
|
|
107
113
|
format = info.context.get("format") if info.context else None
|
|
108
114
|
if format == "arrow":
|
|
109
115
|
phase_diagram_serde(
|
|
@@ -11,8 +11,9 @@ from __future__ import annotations
|
|
|
11
11
|
|
|
12
12
|
import os
|
|
13
13
|
from datetime import datetime
|
|
14
|
+
from functools import partial
|
|
14
15
|
from pathlib import Path
|
|
15
|
-
from typing import TYPE_CHECKING, Annotated,
|
|
16
|
+
from typing import TYPE_CHECKING, Annotated, Any, Union
|
|
16
17
|
|
|
17
18
|
import orjson
|
|
18
19
|
from pydantic import BeforeValidator, Field, PlainSerializer, WrapSerializer
|
|
@@ -52,22 +53,41 @@ for why this separate class is necesary instead of `DateTimeType | None`
|
|
|
52
53
|
"""
|
|
53
54
|
|
|
54
55
|
|
|
55
|
-
def _fault_tolerant_id_serde(
|
|
56
|
+
def _fault_tolerant_id_serde(
|
|
57
|
+
val: Any,
|
|
58
|
+
legacy: bool = False,
|
|
59
|
+
serialize: bool = False,
|
|
60
|
+
**kwargs,
|
|
61
|
+
) -> Any:
|
|
56
62
|
"""Needed for the API and safe de-/serialization behavior."""
|
|
57
63
|
try:
|
|
58
|
-
alpha_id = AlphaID(val)
|
|
64
|
+
alpha_id = AlphaID(val, **kwargs)
|
|
59
65
|
if serialize:
|
|
60
66
|
return str(alpha_id)
|
|
61
|
-
return alpha_id.formatted
|
|
67
|
+
return alpha_id.formatted if legacy else alpha_id
|
|
62
68
|
except Exception:
|
|
63
69
|
return val
|
|
64
70
|
|
|
65
71
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
72
|
+
_id_base_metadata = (BeforeValidator(_fault_tolerant_id_serde),)
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
def _make_id_type(render_order, **kwargs) -> Annotated:
|
|
76
|
+
match render_order:
|
|
77
|
+
case 0:
|
|
78
|
+
_order = Union[AlphaID, MPID]
|
|
79
|
+
case 1:
|
|
80
|
+
_order = Union[MPID, AlphaID]
|
|
81
|
+
|
|
82
|
+
return Annotated[
|
|
83
|
+
_order,
|
|
84
|
+
BeforeValidator(partial(_fault_tolerant_id_serde, **kwargs)),
|
|
85
|
+
PlainSerializer(partial(_fault_tolerant_id_serde, serialize=True, **kwargs)),
|
|
86
|
+
]
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
IdentifierType: TypeAlias = _make_id_type(0, padlen=8)
|
|
90
|
+
MaterialIdentifierType: TypeAlias = _make_id_type(1, legacy=True, prefix="mp", padlen=8)
|
|
71
91
|
"""MPID / AlphaID serde."""
|
|
72
92
|
|
|
73
93
|
|
|
@@ -5,11 +5,12 @@ from typing import Mapping
|
|
|
5
5
|
from pydantic import BaseModel, Field
|
|
6
6
|
from pymatgen.analysis.structure_analyzer import SpacegroupAnalyzer, oxide_type
|
|
7
7
|
from pymatgen.analysis.structure_matcher import StructureMatcher
|
|
8
|
-
from pymatgen.entries.computed_entries import ComputedStructureEntry
|
|
9
8
|
|
|
10
9
|
from emmet.core.base import EmmetMeta
|
|
11
10
|
from emmet.core.material import MaterialsDoc as CoreMaterialsDoc
|
|
12
11
|
from emmet.core.material import PropertyOrigin
|
|
12
|
+
from emmet.core.mpid import AlphaID
|
|
13
|
+
from emmet.core.mpid_ext import ThermoID
|
|
13
14
|
from emmet.core.settings import EmmetSettings
|
|
14
15
|
from emmet.core.tasks import TaskDoc
|
|
15
16
|
from emmet.core.types.pymatgen_types.computed_entries_adapter import (
|
|
@@ -105,7 +106,7 @@ class MaterialsDoc(CoreMaterialsDoc):
|
|
|
105
106
|
if use_statics:
|
|
106
107
|
possible_mat_ids += [task.task_id for task in statics]
|
|
107
108
|
|
|
108
|
-
material_id = min(possible_mat_ids)
|
|
109
|
+
material_id = AlphaID(min(possible_mat_ids), prefix="mp")
|
|
109
110
|
|
|
110
111
|
# Always prefer a static over a structure opt
|
|
111
112
|
structure_task_quality_scores = {"Structure Optimization": 1, "Static": 2}
|
|
@@ -207,10 +208,12 @@ class MaterialsDoc(CoreMaterialsDoc):
|
|
|
207
208
|
|
|
208
209
|
if relevant_calcs:
|
|
209
210
|
best_task_doc = relevant_calcs[0]
|
|
210
|
-
entry =
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
211
|
+
entry = {
|
|
212
|
+
"@class": "ComputedStructureEntry",
|
|
213
|
+
"@module": "pymatgen.entries.computed_entries",
|
|
214
|
+
"composition": best_task_doc.output.structure.composition,
|
|
215
|
+
"correction": 0.0,
|
|
216
|
+
"data": {
|
|
214
217
|
"aspherical": best_task_doc.input.parameters.get(
|
|
215
218
|
"LASPH", False
|
|
216
219
|
),
|
|
@@ -219,9 +222,9 @@ class MaterialsDoc(CoreMaterialsDoc):
|
|
|
219
222
|
"material_id": material_id,
|
|
220
223
|
"task_id": best_task_doc.task_id,
|
|
221
224
|
},
|
|
222
|
-
energy
|
|
223
|
-
entry_id
|
|
224
|
-
parameters
|
|
225
|
+
"energy": best_task_doc.output.energy,
|
|
226
|
+
"entry_id": ThermoID(identifier=material_id, suffix=rt),
|
|
227
|
+
"parameters": {
|
|
225
228
|
"hubbards": best_task_doc.input.hubbards,
|
|
226
229
|
"is_hubbard": best_task_doc.input.is_hubbard,
|
|
227
230
|
"potcar_spec": (
|
|
@@ -231,8 +234,8 @@ class MaterialsDoc(CoreMaterialsDoc):
|
|
|
231
234
|
),
|
|
232
235
|
"run_type": str(best_task_doc.run_type),
|
|
233
236
|
},
|
|
234
|
-
structure
|
|
235
|
-
|
|
237
|
+
"structure": best_task_doc.output.structure,
|
|
238
|
+
}
|
|
236
239
|
entries[rt] = entry
|
|
237
240
|
|
|
238
241
|
if not any(
|
|
File without changes
|
|
File without changes
|
{emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/dev_scripts/generate_identifier_exclude_list.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/qchem/calc_types/calc_types.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/types/pymatgen_types/__init__.py
RENAMED
|
File without changes
|
{emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/types/pymatgen_types/alloy_adapter.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/types/pymatgen_types/defect_adapter.py
RENAMED
|
File without changes
|
|
File without changes
|
{emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/types/pymatgen_types/dos_adapter.py
RENAMED
|
File without changes
|
|
File without changes
|
{emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/types/pymatgen_types/element_adapter.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/types/pymatgen_types/kpoint_adapter.py
RENAMED
|
File without changes
|
{emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/types/pymatgen_types/kpoints_adapter.py
RENAMED
|
File without changes
|
{emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/types/pymatgen_types/lattice_adapter.py
RENAMED
|
File without changes
|
|
File without changes
|
{emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/types/pymatgen_types/outcar_adapter.py
RENAMED
|
File without changes
|
{emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/types/pymatgen_types/phonon_adapter.py
RENAMED
|
File without changes
|
{emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/types/pymatgen_types/poscar_adapter.py
RENAMED
|
File without changes
|
{emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/types/pymatgen_types/properties.py
RENAMED
|
File without changes
|
{emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/types/pymatgen_types/sites_adapter.py
RENAMED
|
File without changes
|
{emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/types/pymatgen_types/species_adapter.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/types/pymatgen_types/xas_adapter.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/emmet/core/vasp/calc_types/calc_types.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/requirements/ubuntu-latest_py3.11_extras.txt
RENAMED
|
File without changes
|
|
File without changes
|
{emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/requirements/ubuntu-latest_py3.12_extras.txt
RENAMED
|
File without changes
|
|
File without changes
|
{emmet_core-0.87.0.dev3 → emmet_core-0.87.0.dev5}/requirements/ubuntu-latest_py3.13_extras.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|