Typing

sisl will use typing to enable static analyzers and to aid users when reading documentation.

The typing types are shown below:

CellAxisLiteral

alias of Literal[0, 1, 2, 'a', 'b', 'c']

CartesianAxisLiteral

alias of Literal[0, 1, 2, 'x', 'y', 'z']

CellAxis

alias of Literal[0, 1, 2, 'a', 'b', 'c']

CellAxes

alias of Literal[0, 1, 2, 'a', 'b', 'c'] | Sequence[Literal[0, 1, 2, 'a', 'b', 'c']]

CartesianAxis

alias of Literal[0, 1, 2, 'x', 'y', 'z']

CartesianAxes

alias of Literal[0, 1, 2, 'x', 'y', 'z'] | Sequence[Literal[0, 1, 2, 'x', 'y', 'z']]

AnyAxis

alias of Literal[0, 1, 2, 'a', 'b', 'c'] | Literal[0, 1, 2, 'x', 'y', 'z']

AnyAxes

alias of Literal[0, 1, 2, 'a', 'b', 'c'] | Sequence[Literal[0, 1, 2, 'a', 'b', 'c']] | Literal[0, 1, 2, 'x', 'y', 'z'] | Sequence[Literal[0, 1, 2, 'x', 'y', 'z']]

SimpleIndex

alias of int | Sequence[int] | Sequence[bool]

AtomsIndex

alias of int | Sequence[int] | Sequence[bool] | str | dict | Atom | AtomCategory | GenericCategory | Shape | bool | None

OrbitalsIndex

alias of int | Sequence[int] | Sequence[bool] | str | dict | Atom | AtomCategory | Shape | bool | None

AtomsLike

alias of int | str | Atom | Sequence[int | str | Atom] | Atoms

Coord

alias of Sequence[float]

CoordOrScalar

alias of float | Sequence[float]

FuncType

alias of Callable[[...], Any]

GaugeType

alias of Literal['cell', 'orbital']

GeometryLike

alias of str | BaseSile | Path | Geometry

GridLike

alias of str | BaseSile | Path | Grid

KPoint

alias of Sequence[float]

LatticeLike

alias of str | BaseSile | Path | Lattice

LatticeOrGeometry

alias of Lattice | Geometry

LatticeOrGeometryLike

alias of str | BaseSile | Path | Lattice | Geometry

SileLike

alias of str | BaseSile | Path

SparseMatrix

alias of spmatrix | sparray | SparseCSR

SparseMatrixExt

alias of spmatrix | sparray

UnitsVar

alias of str | Mapping[str, str] | Sequence[str]