Skip to content

Commit b54402f

Browse files
author
Martin Durant
committed
Add start/stop/plot to DataFrame
The latter passes on to hvplot (will fail if not importable)
1 parent a2c0cda commit b54402f

2 files changed

Lines changed: 18 additions & 0 deletions

File tree

streamz/collection.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -232,6 +232,12 @@ def _repr_html_(self):
232232
def current_value(self):
233233
return self.stream.current_value
234234

235+
def start(self):
236+
self.stream.start()
237+
238+
def stop(self):
239+
self.stream.stop()
240+
235241
def _ipython_display_(self, **kwargs):
236242
return self.stream.latest().rate_limit(
237243
0.5).gather()._ipython_display_(**kwargs)

streamz/dataframe/core.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -326,6 +326,10 @@ def concat(tup, module=None, columns=None):
326326
example = kwargs.get('example')
327327
elif len(args) > 1:
328328
example = args[1]
329+
if callable(example):
330+
example = example()
331+
kwargs["example"] = example
332+
329333
self._subtype = get_base_frame_type(self.__class__.__name__,
330334
is_dataframe_like, example)
331335
super(DataFrame, self).__init__(*args, **kwargs)
@@ -337,6 +341,14 @@ def verify(self, x):
337341
raise IndexError("Input expected to have columns %s, got %s" %
338342
(self.example.columns, x.columns))
339343

344+
@property
345+
def plot(self):
346+
try:
347+
import hvplot.streamz
348+
except ImportError as err: # pragma: no cover
349+
raise ImportError("Streamz dataframe plotting requires hvplot") from err
350+
return self.hvplot
351+
340352

341353
class _SeriesMixin(object):
342354
@property

0 commit comments

Comments
 (0)