"""
Pigreads Python module
----------------------

This section documents the API of Pigreads, which is the main interface for
users to interact with the library.
"""

from __future__ import annotations

from pigreads._version import version as __version__
from pigreads.compat import run, weights
from pigreads.diffusivity import diffusivity_matrix
from pigreads.helper import (
    delta,
    deltas,
    get_upper_triangle,
    normalise_vector,
    prepare_array,
    to_ithildin,
)
from pigreads.models import Models
from pigreads.schema.model import ModelDefinition

__all__ = [
    "ModelDefinition",
    "Models",
    "__version__",
    "delta",
    "deltas",
    "diffusivity_matrix",
    "get_upper_triangle",
    "normalise_vector",
    "prepare_array",
    "run",
    "to_ithildin",
    "weights",
]
