blob: 08f14aba803949512c331cb05111887aa2d115ec [file] [log] [blame]
'''PyHeron's top level library, compatible with StreamParse API'''
__all__ = ['bolt', 'spout', 'stream', 'component', 'topology']
#########################################################################################
### Import modules that topology writers will frequently need to use/implement to ###
### this top level, so that they can import them from the top level library directly. ###
#########################################################################################
# from heron's common module
from heron.common.src.python.utils.tuple import HeronTuple
from heron.common.src.python.utils.misc import PythonSerializer, IHeronSerializer
from heron.common.src.python.utils.topology import TopologyContext, ICustomGrouping, ITaskHook
import heron.common.src.python.constants as constants
# Load basic topology modules
from .stream import Stream, Grouping
from .topology import Topology, TopologyBuilder
# Load spout and bolt
from .bolt import Bolt
from .spout import Spout
###### Not yet implemented classes ######
class BatchingBolt(object):
def __init__(self, *args, **kwargs):
raise NotImplementedError("BatchingBolt is not yet implemented in PyHeron")
class JavaBolt(object):
def __init__(self, *args, **kwargs):
raise NotImplementedError("JavaBolt is not yet implemented in PyHeron")
class JavaSpout(object):
def __init__(self, *args, **kwargs):
raise NotImplementedError("JavaSpout is not yet implemented in PyHeron")
class ShellBolt(object):
def __init__(self, *args, **kwargs):
raise NotImplementedError("ShellBolt is not yet implemented in PyHeron")
class ShellSpout(object):
def __init__(self, *args, **kwargs):
raise NotImplementedError("ShellSpout is not yet implemented in PyHeron")
class StormHandler(object):
def __init__(self, serializer):
raise NotImplementedError("StormHandler is not yet implemented in PyHeron")