emmet-core 0.87.0.dev17__tar.gz → 0.87.0.dev20__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.dev17 → emmet_core-0.87.0.dev20}/PKG-INFO +1 -1
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/electrode.py +2 -2
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/mpid.py +5 -2
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/summary.py +30 -4
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet_core.egg-info/PKG-INFO +1 -1
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/dev_scripts/gen_api_field_test.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/dev_scripts/generate_enums.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/dev_scripts/generate_identifier_exclude_list.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/__init__.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/_forbidden_alpha_id.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/_general_store.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/_messages.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/_user_settings.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/absorption.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/alloys.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/arrow.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/band_theory.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/base.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/bonds.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/charge_density.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/chemenv.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/connectors/__init__.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/connectors/analysis.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/connectors/icsd/__init__.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/connectors/icsd/client.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/connectors/icsd/enums.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/connectors/icsd/schemas.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/connectors/icsd/settings.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/corrected_entries.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/defect.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/disorder.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/dois.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/elasticity.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/elasticity_legacy.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/electronic_structure.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/eos.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/featurization/__init__.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/featurization/featurizers.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/featurization/robocrys/__init__.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/featurization/robocrys/adapter.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/featurization/robocrys/condense/__init__.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/featurization/robocrys/condense/component.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/featurization/robocrys/condense/condenser.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/featurization/robocrys/condense/fingerprint.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/featurization/robocrys/condense/formula_aliases.json.gz +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/featurization/robocrys/condense/mineral.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/featurization/robocrys/condense/mineral_db.json.gz +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/featurization/robocrys/condense/molecule.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/featurization/robocrys/condense/molecule_db.json.gz +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/featurization/robocrys/condense/site.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/featurization/robocrys/describe/__init__.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/featurization/robocrys/describe/adapter.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/featurization/robocrys/describe/describer.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/featurization/robocrys/util.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/feff/__init__.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/feff/task.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/fermi.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/find_structure.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/formula_autocomplete.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/grain_boundary.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/magnetism.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/material.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/material_property.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/math.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/ml.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/mobility/__init__.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/mobility/migrationgraph.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/molecules/__init__.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/molecules/atomic.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/molecules/bonds.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/molecules/electric.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/molecules/metal_binding.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/molecules/molecule_property.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/molecules/orbitals.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/molecules/redox.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/molecules/summary.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/molecules/thermo.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/molecules/trajectory.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/molecules/vibration.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/molecules_jcesr.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/mpcomplete.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/mpid_ext.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/neb.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/openff/__init__.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/openff/tasks.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/openmm/__init__.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/openmm/calculations.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/openmm/tasks.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/optimade.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/oxidation_states.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/phonon.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/polar.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/provenance.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/py.typed +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/qc_tasks.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/qchem/__init__.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/qchem/calc_types/__init__.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/qchem/calc_types/calc_types.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/qchem/calc_types/calc_types.yaml +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/qchem/calc_types/em_utils.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/qchem/calc_types/enums.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/qchem/calc_types/utils.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/qchem/calculation.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/qchem/molecule.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/qchem/task.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/robocrys.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/settings.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/similarity.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/spectrum.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/structure.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/structure_group.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/substrates.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/surface_properties.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/symmetry.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/synthesis/__init__.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/synthesis/core.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/synthesis/materials.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/synthesis/operations.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/synthesis/reaction.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/task.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/tasks.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/testing_utils.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/thermo.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/trajectory.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/types/__init__.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/types/electronic_structure.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/types/enums.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/types/pymatgen_types/__init__.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/types/pymatgen_types/alloy_adapter.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/types/pymatgen_types/bader.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/types/pymatgen_types/balanced_reaction_adapter.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/types/pymatgen_types/bandstructure_symm_line_adapter.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/types/pymatgen_types/compatibility_adapter.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/types/pymatgen_types/composition_adapter.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/types/pymatgen_types/computed_entries_adapter.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/types/pymatgen_types/defect_adapter.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/types/pymatgen_types/diffraction_pattern_adapter.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/types/pymatgen_types/dos_adapter.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/types/pymatgen_types/electrode_adapter.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/types/pymatgen_types/element_adapter.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/types/pymatgen_types/grain_boundary_adapter.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/types/pymatgen_types/ir_dielectric_tensor_adapter.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/types/pymatgen_types/kpoint_adapter.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/types/pymatgen_types/kpoints_adapter.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/types/pymatgen_types/lattice_adapter.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/types/pymatgen_types/mixing_scheme_adapter.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/types/pymatgen_types/outcar_adapter.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/types/pymatgen_types/phase_diagram_adapter.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/types/pymatgen_types/phonon_adapter.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/types/pymatgen_types/poscar_adapter.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/types/pymatgen_types/properties.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/types/pymatgen_types/sites_adapter.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/types/pymatgen_types/species_adapter.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/types/pymatgen_types/structure_adapter.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/types/pymatgen_types/structure_graph_adapter.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/types/pymatgen_types/structure_matcher_adapter.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/types/pymatgen_types/trajectory_adapter.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/types/pymatgen_types/xas_adapter.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/types/typing.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/utils.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/vasp/__init__.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/vasp/calc_types/__init__.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/vasp/calc_types/calc_types.yaml +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/vasp/calc_types/enums.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/vasp/calc_types/utils.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/vasp/calculation.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/vasp/material.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/vasp/models.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/vasp/task_valid.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/vasp/utils.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/vasp/validation.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/vasp/validation_legacy.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/xas.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/xrd.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet_core.egg-info/SOURCES.txt +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet_core.egg-info/dependency_links.txt +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet_core.egg-info/requires.txt +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet_core.egg-info/top_level.txt +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/pyproject.toml +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/requirements/deployment.txt +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/requirements/ubuntu-latest_py3.11.txt +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/requirements/ubuntu-latest_py3.11_extras.txt +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/requirements/ubuntu-latest_py3.12.txt +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/requirements/ubuntu-latest_py3.12_extras.txt +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/requirements/ubuntu-latest_py3.13.txt +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/requirements/ubuntu-latest_py3.13_extras.txt +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/setup.cfg +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/__init__.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/conftest.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/conftest_qchem.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/featurization/__init__.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/featurization/robocrys/__init__.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/featurization/robocrys/condense/test_component.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/featurization/robocrys/condense/test_fingerprint.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/featurization/robocrys/condense/test_mineral.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/featurization/robocrys/condense/test_molecule.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/featurization/robocrys/condense/test_site.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/featurization/robocrys/condense/test_structure.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/featurization/robocrys/conftest.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/featurization/robocrys/describe/test_description.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/featurization/robocrys/describe/test_description_adapter.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/featurization/robocrys/test_adapter.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/featurization/robocrys/test_util.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/featurization/test_featurizers.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/mobility/test_migrationgraph.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/molecules/__init__.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/molecules/test_atomic.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/molecules/test_bonds.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/molecules/test_electric.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/molecules/test_metal_binding.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/molecules/test_mol_thermo.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/molecules/test_orbitals.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/molecules/test_redox.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/molecules/test_summary.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/molecules/test_trajectory.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/molecules/test_vibration.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/openmm_md/__init__.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/openmm_md/test_tasks.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/qchem/__init__.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/qchem/test_calc_types.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/qchem/test_molecules.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/qchem/test_qchem.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/test_absorption.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/test_arrow.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/test_band_theory.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/test_calculation.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/test_chemenv.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/test_defects.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/test_elasticity.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/test_electrodes.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/test_electronic_structure.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/test_magnetism.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/test_ml.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/test_model_fields.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/test_molecule_metadata.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/test_mpid.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/test_mpid_ext.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/test_neb.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/test_optimade.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/test_oxidation_states.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/test_phonon.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/test_polar.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/test_provenance.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/test_qc_task.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/test_robocrys.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/test_settings.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/test_similarity.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/test_structure_group.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/test_structure_metadata.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/test_task.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/test_thermo.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/test_trajectory.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/test_utils.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/test_xas.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/test_xrd.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/types/test_enums.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/types/test_typing.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/vasp/test_calc_types.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/vasp/test_materials.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/vasp/test_utils.py +0 -0
- {emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/tests/vasp/test_vasp.py +0 -0
|
@@ -246,8 +246,8 @@ class BaseElectrode(EmmetBaseModel):
|
|
|
246
246
|
description="Anonymized representation of the formula (not including the working ion).",
|
|
247
247
|
)
|
|
248
248
|
|
|
249
|
-
warnings: list[str] = Field(
|
|
250
|
-
|
|
249
|
+
warnings: list[str] | None = Field(
|
|
250
|
+
None, description="Any warnings related to this electrode data."
|
|
251
251
|
)
|
|
252
252
|
|
|
253
253
|
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
-
from math import log, floor
|
|
6
5
|
import re
|
|
6
|
+
from math import floor, log
|
|
7
7
|
from pathlib import Path
|
|
8
8
|
from string import ascii_lowercase, digits
|
|
9
9
|
from typing import TYPE_CHECKING
|
|
@@ -19,10 +19,10 @@ else:
|
|
|
19
19
|
if TYPE_CHECKING:
|
|
20
20
|
from collections.abc import Callable
|
|
21
21
|
from typing import Any
|
|
22
|
-
from typing_extensions import Self
|
|
23
22
|
|
|
24
23
|
from pydantic import GetJsonSchemaHandler
|
|
25
24
|
from pydantic.json_schema import JsonSchemaValue
|
|
25
|
+
from typing_extensions import Self
|
|
26
26
|
|
|
27
27
|
# matches "mp-1234" or "1234" followed by and optional "-(Alphanumeric)"
|
|
28
28
|
MPID_REGEX_PATTERN = r"^([A-Za-z]+-)?(\d+)(-[A-Za-z0-9]+)*$"
|
|
@@ -457,6 +457,9 @@ class AlphaID(str):
|
|
|
457
457
|
If other is an AlphaID, returns True only if the prefix, separator,
|
|
458
458
|
and value of the two are equal.
|
|
459
459
|
"""
|
|
460
|
+
if other is None:
|
|
461
|
+
return False
|
|
462
|
+
|
|
460
463
|
if isinstance(other, MPID) or (
|
|
461
464
|
isinstance(other, str) and other.startswith("mp-")
|
|
462
465
|
):
|
|
@@ -5,8 +5,10 @@ from itertools import chain
|
|
|
5
5
|
from typing import TYPE_CHECKING
|
|
6
6
|
|
|
7
7
|
from pydantic import BaseModel, Field, PrivateAttr
|
|
8
|
+
from pydantic.json_schema import SkipJsonSchema
|
|
8
9
|
|
|
9
10
|
from emmet.core.electronic_structure import BandstructureData, DosData
|
|
11
|
+
from emmet.core.material import PropertyOrigin
|
|
10
12
|
from emmet.core.material_property import PropertyDoc
|
|
11
13
|
from emmet.core.thermo import DecompositionProduct
|
|
12
14
|
from emmet.core.types.enums import ValueEnum, XasEdge, XasType
|
|
@@ -95,10 +97,18 @@ class PropModel(BaseModel):
|
|
|
95
97
|
"""Check for model initialization outside of defaults."""
|
|
96
98
|
|
|
97
99
|
_prop: str = PrivateAttr("materials")
|
|
100
|
+
prop_origins: SkipJsonSchema[list[PropertyOrigin | None]] = Field(
|
|
101
|
+
[],
|
|
102
|
+
description="Optionally include property origins to fold into summary doc origins",
|
|
103
|
+
exclude=True,
|
|
104
|
+
)
|
|
98
105
|
|
|
99
106
|
@property
|
|
100
107
|
def _has_props(self) -> bool:
|
|
101
|
-
|
|
108
|
+
_defaults = {field: anno.default for field, anno in self.model_fields.items()}
|
|
109
|
+
return any(
|
|
110
|
+
[getattr(self, field) != default for field, default in _defaults.items()]
|
|
111
|
+
)
|
|
102
112
|
|
|
103
113
|
@property
|
|
104
114
|
def name(self) -> HasProps:
|
|
@@ -106,6 +116,8 @@ class PropModel(BaseModel):
|
|
|
106
116
|
|
|
107
117
|
|
|
108
118
|
class MaterialsSummary(PropertyDoc, PropModel):
|
|
119
|
+
property_name: str = "summary"
|
|
120
|
+
|
|
109
121
|
task_ids: list[IdentifierType] = Field(
|
|
110
122
|
[],
|
|
111
123
|
title="Calculation IDs",
|
|
@@ -421,11 +433,25 @@ class SummaryDoc(
|
|
|
421
433
|
"""
|
|
422
434
|
# initialize all has_props variants to False, overwrite according to what caller provides
|
|
423
435
|
has_props = {prop.value: False for prop in HasProps}
|
|
424
|
-
for prop in chain(property_summary_docs,
|
|
436
|
+
for prop in chain(property_summary_docs, property_shim_docs):
|
|
425
437
|
has_props[prop.name] = prop._has_props
|
|
426
438
|
|
|
439
|
+
# fold property origins
|
|
440
|
+
prop_origins = chain.from_iterable(
|
|
441
|
+
(
|
|
442
|
+
doc.prop_origins
|
|
443
|
+
for doc in chain(property_summary_docs, property_shim_docs)
|
|
444
|
+
)
|
|
445
|
+
)
|
|
446
|
+
|
|
447
|
+
aggregate_struct = {
|
|
448
|
+
**ChainMap(*[doc.model_dump() for doc in property_summary_docs])
|
|
449
|
+
}
|
|
450
|
+
aggregate_struct["origins"] = list(
|
|
451
|
+
chain(aggregate_struct["origins"], prop_origins)
|
|
452
|
+
)
|
|
453
|
+
|
|
427
454
|
return SummaryDoc(
|
|
428
455
|
has_props=has_props,
|
|
429
|
-
**
|
|
430
|
-
**kwargs,
|
|
456
|
+
**{**aggregate_struct, **kwargs},
|
|
431
457
|
)
|
|
File without changes
|
|
File without changes
|
{emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/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
|
{emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/featurization/robocrys/__init__.py
RENAMED
|
File without changes
|
{emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/featurization/robocrys/adapter.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
|
{emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/featurization/robocrys/util.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
|
{emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/molecules/molecule_property.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
|
{emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/qchem/calc_types/calc_types.py
RENAMED
|
File without changes
|
{emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/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.dev17 → emmet_core-0.87.0.dev20}/emmet/core/types/electronic_structure.py
RENAMED
|
File without changes
|
|
File without changes
|
{emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/types/pymatgen_types/__init__.py
RENAMED
|
File without changes
|
{emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/types/pymatgen_types/alloy_adapter.py
RENAMED
|
File without changes
|
{emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/types/pymatgen_types/bader.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
|
{emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/types/pymatgen_types/dos_adapter.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
|
{emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/types/pymatgen_types/properties.py
RENAMED
|
File without changes
|
{emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet/core/types/pymatgen_types/sites_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.dev17 → emmet_core-0.87.0.dev20}/emmet/core/types/pymatgen_types/xas_adapter.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/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
|
{emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/emmet_core.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{emmet_core-0.87.0.dev17 → emmet_core-0.87.0.dev20}/requirements/ubuntu-latest_py3.11_extras.txt
RENAMED
|
File without changes
|
|
File without changes
|