"""mincePy: move the database to one side and let your objects take centre stage."""

from . import (
    archive_factory,
    archives,
    base_savable,
    builtins,
    common_helpers,
    depositors,
    exceptions,
    expr,
    fields,
    helpers,
    hist,
    historians,
    history,
    migrate,
    migrations,
    mongo,
    operations,
    process,
)
from . import qops as q
from . import records, refs, tracking, types, typing, utils, version
from .archive_factory import *
from .archives import *
from .base_savable import *
from .builtins import *
from .comparators import *
from .depositors import *
from .exceptions import *  # pylint: disable=redefined-builtin
from .expr import *
from .fields import *
from .helpers import *
from .hist import *
from .historians import *
from .history import *
from .migrations import *
from .process import *
from .records import *
from .refs import *
from .tracking import *
from .types import *
from .version import __author__, __version__

_ADDITIONAL = (
    "mongo",
    "builtins",
    "common_helpers",
    "migrate",
    "utils",
    "q",
    "operations",
    "typing",
)

__all__ = (
    archives.__all__
    + depositors.__all__
    + exceptions.__all__
    + historians.__all__
    + process.__all__
    + types.__all__
    + helpers.__all__
    + history.__all__
    + archive_factory.__all__
    + refs.__all__
    + records.__all__
    + base_savable.__all__
    + builtins.__all__
    + migrations.__all__
    + tracking.__all__
    + hist.__all__
    + fields.__all__
    + expr.__all__
    + _ADDITIONAL
)
