"""Core library.

Registries:

.. autosummary::
   :toctree: .

   Registry
   QuerySet
   QueryManager
   RecordsList
   HasFeatures
   FeatureManager
   LabelManager
   IsVersioned
   CanValidate
   HasParents
   TracksRun
   TracksUpdates
   InspectResult
   fields

Annotators:

.. autosummary::
   :toctree: .

   DataFrameAnnotator
   AnnDataAnnotator
   MuDataAnnotator
   AnnotateLookup

Classes:

.. autosummary::
   :toctree: .

   Settings
   TransformSettings
   MappedCollection
   run_context

Modules:

.. autosummary::
   :toctree: .

   datasets
   storage
   types
   exceptions

"""

from lamin_utils._inspect import InspectResult
from lnschema_core.models import (
    CanValidate,
    HasFeatures,
    HasParents,
    IsVersioned,
    Registry,
    TracksRun,
    TracksUpdates,
)

from lamindb._annotate import (
    AnnDataAnnotator,
    AnnotateLookup,
    DataFrameAnnotator,
    MuDataAnnotator,
)
from lamindb._query_manager import QueryManager
from lamindb._query_set import QuerySet, RecordsList
from lamindb.core._feature_manager import FeatureManager
from lamindb.core._label_manager import LabelManager

from . import _data, datasets, exceptions, fields, types
from ._mapped_collection import MappedCollection
from ._run_context import run_context
from ._settings import Settings
from ._transform_settings import TransformSettings
