mat3ra-esse 2025.1.27.post0__py3-none-any.whl → 2025.4.11.post0__py3-none-any.whl
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 mat3ra-esse might be problematic. Click here for more details.
- mat3ra/esse/data/schemas.py +1 -1
- mat3ra/esse/models/__init__.py +1 -1
- mat3ra/esse/models/core/__init__.py +1 -1
- mat3ra/esse/models/core/abstract/_2d_data.py +17 -0
- mat3ra/esse/models/core/abstract/_2d_plot.py +34 -0
- mat3ra/esse/models/core/abstract/_3d_grid.py +14 -0
- mat3ra/esse/models/core/abstract/_3d_tensor.py +19 -0
- mat3ra/esse/models/core/abstract/_3d_vector_basis.py +15 -0
- mat3ra/esse/models/core/abstract/__init__.py +1 -1
- mat3ra/esse/models/core/abstract/point.py +1 -1
- mat3ra/esse/models/core/abstract/vector.py +1 -1
- mat3ra/esse/models/core/primitive/_1d_data_series.py +13 -0
- mat3ra/esse/models/core/primitive/_3d_lattice.py +34 -0
- mat3ra/esse/models/core/primitive/__init__.py +1 -1
- mat3ra/esse/models/core/primitive/array_of_3_booleans.py +1 -1
- mat3ra/esse/models/core/primitive/array_of_3_numbers.py +1 -1
- mat3ra/esse/models/core/primitive/array_of_ids.py +1 -1
- mat3ra/esse/models/core/primitive/array_of_strings.py +1 -1
- mat3ra/esse/models/core/primitive/axis.py +1 -1
- mat3ra/esse/models/core/primitive/group_info.py +1 -1
- mat3ra/esse/models/core/primitive/integer_one_or_zero.py +1 -1
- mat3ra/esse/models/core/primitive/integer_positive_single_digit.py +11 -0
- mat3ra/esse/models/core/primitive/linked_list/__init__.py +1 -1
- mat3ra/esse/models/core/primitive/linked_list/base_node.py +1 -1
- mat3ra/esse/models/core/primitive/linked_list/named_node.py +1 -1
- mat3ra/esse/models/core/primitive/linked_list/named_node_in_group.py +1 -1
- mat3ra/esse/models/core/primitive/linked_list/node_with_type.py +1 -1
- mat3ra/esse/models/core/primitive/scalar.py +1 -1
- mat3ra/esse/models/core/primitive/slugified_entry.py +1 -1
- mat3ra/esse/models/core/primitive/slugified_entry_or_slug.py +1 -1
- mat3ra/esse/models/core/primitive/string.py +1 -1
- mat3ra/esse/models/core/reference/__init__.py +1 -1
- mat3ra/esse/models/core/reference/exabyte.py +1 -1
- mat3ra/esse/models/core/reference/experiment/__init__.py +1 -1
- mat3ra/esse/models/core/reference/experiment/condition.py +1 -1
- mat3ra/esse/models/core/reference/experiment/location.py +1 -1
- mat3ra/esse/models/core/reference/literature/__init__.py +1 -1
- mat3ra/esse/models/core/reference/literature/name.py +1 -1
- mat3ra/esse/models/core/reference/literature/pages.py +1 -1
- mat3ra/esse/models/core/reference/modeling/__init__.py +1 -1
- mat3ra/esse/models/core/reference/modeling/exabyte.py +1 -1
- mat3ra/esse/models/core/reusable/__init__.py +1 -1
- mat3ra/esse/models/core/reusable/atomic_data/__init__.py +1 -1
- mat3ra/esse/models/core/reusable/atomic_data/per_orbital.py +1 -1
- mat3ra/esse/models/core/reusable/atomic_data/per_orbital_pair.py +1 -1
- mat3ra/esse/models/core/reusable/atomic_data/value_number.py +1 -1
- mat3ra/esse/models/core/reusable/atomic_data/value_string.py +1 -1
- mat3ra/esse/models/core/reusable/atomic_data_per_orbital_numeric.py +1 -1
- mat3ra/esse/models/core/reusable/atomic_data_per_orbital_pair_numeric.py +1 -1
- mat3ra/esse/models/core/reusable/atomic_orbital.py +1 -1
- mat3ra/esse/models/core/reusable/atomic_scalars.py +1 -1
- mat3ra/esse/models/core/reusable/atomic_strings.py +1 -1
- mat3ra/esse/models/core/reusable/atomic_vectors.py +1 -1
- mat3ra/esse/models/core/reusable/band_gap.py +1 -1
- mat3ra/esse/models/core/reusable/categories.py +1 -1
- mat3ra/esse/models/core/reusable/category_path.py +1 -1
- mat3ra/esse/models/core/reusable/dielectric_tensor_component.py +1 -1
- mat3ra/esse/models/core/reusable/energy.py +3 -3
- mat3ra/esse/models/core/reusable/file_metadata.py +1 -1
- mat3ra/esse/models/core/reusable/frequency_function_matrix.py +1 -1
- mat3ra/esse/models/core/reusable/object_storage_container_data.py +1 -1
- mat3ra/esse/models/definitions/__init__.py +1 -1
- mat3ra/esse/models/definitions/constants.py +40 -0
- mat3ra/esse/models/definitions/units.py +4 -4
- mat3ra/esse/models/element.py +7 -8
- mat3ra/esse/models/in_memory_entity/__init__.py +1 -1
- mat3ra/esse/models/in_memory_entity/base.py +1 -1
- mat3ra/esse/models/in_memory_entity/defaultable.py +1 -1
- mat3ra/esse/models/in_memory_entity/has_consistency_check_has_metadata_named_defaultable.py +1 -1
- mat3ra/esse/models/in_memory_entity/named.py +1 -1
- mat3ra/esse/models/in_memory_entity/named_defaultable.py +1 -1
- mat3ra/esse/models/in_memory_entity/named_defaultable_has_metadata.py +1 -1
- mat3ra/esse/models/in_memory_entity/named_defaultable_runtime_items.py +1 -1
- mat3ra/esse/models/job/__init__.py +12 -13
- mat3ra/esse/models/job/base.py +1 -1
- mat3ra/esse/models/job/compute.py +1 -1
- mat3ra/esse/models/material/__init__.py +41 -71
- mat3ra/esse/models/material/consistency_check.py +1 -1
- mat3ra/esse/models/material/conventional.py +1 -1
- mat3ra/esse/models/method/__init__.py +1 -1
- mat3ra/esse/models/method/categorized_method.py +1 -1
- mat3ra/esse/models/method/method_parameters.py +1 -1
- mat3ra/esse/models/method/unit_method.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/__init__.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/diff/__init__.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/diff/enum_options.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/diff/fd.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/discr/__init__.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/discr/enum_options.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/discr/mesh/__init__.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/discr/mesh/enum_options.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/discr/mesh/hybrid.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/discr/mesh/nstruct.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/discr/mesh/struct/__init__.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/discr/mesh/struct/cartesian.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/discr/mesh/struct/enum_options.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/enum_options.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/fapprx/__init__.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/fapprx/basisexp.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/fapprx/enum_options.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/fapprx/ipol/__init__.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/fapprx/ipol/enum_options.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/fapprx/ipol/lin.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/fapprx/ipol/poly.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/fapprx/ipol/spline.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/intgr/__init__.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/intgr/analytic/__init__.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/intgr/analytic/enum_options.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/intgr/analytic/volume.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/intgr/diffeq/__init__.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/intgr/diffeq/enum_options.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/intgr/diffeq/order1.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/intgr/diffeq/order2.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/intgr/enum_options.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/intgr/numquad/__init__.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/intgr/numquad/enum_options.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/intgr/numquad/gauss.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/intgr/numquad/newcot.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/intgr/transf/__init__.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/intgr/transf/enum_options.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/intgr/transf/fourier.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/linalg/__init__.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/linalg/dcomp.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/linalg/diag/__init__.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/linalg/diag/davidson.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/linalg/diag/enum_options.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/linalg/enum_options.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/linalg/lintra.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/linalg/matf.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/opt/__init__.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/opt/diff/__init__.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/opt/diff/bracket.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/opt/diff/enum_options.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/opt/diff/local.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/opt/diff/order1.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/opt/diff/order2.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/opt/diff/ordern/__init__.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/opt/diff/ordern/cg.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/opt/diff/ordern/enum_options.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/opt/enum_options.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/opt/ndiff/__init__.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/opt/ndiff/direct.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/opt/ndiff/enum_options.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/opt/ndiff/pop.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/opt/ndiff/stoch.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/opt/root/__init__.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/opt/root/bracket.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/opt/root/enum_options.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/opt/root/iter.py +1 -1
- mat3ra/esse/models/methods_category/mathematical/regression.py +1 -1
- mat3ra/esse/models/methods_category/physical/__init__.py +1 -1
- mat3ra/esse/models/methods_category/physical/enum_options.py +1 -1
- mat3ra/esse/models/methods_category/physical/qm/__init__.py +1 -1
- mat3ra/esse/models/methods_category/physical/qm/enum_options.py +1 -1
- mat3ra/esse/models/methods_category/physical/qm/wf/__init__.py +1 -1
- mat3ra/esse/models/methods_category/physical/qm/wf/ao/__init__.py +1 -1
- mat3ra/esse/models/methods_category/physical/qm/wf/ao/dunning.py +1 -1
- mat3ra/esse/models/methods_category/physical/qm/wf/ao/other.py +1 -1
- mat3ra/esse/models/methods_category/physical/qm/wf/ao/pople.py +1 -1
- mat3ra/esse/models/methods_category/physical/qm/wf/enum_options.py +1 -1
- mat3ra/esse/models/methods_category/physical/qm/wf/psp.py +1 -1
- mat3ra/esse/models/methods_category/physical/qm/wf/pw.py +1 -1
- mat3ra/esse/models/methods_category/physical/qm/wf/smearing.py +1 -1
- mat3ra/esse/models/methods_category/physical/qm/wf/tetrahedron.py +1 -1
- mat3ra/esse/models/methods_directory/legacy/__init__.py +1 -1
- mat3ra/esse/models/methods_directory/legacy/localorbital.py +1 -1
- mat3ra/esse/models/methods_directory/legacy/pseudopotential.py +1 -1
- mat3ra/esse/models/methods_directory/legacy/regression.py +1 -1
- mat3ra/esse/models/methods_directory/legacy/unknown.py +1 -1
- mat3ra/esse/models/methods_directory/mathematical/__init__.py +1 -1
- mat3ra/esse/models/methods_directory/mathematical/cg.py +1 -1
- mat3ra/esse/models/methods_directory/mathematical/davidson.py +1 -1
- mat3ra/esse/models/methods_directory/mathematical/regression/__init__.py +1 -1
- mat3ra/esse/models/methods_directory/mathematical/regression/data.py +1 -1
- mat3ra/esse/models/methods_directory/mathematical/regression/dataset.py +1 -1
- mat3ra/esse/models/methods_directory/mathematical/regression/kernel_ridge/__init__.py +1 -1
- mat3ra/esse/models/methods_directory/mathematical/regression/kernel_ridge/data_per_property.py +1 -1
- mat3ra/esse/models/methods_directory/mathematical/regression/linear/__init__.py +1 -1
- mat3ra/esse/models/methods_directory/mathematical/regression/linear/data_per_property.py +1 -1
- mat3ra/esse/models/methods_directory/mathematical/regression/per_feature_item.py +1 -1
- mat3ra/esse/models/methods_directory/mathematical/regression/precision.py +1 -1
- mat3ra/esse/models/methods_directory/mathematical/regression/precision_per_property.py +1 -1
- mat3ra/esse/models/methods_directory/physical/__init__.py +1 -1
- mat3ra/esse/models/methods_directory/physical/ao/__init__.py +1 -1
- mat3ra/esse/models/methods_directory/physical/ao/dunning.py +1 -1
- mat3ra/esse/models/methods_directory/physical/ao/enum_options.py +1 -1
- mat3ra/esse/models/methods_directory/physical/ao/other.py +1 -1
- mat3ra/esse/models/methods_directory/physical/ao/pople.py +1 -1
- mat3ra/esse/models/methods_directory/physical/psp/__init__.py +1 -1
- mat3ra/esse/models/methods_directory/physical/psp/file.py +1 -1
- mat3ra/esse/models/methods_directory/physical/psp/file_data_item.py +1 -1
- mat3ra/esse/models/methods_directory/physical/pw.py +1 -1
- mat3ra/esse/models/methods_directory/physical/smearing.py +1 -1
- mat3ra/esse/models/methods_directory/physical/tetrahedron.py +1 -1
- mat3ra/esse/models/model/__init__.py +1 -1
- mat3ra/esse/models/model/categorized_model.py +1 -1
- mat3ra/esse/models/model/mixins/__init__.py +1 -1
- mat3ra/esse/models/model/mixins/dft/__init__.py +1 -3
- mat3ra/esse/models/model/mixins/dft/double_hybrid_functional.py +1 -1
- mat3ra/esse/models/model/mixins/dft/enum_options.py +1 -1
- mat3ra/esse/models/model/mixins/dft/gga_functional.py +1 -1
- mat3ra/esse/models/model/mixins/dft/hybrid_functional.py +1 -1
- mat3ra/esse/models/model/mixins/dft/lda_functional.py +1 -1
- mat3ra/esse/models/model/mixins/dft/mgga_functional.py +1 -1
- mat3ra/esse/models/model/mixins/dispersion_correction.py +1 -1
- mat3ra/esse/models/model/mixins/enum_options.py +1 -1
- mat3ra/esse/models/model/mixins/hubbard.py +1 -1
- mat3ra/esse/models/model/mixins/spin_orbit_coupling.py +1 -1
- mat3ra/esse/models/model/mixins/spin_polarization.py +1 -1
- mat3ra/esse/models/model/model_parameters.py +1 -1
- mat3ra/esse/models/model/model_without_method.py +1 -1
- mat3ra/esse/models/models_category/__init__.py +1 -1
- mat3ra/esse/models/models_category/enum_options.py +1 -1
- mat3ra/esse/models/models_category/pb/__init__.py +1 -1
- mat3ra/esse/models/models_category/pb/enum_options.py +1 -1
- mat3ra/esse/models/models_category/pb/qm/__init__.py +1 -1
- mat3ra/esse/models/models_category/pb/qm/abin/__init__.py +1 -1
- mat3ra/esse/models/models_category/pb/qm/abin/enum_options.py +1 -1
- mat3ra/esse/models/models_category/pb/qm/abin/gw.py +1 -1
- mat3ra/esse/models/models_category/pb/qm/dft/__init__.py +1 -1
- mat3ra/esse/models/models_category/pb/qm/dft/enum_options.py +1 -1
- mat3ra/esse/models/models_category/pb/qm/dft/ksdft/__init__.py +1 -1
- mat3ra/esse/models/models_category/pb/qm/dft/ksdft/double_hybrid.py +1 -1
- mat3ra/esse/models/models_category/pb/qm/dft/ksdft/enum_options.py +1 -1
- mat3ra/esse/models/models_category/pb/qm/dft/ksdft/gga.py +1 -1
- mat3ra/esse/models/models_category/pb/qm/dft/ksdft/hybrid.py +1 -1
- mat3ra/esse/models/models_category/pb/qm/dft/ksdft/lda.py +1 -1
- mat3ra/esse/models/models_category/pb/qm/dft/ksdft/mgga.py +1 -1
- mat3ra/esse/models/models_category/pb/qm/enum_options.py +1 -1
- mat3ra/esse/models/models_category/pb/qm/semp.py +1 -1
- mat3ra/esse/models/models_category/st/__init__.py +1 -1
- mat3ra/esse/models/models_category/st/det/__init__.py +1 -1
- mat3ra/esse/models/models_category/st/det/enum_options.py +1 -1
- mat3ra/esse/models/models_category/st/det/ml/__init__.py +1 -1
- mat3ra/esse/models/models_category/st/det/ml/enum_options.py +1 -1
- mat3ra/esse/models/models_category/st/det/ml/re.py +1 -1
- mat3ra/esse/models/models_category/st/enum_options.py +1 -1
- mat3ra/esse/models/models_directory/__init__.py +1 -1
- mat3ra/esse/models/models_directory/double_hybrid.py +1 -1
- mat3ra/esse/models/models_directory/gga.py +1 -1
- mat3ra/esse/models/models_directory/gw.py +1 -1
- mat3ra/esse/models/models_directory/hybrid.py +1 -1
- mat3ra/esse/models/models_directory/lda.py +1 -1
- mat3ra/esse/models/models_directory/legacy/__init__.py +1 -1
- mat3ra/esse/models/models_directory/legacy/dft.py +1 -1
- mat3ra/esse/models/models_directory/legacy/ml.py +1 -1
- mat3ra/esse/models/models_directory/legacy/unknown.py +1 -1
- mat3ra/esse/models/models_directory/mgga.py +1 -1
- mat3ra/esse/models/models_directory/re.py +1 -1
- mat3ra/esse/models/project.py +1 -1
- mat3ra/esse/models/properties_directory/__init__.py +1 -1
- mat3ra/esse/models/properties_directory/derived_properties.py +6 -7
- mat3ra/esse/models/properties_directory/electronic_configuration.py +1 -1
- mat3ra/esse/models/properties_directory/elemental/__init__.py +1 -1
- mat3ra/esse/models/properties_directory/elemental/atomic_radius.py +5 -6
- mat3ra/esse/models/properties_directory/elemental/electronegativity.py +1 -1
- mat3ra/esse/models/properties_directory/elemental/ionization_potential.py +1 -1
- mat3ra/esse/models/properties_directory/non_scalar/__init__.py +1 -1
- mat3ra/esse/models/properties_directory/non_scalar/average_potential_profile.py +5 -6
- mat3ra/esse/models/properties_directory/non_scalar/band_gaps.py +1 -1
- mat3ra/esse/models/properties_directory/non_scalar/band_structure.py +2 -11
- mat3ra/esse/models/properties_directory/non_scalar/charge_density_profile.py +3 -3
- mat3ra/esse/models/properties_directory/non_scalar/density_of_states.py +5 -5
- mat3ra/esse/models/properties_directory/non_scalar/dielectric_tensor.py +1 -1
- mat3ra/esse/models/properties_directory/non_scalar/file_content.py +1 -1
- mat3ra/esse/models/properties_directory/non_scalar/hubbard_u.py +1 -1
- mat3ra/esse/models/properties_directory/non_scalar/hubbard_v.py +1 -1
- mat3ra/esse/models/properties_directory/non_scalar/hubbard_v_nn.py +1 -1
- mat3ra/esse/models/properties_directory/non_scalar/phonon_dispersions.py +6 -15
- mat3ra/esse/models/properties_directory/non_scalar/phonon_dos.py +5 -5
- mat3ra/esse/models/properties_directory/non_scalar/potential_profile.py +3 -3
- mat3ra/esse/models/properties_directory/non_scalar/reaction_energy_profile.py +3 -3
- mat3ra/esse/models/properties_directory/non_scalar/stress_tensor.py +4 -4
- mat3ra/esse/models/properties_directory/non_scalar/total_energy_contributions.py +27 -27
- mat3ra/esse/models/properties_directory/non_scalar/vibrational_spectrum.py +5 -5
- mat3ra/esse/models/properties_directory/scalar/__init__.py +1 -1
- mat3ra/esse/models/properties_directory/scalar/electron_affinity.py +3 -3
- mat3ra/esse/models/properties_directory/scalar/fermi_energy.py +3 -3
- mat3ra/esse/models/properties_directory/scalar/formation_energy.py +3 -3
- mat3ra/esse/models/properties_directory/scalar/ionization_potential.py +3 -3
- mat3ra/esse/models/properties_directory/scalar/pressure.py +1 -1
- mat3ra/esse/models/properties_directory/scalar/reaction_energy_barrier.py +3 -3
- mat3ra/esse/models/properties_directory/scalar/surface_energy.py +3 -3
- mat3ra/esse/models/properties_directory/scalar/total_energy.py +3 -3
- mat3ra/esse/models/properties_directory/scalar/total_force.py +1 -1
- mat3ra/esse/models/properties_directory/scalar/valence_band_offset.py +3 -3
- mat3ra/esse/models/properties_directory/scalar/zero_point_energy.py +3 -3
- mat3ra/esse/models/properties_directory/structural/__init__.py +1 -1
- mat3ra/esse/models/properties_directory/structural/atomic_forces.py +1 -1
- mat3ra/esse/models/properties_directory/structural/basis/__init__.py +10 -36
- mat3ra/esse/models/properties_directory/structural/basis/atomic_constraints.py +1 -1
- mat3ra/esse/models/properties_directory/structural/basis/atomic_coordinate.py +1 -1
- mat3ra/esse/models/properties_directory/structural/basis/atomic_coordinates.py +5 -6
- mat3ra/esse/models/properties_directory/structural/basis/atomic_element.py +1 -1
- mat3ra/esse/models/properties_directory/structural/basis/atomic_label.py +14 -0
- mat3ra/esse/models/properties_directory/structural/basis/bonds.py +1 -1
- mat3ra/esse/models/properties_directory/structural/density.py +1 -1
- mat3ra/esse/models/properties_directory/structural/elemental_ratio.py +1 -1
- mat3ra/esse/models/properties_directory/structural/inchi.py +1 -1
- mat3ra/esse/models/properties_directory/structural/inchi_key.py +1 -1
- mat3ra/esse/models/properties_directory/structural/lattice/__init__.py +14 -17
- mat3ra/esse/models/properties_directory/structural/lattice/lattice_bravais.py +10 -7
- mat3ra/esse/models/properties_directory/structural/lattice/lattice_vectors.py +5 -6
- mat3ra/esse/models/properties_directory/structural/lattice/type_enum.py +2 -2
- mat3ra/esse/models/properties_directory/structural/lattice/type_extended_enum.py +4 -3
- mat3ra/esse/models/properties_directory/structural/magnetic_moments.py +1 -1
- mat3ra/esse/models/properties_directory/structural/molecular_pattern.py +5 -5
- mat3ra/esse/models/properties_directory/structural/p_norm.py +1 -1
- mat3ra/esse/models/properties_directory/structural/patterns/__init__.py +1 -1
- mat3ra/esse/models/properties_directory/structural/patterns/functional_group.py +1 -1
- mat3ra/esse/models/properties_directory/structural/patterns/ring.py +1 -1
- mat3ra/esse/models/properties_directory/structural/patterns/special_bond.py +1 -1
- mat3ra/esse/models/properties_directory/structural/symmetry.py +1 -1
- mat3ra/esse/models/properties_directory/structural/volume.py +1 -1
- mat3ra/esse/models/properties_directory/workflow/convergence/__init__.py +1 -1
- mat3ra/esse/models/properties_directory/workflow/convergence/electronic.py +1 -1
- mat3ra/esse/models/properties_directory/workflow/convergence/ionic.py +3 -3
- mat3ra/esse/models/properties_directory/workflow/convergence/kpoint.py +1 -1
- mat3ra/esse/models/property/__init__.py +1 -1
- mat3ra/esse/models/property/base/The_source_of_a_property/__init__.py +1 -3
- mat3ra/esse/models/property/base/The_source_of_a_property/field_This_could_be_an_article__a_simulation_on_Exabyte__an_external_simulation__etc.py +1 -1
- mat3ra/esse/models/property/base.py +200 -0
- mat3ra/esse/models/property/meta/The_source_of_a_property/__init__.py +1 -3
- mat3ra/esse/models/property/meta/The_source_of_a_property/field_This_could_be_an_article__a_simulation_on_Exabyte__an_external_simulation__etc.py +1 -1
- mat3ra/esse/models/property/meta.py +200 -0
- mat3ra/esse/models/property/raw/The_source_of_a_property/__init__.py +1 -3
- mat3ra/esse/models/property/raw/The_source_of_a_property/field_This_could_be_an_article__a_simulation_on_Exabyte__an_external_simulation__etc.py +1 -1
- mat3ra/esse/models/property/raw.py +200 -0
- mat3ra/esse/models/property/source/The_source_of_a_property/__init__.py +1 -3
- mat3ra/esse/models/property/source/The_source_of_a_property/field_This_could_be_an_article__a_simulation_on_Exabyte__an_external_simulation__etc.py +1 -1
- mat3ra/esse/models/property/source.py +150 -0
- mat3ra/esse/models/software/__init__.py +1 -1
- mat3ra/esse/models/software/application.py +1 -1
- mat3ra/esse/models/software/executable.py +1 -1
- mat3ra/esse/models/software/flavor.py +1 -1
- mat3ra/esse/models/software/template.py +1 -1
- mat3ra/esse/models/software_directory/ml/__init__.py +1 -1
- mat3ra/esse/models/software_directory/ml/exabyteml.py +1 -1
- mat3ra/esse/models/software_directory/ml/unit/__init__.py +1 -1
- mat3ra/esse/models/software_directory/ml/unit/execution/__init__.py +1 -1
- mat3ra/esse/models/software_directory/ml/unit/execution/evaluate/__init__.py +1 -3
- mat3ra/esse/models/software_directory/ml/unit/execution/evaluate/cross_validate.py +1 -1
- mat3ra/esse/models/software_directory/ml/unit/execution/initialize.py +1 -1
- mat3ra/esse/models/software_directory/ml/unit/execution/score.py +1 -1
- mat3ra/esse/models/software_directory/ml/unit/execution/train.py +1 -1
- mat3ra/esse/models/software_directory/ml/unit/processing/__init__.py +2 -2
- mat3ra/esse/models/software_directory/ml/unit/processing/data_transformation/__init__.py +2 -2
- mat3ra/esse/models/software_directory/ml/unit/processing/data_transformation/manipulation.py +4 -4
- mat3ra/esse/models/software_directory/ml/unit/processing/data_transformation/scale_and_reduce.py +2 -2
- mat3ra/esse/models/software_directory/ml/unit/processing/feature_selection/__init__.py +1 -1
- mat3ra/esse/models/software_directory/ml/unit/processing/feature_selection/filter_based.py +1 -1
- mat3ra/esse/models/software_directory/modeling/__init__.py +1 -1
- mat3ra/esse/models/software_directory/modeling/deepmd.py +1 -1
- mat3ra/esse/models/software_directory/modeling/espresso/__init__.py +1 -1
- mat3ra/esse/models/software_directory/modeling/espresso/arguments.py +1 -1
- mat3ra/esse/models/software_directory/modeling/nwchem.py +1 -1
- mat3ra/esse/models/software_directory/modeling/unit/__init__.py +1 -1
- mat3ra/esse/models/software_directory/modeling/unit/execution.py +1 -1
- mat3ra/esse/models/software_directory/modeling/vasp.py +1 -1
- mat3ra/esse/models/software_directory/scripting/__init__.py +1 -1
- mat3ra/esse/models/software_directory/scripting/jupyter_lab.py +1 -1
- mat3ra/esse/models/software_directory/scripting/python.py +1 -1
- mat3ra/esse/models/software_directory/scripting/shell.py +1 -1
- mat3ra/esse/models/software_directory/scripting/unit/__init__.py +1 -1
- mat3ra/esse/models/software_directory/scripting/unit/execution.py +1 -1
- mat3ra/esse/models/system/__init__.py +1 -1
- mat3ra/esse/models/system/_material.py +1 -1
- mat3ra/esse/models/system/_parent_job.py +1 -1
- mat3ra/esse/models/system/_project.py +1 -1
- mat3ra/esse/models/system/bankable.py +1 -1
- mat3ra/esse/models/system/consistency_check.py +1 -1
- mat3ra/esse/models/system/creator.py +1 -1
- mat3ra/esse/models/system/creator_account.py +1 -1
- mat3ra/esse/models/system/database_source.py +1 -1
- mat3ra/esse/models/system/defaultable.py +1 -1
- mat3ra/esse/models/system/description.py +1 -1
- mat3ra/esse/models/system/entity_reference.py +1 -1
- mat3ra/esse/models/system/file_source.py +1 -1
- mat3ra/esse/models/system/has_consistency_check.py +1 -1
- mat3ra/esse/models/system/history.py +1 -1
- mat3ra/esse/models/system/iframe_message.py +1 -1
- mat3ra/esse/models/system/in_set.py +1 -1
- mat3ra/esse/models/system/is_multi_material.py +1 -1
- mat3ra/esse/models/system/is_outdated.py +1 -1
- mat3ra/esse/models/system/job_extended.py +1 -1
- mat3ra/esse/models/system/message.py +1 -1
- mat3ra/esse/models/system/metadata.py +1 -1
- mat3ra/esse/models/system/name.py +1 -1
- mat3ra/esse/models/system/owner.py +1 -1
- mat3ra/esse/models/system/path.py +1 -1
- mat3ra/esse/models/system/path_entity.py +1 -1
- mat3ra/esse/models/system/schema_version.py +1 -1
- mat3ra/esse/models/system/scope.py +1 -1
- mat3ra/esse/models/system/set.py +1 -1
- mat3ra/esse/models/system/sharing.py +1 -1
- mat3ra/esse/models/system/soft_removable.py +1 -1
- mat3ra/esse/models/system/status.py +1 -1
- mat3ra/esse/models/system/tags.py +1 -1
- mat3ra/esse/models/system/timestampable.py +5 -4
- mat3ra/esse/models/system/use_values.py +1 -1
- mat3ra/esse/models/third_party/db/nist_jarvis/{2024.3.13 → 2024_3.13}/__init__.py +1 -1
- mat3ra/esse/models/third_party/db/nist_jarvis/{2024.3.13 → 2024_3.13}/atoms.py +4 -4
- mat3ra/esse/models/third_party/db/nist_jarvis/{2024.3.13 → 2024_3.13}/db_entry.py +4 -4
- mat3ra/esse/models/third_party/file/applications/espresso/7.2/__init__.py +1 -1
- mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/__init__.py +2 -1989
- mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/atomic_positions.py +1 -1
- mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/atomic_species.py +1 -1
- mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/cell.py +1 -1
- mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/cell_parameters.py +1 -1
- mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/control.py +1 -1
- mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/electrons.py +1 -1
- mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/hubbard.py +6 -6
- mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/ions.py +1 -1
- mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/k_points.py +1 -1
- mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/system.py +1 -1
- mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw_x.py +1990 -0
- mat3ra/esse/models/workflow/__init__.py +12 -13
- mat3ra/esse/models/workflow/base.py +1 -1
- mat3ra/esse/models/workflow/base_flow.py +1 -1
- mat3ra/esse/models/workflow/scope.py +1 -1
- mat3ra/esse/models/workflow/subworkflow/__init__.py +6 -7
- mat3ra/esse/models/workflow/subworkflow/unit.py +6 -7
- mat3ra/esse/models/workflow/unit/__init__.py +8 -9
- mat3ra/esse/models/workflow/unit/assertion.py +1 -1
- mat3ra/esse/models/workflow/unit/assignment.py +1 -1
- mat3ra/esse/models/workflow/unit/base.py +1 -1
- mat3ra/esse/models/workflow/unit/condition.py +1 -1
- mat3ra/esse/models/workflow/unit/execution.py +1 -1
- mat3ra/esse/models/workflow/unit/input/__init__.py +1 -1
- mat3ra/esse/models/workflow/unit/input/_input.py +1 -1
- mat3ra/esse/models/workflow/unit/input/_inputItem.py +1 -1
- mat3ra/esse/models/workflow/unit/input/_inputItemId.py +1 -1
- mat3ra/esse/models/workflow/unit/input/_inputItemScope.py +1 -1
- mat3ra/esse/models/workflow/unit/input/_map_input/__init__.py +1 -1
- mat3ra/esse/models/workflow/unit/input/_map_input/values.py +1 -1
- mat3ra/esse/models/workflow/unit/io/__init__.py +2 -2
- mat3ra/esse/models/workflow/unit/io/api.py +1 -1
- mat3ra/esse/models/workflow/unit/io/db.py +3 -3
- mat3ra/esse/models/workflow/unit/io/object_storage.py +1 -1
- mat3ra/esse/models/workflow/unit/map.py +1 -1
- mat3ra/esse/models/workflow/unit/processing.py +1 -1
- mat3ra/esse/models/workflow/unit/reduce.py +1 -1
- mat3ra/esse/models/workflow/unit/runtime/__init__.py +1 -1
- mat3ra/esse/models/workflow/unit/runtime/_runtime_item_full_object.py +1 -1
- mat3ra/esse/models/workflow/unit/runtime/_runtime_item_name_object.py +1 -1
- mat3ra/esse/models/workflow/unit/runtime/_runtime_item_string.py +1 -1
- mat3ra/esse/models/workflow/unit/runtime/runtime_item.py +1 -1
- mat3ra/esse/models/workflow/unit/runtime/runtime_items.py +1 -1
- mat3ra/esse/models/workflow/unit/subworkflow.py +1 -1
- {mat3ra_esse-2025.1.27.post0.dist-info → mat3ra_esse-2025.4.11.post0.dist-info}/METADATA +3 -2
- mat3ra_esse-2025.4.11.post0.dist-info/RECORD +471 -0
- {mat3ra_esse-2025.1.27.post0.dist-info → mat3ra_esse-2025.4.11.post0.dist-info}/WHEEL +1 -1
- mat3ra_esse-2025.1.27.post0.dist-info/RECORD +0 -456
- {mat3ra_esse-2025.1.27.post0.dist-info → mat3ra_esse-2025.4.11.post0.dist-info/licenses}/LICENSE.md +0 -0
- {mat3ra_esse-2025.1.27.post0.dist-info → mat3ra_esse-2025.4.11.post0.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# generated by datamodel-codegen:
|
|
2
|
+
# filename: definitions/constants.json
|
|
3
|
+
# version: 0.28.5
|
|
4
|
+
|
|
5
|
+
from __future__ import annotations
|
|
6
|
+
|
|
7
|
+
from typing import Optional
|
|
8
|
+
|
|
9
|
+
from pydantic import BaseModel
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class FundamentalConstants(BaseModel):
|
|
13
|
+
c: Optional[float] = 299792458
|
|
14
|
+
"""
|
|
15
|
+
speed of light in vacuum, "units": "m/s"
|
|
16
|
+
"""
|
|
17
|
+
h: Optional[float] = 6.62607015e-34
|
|
18
|
+
"""
|
|
19
|
+
Planck constant, "units": "J s"
|
|
20
|
+
"""
|
|
21
|
+
e: Optional[float] = 1.602176634e-19
|
|
22
|
+
"""
|
|
23
|
+
elementary charge, "units": "C"
|
|
24
|
+
"""
|
|
25
|
+
G: Optional[float] = 6.6743015e-11
|
|
26
|
+
"""
|
|
27
|
+
Newtonian constant of gravitation, "units": "m^3/kg/s^2"
|
|
28
|
+
"""
|
|
29
|
+
me: Optional[float] = 9.109383713928e-31
|
|
30
|
+
"""
|
|
31
|
+
electron mass "units": "kg"
|
|
32
|
+
"""
|
|
33
|
+
eps0: Optional[float] = 8.854187818814e-12
|
|
34
|
+
"""
|
|
35
|
+
vacuum permittivity, "units": "F/m"
|
|
36
|
+
"""
|
|
37
|
+
mu0: Optional[float] = 1.256637061272e-06
|
|
38
|
+
"""
|
|
39
|
+
vacuum permeability, "units": "N/A^2"
|
|
40
|
+
"""
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
# generated by datamodel-codegen:
|
|
2
2
|
# filename: definitions/units.json
|
|
3
|
-
# version: 0.
|
|
3
|
+
# version: 0.28.5
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
7
7
|
from typing import Any
|
|
8
8
|
|
|
9
|
-
from pydantic import RootModel
|
|
9
|
+
from pydantic import Field, RootModel
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
class
|
|
13
|
-
root: Any
|
|
12
|
+
class AllUnitsDefinitions(RootModel[Any]):
|
|
13
|
+
root: Any = Field(..., title="all units definitions")
|
mat3ra/esse/models/element.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# generated by datamodel-codegen:
|
|
2
2
|
# filename: element.json
|
|
3
|
-
# version: 0.
|
|
3
|
+
# version: 0.28.5
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
@@ -17,15 +17,14 @@ class Name(Enum):
|
|
|
17
17
|
class Units(Enum):
|
|
18
18
|
km = "km"
|
|
19
19
|
m = "m"
|
|
20
|
-
|
|
20
|
+
cm = "cm"
|
|
21
|
+
mm = "mm"
|
|
22
|
+
um = "um"
|
|
21
23
|
nm = "nm"
|
|
22
24
|
angstrom = "angstrom"
|
|
23
25
|
a_u_ = "a.u."
|
|
24
26
|
bohr = "bohr"
|
|
25
|
-
|
|
26
|
-
crystal = "crystal"
|
|
27
|
-
cartesian = "cartesian"
|
|
28
|
-
alat = "alat"
|
|
27
|
+
pm = "pm"
|
|
29
28
|
|
|
30
29
|
|
|
31
30
|
class AtomicRadius(BaseModel):
|
|
@@ -47,7 +46,7 @@ class Name25(Enum):
|
|
|
47
46
|
ionization_potential = "ionization_potential"
|
|
48
47
|
|
|
49
48
|
|
|
50
|
-
class
|
|
49
|
+
class Units21(Enum):
|
|
51
50
|
kJ_mol = "kJ/mol"
|
|
52
51
|
eV = "eV"
|
|
53
52
|
J_mol = "J/mol"
|
|
@@ -59,7 +58,7 @@ class Units20(Enum):
|
|
|
59
58
|
|
|
60
59
|
class IonizationPotential(BaseModel):
|
|
61
60
|
name: Optional[Name25] = None
|
|
62
|
-
units: Optional[
|
|
61
|
+
units: Optional[Units21] = None
|
|
63
62
|
value: float
|
|
64
63
|
|
|
65
64
|
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
# generated by datamodel-codegen:
|
|
2
2
|
# filename: job.json
|
|
3
|
-
# version: 0.
|
|
3
|
+
# version: 0.28.5
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
7
7
|
from enum import Enum
|
|
8
|
-
from typing import Any, Dict, List, Optional, Union
|
|
8
|
+
from typing import Any, Dict, List, Literal, Optional, Union
|
|
9
9
|
|
|
10
10
|
from pydantic import BaseModel, ConfigDict, Field, RootModel, conint
|
|
11
|
-
from typing_extensions import Literal
|
|
12
11
|
|
|
13
12
|
|
|
14
13
|
class Type(Enum):
|
|
@@ -63,7 +62,7 @@ class DataIODatabaseInputOutputSchema5(BaseModel):
|
|
|
63
62
|
"""
|
|
64
63
|
db collection name
|
|
65
64
|
"""
|
|
66
|
-
draft: bool
|
|
65
|
+
draft: Optional[bool] = True
|
|
67
66
|
"""
|
|
68
67
|
whether the result should be saved as draft
|
|
69
68
|
"""
|
|
@@ -709,7 +708,7 @@ class ExecutionUnitSchemaBase(BaseModel):
|
|
|
709
708
|
entity identity
|
|
710
709
|
"""
|
|
711
710
|
isDraft: Optional[bool] = None
|
|
712
|
-
name:
|
|
711
|
+
name: str
|
|
713
712
|
"""
|
|
714
713
|
name of the unit. e.g. pw_scf
|
|
715
714
|
"""
|
|
@@ -782,7 +781,7 @@ class AssignmentUnitSchema(BaseModel):
|
|
|
782
781
|
"""
|
|
783
782
|
type of the unit
|
|
784
783
|
"""
|
|
785
|
-
input:
|
|
784
|
+
input: List[WorkflowUnitInputSchema]
|
|
786
785
|
"""
|
|
787
786
|
Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.
|
|
788
787
|
"""
|
|
@@ -890,7 +889,7 @@ class ProcessingUnitSchema(BaseModel):
|
|
|
890
889
|
entity identity
|
|
891
890
|
"""
|
|
892
891
|
isDraft: Optional[bool] = None
|
|
893
|
-
name:
|
|
892
|
+
name: str
|
|
894
893
|
"""
|
|
895
894
|
name of the unit. e.g. pw_scf
|
|
896
895
|
"""
|
|
@@ -1211,7 +1210,7 @@ class DataIODatabaseInputOutputSchema7(BaseModel):
|
|
|
1211
1210
|
"""
|
|
1212
1211
|
db collection name
|
|
1213
1212
|
"""
|
|
1214
|
-
draft: bool
|
|
1213
|
+
draft: Optional[bool] = True
|
|
1215
1214
|
"""
|
|
1216
1215
|
whether the result should be saved as draft
|
|
1217
1216
|
"""
|
|
@@ -1724,7 +1723,7 @@ class ExecutionUnitSchemaBase2(BaseModel):
|
|
|
1724
1723
|
entity identity
|
|
1725
1724
|
"""
|
|
1726
1725
|
isDraft: Optional[bool] = None
|
|
1727
|
-
name:
|
|
1726
|
+
name: str
|
|
1728
1727
|
"""
|
|
1729
1728
|
name of the unit. e.g. pw_scf
|
|
1730
1729
|
"""
|
|
@@ -1797,7 +1796,7 @@ class AssignmentUnitSchema2(BaseModel):
|
|
|
1797
1796
|
"""
|
|
1798
1797
|
type of the unit
|
|
1799
1798
|
"""
|
|
1800
|
-
input:
|
|
1799
|
+
input: List[WorkflowUnitInputSchema]
|
|
1801
1800
|
"""
|
|
1802
1801
|
Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.
|
|
1803
1802
|
"""
|
|
@@ -1905,7 +1904,7 @@ class ProcessingUnitSchema1(BaseModel):
|
|
|
1905
1904
|
entity identity
|
|
1906
1905
|
"""
|
|
1907
1906
|
isDraft: Optional[bool] = None
|
|
1908
|
-
name:
|
|
1907
|
+
name: str
|
|
1909
1908
|
"""
|
|
1910
1909
|
name of the unit. e.g. pw_scf
|
|
1911
1910
|
"""
|
|
@@ -2011,7 +2010,7 @@ class MapUnitSchema(BaseModel):
|
|
|
2011
2010
|
entity identity
|
|
2012
2011
|
"""
|
|
2013
2012
|
isDraft: Optional[bool] = None
|
|
2014
|
-
name:
|
|
2013
|
+
name: str
|
|
2015
2014
|
"""
|
|
2016
2015
|
name of the unit. e.g. pw_scf
|
|
2017
2016
|
"""
|
|
@@ -2089,7 +2088,7 @@ class SubworkflowUnitSchema(BaseModel):
|
|
|
2089
2088
|
entity identity
|
|
2090
2089
|
"""
|
|
2091
2090
|
isDraft: Optional[bool] = None
|
|
2092
|
-
name:
|
|
2091
|
+
name: str
|
|
2093
2092
|
"""
|
|
2094
2093
|
name of the unit. e.g. pw_scf
|
|
2095
2094
|
"""
|
mat3ra/esse/models/job/base.py
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
# generated by datamodel-codegen:
|
|
2
2
|
# filename: material.json
|
|
3
|
-
# version: 0.
|
|
3
|
+
# version: 0.28.5
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
7
7
|
from enum import Enum
|
|
8
|
-
from typing import Any, Dict, List, Optional, Union
|
|
8
|
+
from typing import Any, Dict, List, Literal, Optional, Union
|
|
9
9
|
|
|
10
|
-
from pydantic import BaseModel, Field, RootModel, confloat
|
|
11
|
-
from typing_extensions import Literal
|
|
10
|
+
from pydantic import BaseModel, Field, RootModel, confloat, conint
|
|
12
11
|
|
|
13
12
|
|
|
14
13
|
class AtomicElements(BaseModel):
|
|
@@ -21,70 +20,39 @@ class AtomicElements(BaseModel):
|
|
|
21
20
|
oxidationState: Optional[float] = None
|
|
22
21
|
|
|
23
22
|
|
|
24
|
-
class Label(BaseModel):
|
|
25
|
-
id: Optional[float] = None
|
|
26
|
-
value: Optional[float] = None
|
|
27
|
-
|
|
28
|
-
|
|
29
23
|
class AtomicCoordinate(BaseModel):
|
|
30
24
|
id: Optional[float] = None
|
|
31
25
|
value: Optional[Union[List[float], List[bool]]] = Field(None, title="vector schema")
|
|
32
26
|
|
|
33
27
|
|
|
34
|
-
class
|
|
35
|
-
|
|
36
|
-
""
|
|
37
|
-
integer id of this entry
|
|
38
|
-
"""
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
class BondType(Enum):
|
|
42
|
-
single = "single"
|
|
43
|
-
double = "double"
|
|
44
|
-
triple = "triple"
|
|
45
|
-
quadruple = "quadruple"
|
|
46
|
-
aromatic = "aromatic"
|
|
47
|
-
tautomeric = "tautomeric"
|
|
48
|
-
dative = "dative"
|
|
49
|
-
other = "other"
|
|
28
|
+
class Units(Enum):
|
|
29
|
+
crystal = "crystal"
|
|
30
|
+
cartesian = "cartesian"
|
|
50
31
|
|
|
51
32
|
|
|
52
|
-
class
|
|
53
|
-
|
|
54
|
-
""
|
|
55
|
-
indices of the two connected atoms
|
|
56
|
-
"""
|
|
57
|
-
bondType: Optional[BondType] = None
|
|
33
|
+
class AtomicLabel(BaseModel):
|
|
34
|
+
id: Optional[float] = None
|
|
35
|
+
value: Optional[conint(ge=1, le=9)] = Field(None, title="integer positive single digit")
|
|
58
36
|
|
|
59
37
|
|
|
60
38
|
class BasisSchema(BaseModel):
|
|
61
39
|
elements: List[AtomicElements]
|
|
62
|
-
labels: Optional[List[Label]] = None
|
|
63
|
-
"""
|
|
64
|
-
Optional numeric label (e.g., 1, 2, as in Fe1, Fe2) to distinguish same atomic species to attach different spin magnetic moment.
|
|
65
|
-
"""
|
|
66
40
|
coordinates: List[AtomicCoordinate]
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
bonds: Optional[List[BondsSchemaItem]] = Field(None, title="bonds schema")
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
class Name(Enum):
|
|
73
|
-
lattice = "lattice"
|
|
41
|
+
units: Optional[Units] = "crystal"
|
|
42
|
+
labels: Optional[List[AtomicLabel]] = []
|
|
74
43
|
|
|
75
44
|
|
|
76
|
-
class
|
|
45
|
+
class Units40(Enum):
|
|
77
46
|
km = "km"
|
|
78
47
|
m = "m"
|
|
79
|
-
|
|
48
|
+
cm = "cm"
|
|
49
|
+
mm = "mm"
|
|
50
|
+
um = "um"
|
|
80
51
|
nm = "nm"
|
|
81
52
|
angstrom = "angstrom"
|
|
82
53
|
a_u_ = "a.u."
|
|
83
54
|
bohr = "bohr"
|
|
84
|
-
|
|
85
|
-
crystal = "crystal"
|
|
86
|
-
cartesian = "cartesian"
|
|
87
|
-
alat = "alat"
|
|
55
|
+
pm = "pm"
|
|
88
56
|
|
|
89
57
|
|
|
90
58
|
class LatticeExplicitUnit(BaseModel):
|
|
@@ -92,13 +60,13 @@ class LatticeExplicitUnit(BaseModel):
|
|
|
92
60
|
"""
|
|
93
61
|
lattice parameter for fractional coordinates
|
|
94
62
|
"""
|
|
95
|
-
units: Optional[
|
|
63
|
+
units: Optional[Units40] = None
|
|
96
64
|
a: List[float] = Field(..., max_length=3, min_length=3, title="array of 3 number elements schema")
|
|
97
65
|
b: List[float] = Field(..., max_length=3, min_length=3, title="array of 3 number elements schema")
|
|
98
66
|
c: List[float] = Field(..., max_length=3, min_length=3, title="array of 3 number elements schema")
|
|
99
67
|
|
|
100
68
|
|
|
101
|
-
class
|
|
69
|
+
class LatticeTypeEnum(Enum):
|
|
102
70
|
CUB = "CUB"
|
|
103
71
|
BCC = "BCC"
|
|
104
72
|
FCC = "FCC"
|
|
@@ -125,16 +93,18 @@ class Angle(Enum):
|
|
|
125
93
|
radian = "radian"
|
|
126
94
|
|
|
127
95
|
|
|
128
|
-
class
|
|
129
|
-
length: Optional[Length] =
|
|
130
|
-
angle: Optional[Angle] =
|
|
96
|
+
class LatticeUnitsSchema(BaseModel):
|
|
97
|
+
length: Optional[Length] = "angstrom"
|
|
98
|
+
angle: Optional[Angle] = "degree"
|
|
131
99
|
|
|
132
100
|
|
|
133
101
|
class LatticeSchema(BaseModel):
|
|
134
|
-
name: Optional[Name] = None
|
|
135
102
|
vectors: Optional[LatticeExplicitUnit] = Field(None, title="lattice explicit unit")
|
|
136
|
-
type:
|
|
137
|
-
units: Optional[
|
|
103
|
+
type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum")
|
|
104
|
+
units: Optional[LatticeUnitsSchema] = Field(
|
|
105
|
+
default_factory=lambda: LatticeUnitsSchema.model_validate({"length": "angstrom", "angle": "degree"}),
|
|
106
|
+
title="Lattice units schema",
|
|
107
|
+
)
|
|
138
108
|
a: float
|
|
139
109
|
"""
|
|
140
110
|
length of the first lattice vector
|
|
@@ -161,44 +131,44 @@ class LatticeSchema(BaseModel):
|
|
|
161
131
|
"""
|
|
162
132
|
|
|
163
133
|
|
|
164
|
-
class
|
|
134
|
+
class Name(Enum):
|
|
165
135
|
volume = "volume"
|
|
166
136
|
|
|
167
137
|
|
|
168
|
-
class
|
|
138
|
+
class Units41(Enum):
|
|
169
139
|
angstrom_3 = "angstrom^3"
|
|
170
140
|
|
|
171
141
|
|
|
172
142
|
class VolumeSchema(BaseModel):
|
|
173
143
|
name: Literal["0#-datamodel-code-generator-#-object-#-special-#"]
|
|
174
|
-
units: Optional[
|
|
144
|
+
units: Optional[Units41] = None
|
|
175
145
|
value: float
|
|
176
146
|
|
|
177
147
|
|
|
178
|
-
class
|
|
148
|
+
class Name46(Enum):
|
|
179
149
|
density = "density"
|
|
180
150
|
|
|
181
151
|
|
|
182
|
-
class
|
|
152
|
+
class Units42(Enum):
|
|
183
153
|
g_cm_3 = "g/cm^3"
|
|
184
154
|
|
|
185
155
|
|
|
186
156
|
class DensitySchema(BaseModel):
|
|
187
157
|
name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
|
|
188
|
-
units: Optional[
|
|
158
|
+
units: Optional[Units42] = None
|
|
189
159
|
value: float
|
|
190
160
|
|
|
191
161
|
|
|
192
|
-
class
|
|
162
|
+
class Units43(Enum):
|
|
193
163
|
angstrom = "angstrom"
|
|
194
164
|
|
|
195
165
|
|
|
196
166
|
class ScalarSchema(BaseModel):
|
|
197
|
-
units: Optional[
|
|
167
|
+
units: Optional[Units43] = None
|
|
198
168
|
value: float
|
|
199
169
|
|
|
200
170
|
|
|
201
|
-
class
|
|
171
|
+
class Name47(Enum):
|
|
202
172
|
symmetry = "symmetry"
|
|
203
173
|
|
|
204
174
|
|
|
@@ -218,7 +188,7 @@ class SymmetrySchema(BaseModel):
|
|
|
218
188
|
name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
|
|
219
189
|
|
|
220
190
|
|
|
221
|
-
class
|
|
191
|
+
class Name48(Enum):
|
|
222
192
|
elemental_ratio = "elemental_ratio"
|
|
223
193
|
|
|
224
194
|
|
|
@@ -231,7 +201,7 @@ class ElementalRatio(BaseModel):
|
|
|
231
201
|
"""
|
|
232
202
|
|
|
233
203
|
|
|
234
|
-
class
|
|
204
|
+
class Name49(Enum):
|
|
235
205
|
p_norm = "p-norm"
|
|
236
206
|
|
|
237
207
|
|
|
@@ -244,7 +214,7 @@ class PNorm(BaseModel):
|
|
|
244
214
|
value: float
|
|
245
215
|
|
|
246
216
|
|
|
247
|
-
class
|
|
217
|
+
class Name50(Enum):
|
|
248
218
|
inchi = "inchi"
|
|
249
219
|
|
|
250
220
|
|
|
@@ -253,7 +223,7 @@ class InChIRepresentationSchema(BaseModel):
|
|
|
253
223
|
value: str
|
|
254
224
|
|
|
255
225
|
|
|
256
|
-
class
|
|
226
|
+
class Name51(Enum):
|
|
257
227
|
inchi_key = "inchi_key"
|
|
258
228
|
|
|
259
229
|
|
|
@@ -332,7 +302,7 @@ class FileSourceSchema(BaseModel):
|
|
|
332
302
|
"""
|
|
333
303
|
|
|
334
304
|
|
|
335
|
-
class
|
|
305
|
+
class Name52(Enum):
|
|
336
306
|
default = "default"
|
|
337
307
|
atomsTooClose = "atomsTooClose"
|
|
338
308
|
atomsOverlap = "atomsOverlap"
|
|
@@ -345,7 +315,7 @@ class Severity(Enum):
|
|
|
345
315
|
|
|
346
316
|
|
|
347
317
|
class MaterialConsistencyCheckSchema(BaseModel):
|
|
348
|
-
name:
|
|
318
|
+
name: Name52
|
|
349
319
|
"""
|
|
350
320
|
Name of the consistency check that is performed, which is listed in an enum.
|
|
351
321
|
"""
|