from . import config
from dask.config import config
from .actor import Actor, ActorFuture
from .core import connect, rpc
from .deploy import LocalCluster, Adaptive, SpecCluster, SSHCluster
from .diagnostics.progressbar import progress
from .diagnostics.plugin import WorkerPlugin, SchedulerPlugin
from .client import (
    Client,
    Executor,
    CompatibleExecutor,
    wait,
    as_completed,
    default_client,
    fire_and_forget,
    Future,
    futures_of,
    get_task_stream,
    performance_report,
)
from .lock import Lock
from .nanny import Nanny
from .pubsub import Pub, Sub
from .queues import Queue
from .scheduler import Scheduler
from .threadpoolexecutor import rejoin
from .utils import sync, TimeoutError
from .variable import Variable
from .worker import Worker, get_worker, get_client, secede, Reschedule
from .worker_client import local_client, worker_client

from ._version import get_versions

versions = get_versions()
__version__ = versions["version"]
__git_revision__ = versions["full-revisionid"]
del get_versions, versions
