# -*- coding: utf-8 -*-
#
# Copyright 2018-2020 Data61, CSIRO
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

"""
Stellar Machine Learning Library

"""

__all__ = [
    "data",
    "layer",
    "mapper",
    "utils",
    "StellarDiGraph",
    "StellarGraph",
    "__version__",
]

# Version
from .version import __version__

# Import modules
from stellargraph import (
    calibration,
    ensemble,
    interpretability,
    losses,
    layer,
    mapper,
    utils,
)

# Top-level imports
from stellargraph.core.graph import StellarGraph, StellarDiGraph
from stellargraph.core.schema import GraphSchema
from stellargraph.calibration import TemperatureCalibration, IsotonicCalibration
from stellargraph.calibration import (
    plot_reliability_diagram,
    expected_calibration_error,
)
from stellargraph.ensemble import Ensemble, BaggingEnsemble

# Custom layers for keras deserialization:
custom_keras_layers = {
    "GraphConvolution": layer.GraphConvolution,
    "ClusterGraphConvolution": layer.ClusterGraphConvolution,
    "GraphAttention": layer.GraphAttention,
    "GraphAttentionSparse": layer.GraphAttentionSparse,
    "SqueezedSparseConversion": layer.SqueezedSparseConversion,
    "MeanAggregator": layer.graphsage.MeanAggregator,
    "MaxPoolingAggregator": layer.graphsage.MaxPoolingAggregator,
    "MeanPoolingAggregator": layer.graphsage.MeanPoolingAggregator,
    "AttentionalAggregator": layer.graphsage.AttentionalAggregator,
    "MeanHinAggregator": layer.hinsage.MeanHinAggregator,
    "RelationalGraphConvolution": layer.rgcn.RelationalGraphConvolution,
    "PPNPPropagationLayer": layer.ppnp.PPNPPropagationLayer,
    "APPNPPropagationLayer": layer.appnp.APPNPPropagationLayer,
}

@@ -667,16 +667,32 @@
 %22data%22,%0A
+    %22datasets%22,%0A
     %22lay
@@ -888,24 +888,38 @@
 alibration,%0A
+    datasets,%0A
     ensemble

Make datasets accessible in stellargraph module by default (#1113)