#    This script is part of navis (http://www.github.com/navis-org/navis).
#    Copyright (C) 2018 Philipp Schlegel
#
#    This program is free software: you can redistribute it and/or modify
#    it under the terms of the GNU General Public License as published by
#    the Free Software Foundation, either version 3 of the License, or
#    (at your option) any later version.
#
#    This program is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU General Public License for more details.

from .iterables import make_iterable, make_non_iterable, is_iterable, multi_split
from .misc import (is_jupyter, set_loggers, set_pbars, unpack_neurons,
                   set_default_connector_colors, parse_objects,
                   is_url, make_url, make_volume, sizeof_fmt,
                   round_smart, is_blender, check_vispy)
from .validate import validate_options, validate_table
from .eval import (eval_node_ids, eval_neurons, eval_id, eval_conditions,
                   is_mesh, is_numeric, eval_param)
from .exceptions import (ConstructionError, VolumeError, CMTKError)
from .cv import (patch_cloudvolume)
from .decorators import (meshneuron_skeleton, map_neuronlist_df, map_neuronlist,
                         lock_neuron)

try:
    import navis_fastcore as fastcore
except ModuleNotFoundError:
    fastcore = None

__all__ = ['set_loggers', 'set_pbars', 'set_default_connector_colors',
           'patch_cloudvolume']
