import importlib.metadata

from .array import (
    bin,
    extent,
    nice,
    tick_increment,
    tick_step,
    ticks,
)

from .axis import axis_bottom, axis_left, axis_right, axis_top

from .color import (
    color,
    cubehelix,
    gray,
    hcl,
    hsl,
    lab,
    lch,
    rgb,
)

from .format import (
    format_default_locale,
    format_prefix,
    precision_fixed,
    precision_prefix,
    precision_round,
)

from .format import (
    locale_format as format,
)

from .interpolate import (
    interpolate,
    interpolate_array,
    interpolate_basis,
    interpolate_basis_closed,
    interpolate_cubehelix,
    interpolate_cubehelix_long,
    interpolate_date,
    interpolate_discrete,
    interpolate_hcl,
    interpolate_hcl_long,
    interpolate_hsl,
    interpolate_hsl_long,
    interpolate_hue,
    interpolate_lab,
    interpolate_number,
    interpolate_number_array,
    interpolate_object,
    interpolate_rgb,
    interpolate_rgb_basis,
    interpolate_rgb_basis_closed,
    interpolate_round,
    interpolate_string,
    interpolate_zoom,
    piecewise,
    quantize,
)

from .path import Path as path

from .scale import (
    scale_band,
    scale_diverging,
    scale_diverging_log,
    scale_diverging_pow,
    scale_diverging_sqrt,
    scale_diverging_symlog,
    scale_identity,
    scale_linear,
    scale_log,
    scale_ordinal,
    scale_point,
    scale_pow,
    scale_quantile,
    scale_quantize,
    scale_radial,
    scale_sequential,
    scale_sequential_log,
    scale_sequential_pow,
    scale_sequential_quantile,
    scale_sequential_sqrt,
    scale_sequential_symlog,
    scale_sqrt,
    scale_symlog,
    scale_threshold,
    scale_time,
    tick_format,
)

from .selection import create

from .shape import (
    Arc as arc,
    Area as area,
    Line as line,
    Pie as pie,
    SYMBOLS_FILL,
    SYMBOLS_STROKE,
    Symbol as symbol,
    symbol_asterisk,
    symbol_circle,
    symbol_cross,
    symbol_diamond,
    symbol_diamond2,
    symbol_plus,
    symbol_square,
    symbol_square2,
    symbol_star,
    symbol_times,
    symbol_triangle,
    symbol_triangle2,
    symbol_wye,
)

from .time import (
    time_day,
    time_friday,
    time_hour,
    time_millisecond,
    time_minute,
    time_monday,
    time_month,
    time_saturday,
    time_second,
    time_sunday,
    time_thursday,
    time_ticks,
    time_tuesday,
    time_wednesday,
    time_week,
    time_year,
)

from .time_format import (
    iso_format,
    iso_parse,
    time_format,
    time_format_locale,
    time_parse,
)

from .scale_chromatic import (
    SCHEME_ACCENT,
    SCHEME_BLUES,
    SCHEME_BRBG,
    SCHEME_BUGN,
    SCHEME_BUPU,
    SCHEME_CATEGORY_10,
    SCHEME_DARK_2,
    SCHEME_GNBU,
    SCHEME_GREENS,
    SCHEME_GREYS,
    SCHEME_OBSERVABLE_10,
    SCHEME_ORANGES,
    SCHEME_ORRD,
    SCHEME_PAIRED,
    SCHEME_PASTEL_1,
    SCHEME_PASTEL_2,
    SCHEME_PIYG,
    SCHEME_PRGN,
    SCHEME_PUBU,
    SCHEME_PUBUGN,
    SCHEME_PUOR,
    SCHEME_PURD,
    SCHEME_PURPLES,
    SCHEME_RDBU,
    SCHEME_RDGY,
    SCHEME_RDPU,
    SCHEME_RDYLBU,
    SCHEME_RDYLGN,
    SCHEME_REDS,
    SCHEME_SET_1,
    SCHEME_SET_2,
    SCHEME_SET_3,
    SCHEME_SPECTRAL,
    SCHEME_TABLEAU_10,
    SCHEME_YLGN,
    SCHEME_YLGNBU,
    SCHEME_YLORBR,
    SCHEME_YLORRD,
    interpolate_blues,
    interpolate_brbg,
    interpolate_bugn,
    interpolate_bupu,
    interpolate_cividis,
    interpolate_cool,
    interpolate_cubehelix_default,
    interpolate_gnbu,
    interpolate_greens,
    interpolate_greys,
    interpolate_inferno,
    interpolate_magma,
    interpolate_oranges,
    interpolate_orrd,
    interpolate_piyg,
    interpolate_plasma,
    interpolate_prgn,
    interpolate_pubu,
    interpolate_pubugn,
    interpolate_puor,
    interpolate_purd,
    interpolate_purples,
    interpolate_rainbow,
    interpolate_rdbu,
    interpolate_rdgy,
    interpolate_rdpu,
    interpolate_rdylbu,
    interpolate_rdylgn,
    interpolate_reds,
    interpolate_sinebow,
    interpolate_spectral,
    interpolate_turbo,
    interpolate_viridis,
    interpolate_warm,
    interpolate_ylgn,
    interpolate_ylgnbu,
    interpolate_ylorbr,
    interpolate_ylorrd,
)

__version__ = importlib.metadata.version(__package__)

__all__ = [
    "SCHEME_ACCENT",
    "SCHEME_BLUES",
    "SCHEME_BRBG",
    "SCHEME_BUGN",
    "SCHEME_BUPU",
    "SCHEME_CATEGORY_10",
    "SCHEME_DARK_2",
    "SCHEME_GNBU",
    "SCHEME_GREENS",
    "SCHEME_GREYS",
    "SCHEME_OBSERVABLE_10",
    "SCHEME_ORANGES",
    "SCHEME_ORRD",
    "SCHEME_PAIRED",
    "SCHEME_PASTEL_1",
    "SCHEME_PASTEL_2",
    "SCHEME_PIYG",
    "SCHEME_PRGN",
    "SCHEME_PUBU",
    "SCHEME_PUBUGN",
    "SCHEME_PUOR",
    "SCHEME_PURD",
    "SCHEME_PURPLES",
    "SCHEME_RDBU",
    "SCHEME_RDGY",
    "SCHEME_RDPU",
    "SCHEME_RDYLBU",
    "SCHEME_RDYLGN",
    "SCHEME_REDS",
    "SCHEME_SET_1",
    "SCHEME_SET_2",
    "SCHEME_SET_3",
    "SCHEME_SPECTRAL",
    "SCHEME_TABLEAU_10",
    "SCHEME_YLGN",
    "SCHEME_YLGNBU",
    "SCHEME_YLORBR",
    "SCHEME_YLORRD",
    "SYMBOLS_FILL",
    "SYMBOLS_STROKE",
    "arc",
    "area",
    "axis_bottom",
    "axis_left",
    "axis_right",
    "axis_top",
    "bin",
    "color",
    "create",
    "cubehelix",
    "extent",
    "format",
    "format_default_locale",
    "format_prefix",
    "gray",
    "hcl",
    "hsl",
    "interpolate",
    "interpolate_array",
    "interpolate_basis",
    "interpolate_basis_closed",
    "interpolate_blues",
    "interpolate_brbg",
    "interpolate_bugn",
    "interpolate_bupu",
    "interpolate_cividis",
    "interpolate_cool",
    "interpolate_cubehelix",
    "interpolate_cubehelix_default",
    "interpolate_cubehelix_long",
    "interpolate_date",
    "interpolate_discrete",
    "interpolate_gnbu",
    "interpolate_greens",
    "interpolate_greys",
    "interpolate_hcl",
    "interpolate_hcl_long",
    "interpolate_hsl",
    "interpolate_hsl_long",
    "interpolate_hue",
    "interpolate_inferno",
    "interpolate_lab",
    "interpolate_magma",
    "interpolate_number",
    "interpolate_number_array",
    "interpolate_object",
    "interpolate_oranges",
    "interpolate_orrd",
    "interpolate_piyg",
    "interpolate_plasma",
    "interpolate_prgn",
    "interpolate_pubu",
    "interpolate_pubugn",
    "interpolate_puor",
    "interpolate_purd",
    "interpolate_purples",
    "interpolate_rainbow",
    "interpolate_rdbu",
    "interpolate_rdgy",
    "interpolate_rdpu",
    "interpolate_rdylbu",
    "interpolate_rdylgn",
    "interpolate_reds",
    "interpolate_rgb",
    "interpolate_rgb_basis",
    "interpolate_rgb_basis_closed",
    "interpolate_round",
    "interpolate_sinebow",
    "interpolate_spectral",
    "interpolate_string",
    "interpolate_turbo",
    "interpolate_viridis",
    "interpolate_warm",
    "interpolate_ylgn",
    "interpolate_ylgnbu",
    "interpolate_ylorbr",
    "interpolate_ylorrd",
    "interpolate_zoom",
    "iso_format",
    "iso_parse",
    "lab",
    "lch",
    "line",
    "nice",
    "path",
    "pie",
    "piecewise",
    "precision_fixed",
    "precision_prefix",
    "precision_round",
    "quantize",
    "rgb",
    "scale_band",
    "scale_diverging",
    "scale_diverging_log",
    "scale_diverging_pow",
    "scale_diverging_sqrt",
    "scale_diverging_symlog",
    "scale_identity",
    "scale_linear",
    "scale_log",
    "scale_ordinal",
    "scale_point",
    "scale_pow",
    "scale_quantile",
    "scale_quantize",
    "scale_radial",
    "scale_sequential",
    "scale_sequential_log",
    "scale_sequential_pow",
    "scale_sequential_quantile",
    "scale_sequential_sqrt",
    "scale_sequential_symlog",
    "scale_sqrt",
    "scale_symlog",
    "scale_threshold",
    "scale_time",
    "symbol",
    "symbol_asterisk",
    "symbol_circle",
    "symbol_cross",
    "symbol_diamond",
    "symbol_diamond2",
    "symbol_plus",
    "symbol_square",
    "symbol_square2",
    "symbol_star",
    "symbol_times",
    "symbol_triangle",
    "symbol_triangle2",
    "symbol_wye",
    "tick_format",
    "tick_increment",
    "tick_step",
    "ticks",
    "time_day",
    "time_format",
    "time_format_locale",
    "time_friday",
    "time_hour",
    "time_millisecond",
    "time_minute",
    "time_monday",
    "time_month",
    "time_parse",
    "time_saturday",
    "time_second",
    "time_sunday",
    "time_thursday",
    "time_ticks",
    "time_tuesday",
    "time_wednesday",
    "time_week",
    "time_year",
]
