From 6caab094a042371c8341b40a4c589be89bbc6446 Mon Sep 17 00:00:00 2001
From: Philipp Rudiger
Date: Thu, 21 Dec 2017 13:04:01 +0000
Subject: [PATCH] Cleaned up top-level namespace
---
holoviews/__init__.py | 13 +++++++------
holoviews/core/element.py | 6 ++++++
holoviews/core/ndmapping.py | 2 +-
holoviews/element/__init__.py | 2 +-
holoviews/tests/core/testoptions.py | 6 ++++--
5 files changed, 19 insertions(+), 10 deletions(-)
diff --git a/holoviews/__init__.py b/holoviews/__init__.py
index 70109b2013..b8e250e7f7 100644
--- a/holoviews/__init__.py
+++ b/holoviews/__init__.py
@@ -10,14 +10,15 @@
reponame="holoviews"))
from .core import archive, config # noqa (API import)
-from .core.dimension import OrderedDict, Dimension # noqa (API import)
from .core.boundingregion import BoundingBox # noqa (API import)
+from .core.dimension import OrderedDict, Dimension # noqa (API import)
+from .core.element import Element, Collator # noqa (API import)
+from .core.layout import (Layout, NdLayout, Empty, # noqa (API import)
+ AdjointLayout)
+from .core.ndmapping import NdMapping # noqa (API import)
from .core.options import (Options, Store, Cycle, # noqa (API import)
- Palette, StoreOptions)
-from .core.layout import * # noqa (API import)
-from .core.element import * # noqa (API import)
-from .core.overlay import * # noqa (API import)
-from .core.tree import * # noqa (API import)
+ Palette)
+from .core.overlay import Overlay, NdOverlay # noqa (API import)
from .core.spaces import (HoloMap, Callable, DynamicMap, # noqa (API import)
GridSpace, GridMatrix)
diff --git a/holoviews/core/element.py b/holoviews/core/element.py
index f9a493a4be..4281c2c707 100644
--- a/holoviews/core/element.py
+++ b/holoviews/core/element.py
@@ -22,6 +22,8 @@ class Element(ViewableElement, Composable, Overlayable):
group = param.String(default='Element', constant=True)
+ __abstract = True
+
def hist(self, dimension=None, num_bins=20, bin_range=None,
adjoin=True, **kwargs):
"""
@@ -261,6 +263,8 @@ class Element2D(Element):
Allows overriding the extents of the Element in 2D space defined
as four-tuple defining the (left, bottom, right and top) edges.""")
+ __abstract = True
+
class Element3D(Element2D):
@@ -268,6 +272,8 @@ class Element3D(Element2D):
Allows overriding the extents of the Element in 3D space
defined as (xmin, ymin, zmin, xmax, ymax, zmax).""")
+ __abstract = True
+
class Collator(NdMapping):
"""
diff --git a/holoviews/core/ndmapping.py b/holoviews/core/ndmapping.py
index 761c9b6b10..5de4d9dab3 100644
--- a/holoviews/core/ndmapping.py
+++ b/holoviews/core/ndmapping.py
@@ -717,7 +717,7 @@ class UniformNdMapping(NdMapping):
data_type = (ViewableElement, NdMapping)
- _abstract = True
+ __abstract = True
_deep_indexable = True
_auxiliary_component = False
diff --git a/holoviews/element/__init__.py b/holoviews/element/__init__.py
index 6cb1b6691f..1d798164ce 100644
--- a/holoviews/element/__init__.py
+++ b/holoviews/element/__init__.py
@@ -110,7 +110,7 @@ def table(self, kdims=None, vdims=None, groupby=None, **kwargs):
def public(obj):
- if not isinstance(obj, type) or getattr(obj, 'abstract', False):
+ if not isinstance(obj, type) or getattr(obj, 'abstract', False) and not obj is Element:
return False
return issubclass(obj, Element)
diff --git a/holoviews/tests/core/testoptions.py b/holoviews/tests/core/testoptions.py
index 24465a8cd0..90f1bf5231 100644
--- a/holoviews/tests/core/testoptions.py
+++ b/holoviews/tests/core/testoptions.py
@@ -1,8 +1,10 @@
import os
import pickle
import numpy as np
-from holoviews import Store, StoreOptions, Histogram, Image
-from holoviews.core.options import OptionError, Cycle, Options, OptionTree, options_policy
+from holoviews import Store, Histogram, Image
+from holoviews.core.options import (
+ OptionError, Cycle, Options, OptionTree, StoreOptions, options_policy
+)
from holoviews.element.comparison import ComparisonTestCase
from holoviews import plotting # noqa Register backends
from unittest import SkipTest