Source code for aiida_atomistic.data.structure.kind

import numpy as np

import typing as t
import re
from pydantic import BaseModel, Field, ConfigDict, field_validator, model_validator

try:
    import ase  # noqa: F401
except ImportError:
    pass

try:
    import pymatgen.core as core  # noqa: F401
except ImportError:
    pass

from aiida_atomistic.data.structure.site import FrozenSite

[docs] class Kind(FrozenSite): """This class contains the core information about a given kind of the system. """
[docs] _mutable: t.ClassVar[bool] = False
[docs] position: t.Union[np.ndarray[float]] = Field(min_length=3, max_length=3, default=None)
# additional wrt FrozenSite:
[docs] positions: t.Union[np.ndarray[float], list[float]] = Field(default=None)
[docs] site_indices: t.Optional[t.List[int]] = Field(default=None)
@property
[docs] def name(self) -> str: """Return the name of the kind. This is an alias of `kind_name`.""" return self.kind_name