blob: e552276caae9ea603f7f3889f39fd6365f5738a8 [file] [log] [blame]
<!--
~ Licensed to the Apache Software Foundation (ASF) under one or more
~ contributor license agreements. See the NOTICE file distributed with
~ this work for additional information regarding copyright ownership.
~ The ASF licenses this file to You 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.
~
-->
<!-- Elements added to main will be displayed on all pages -->
<!doctype html>
<html lang="en" class="no-js">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="description" content="Python library for Apache StreamPipes">
<meta name="author" content="Apache Software Foundation (ASF)">
<link rel="canonical" href="https://streampipes.apache.org/docs/docs/python/latest/latest/reference/function_zoo/river_function/">
<link rel="prev" href="../../endpoint/api/version/">
<link rel="next" href="../../functions/function_handler/">
<link rel="icon" href="https://streampipes.apache.org/img/favicon/favicon.png">
<meta name="generator" content="mkdocs-1.4.2, mkdocs-material-9.1.3">
<title>River function - Apache StreamPipes Python</title>
<link rel="stylesheet" href="../../../assets/stylesheets/main.c4a75a56.min.css">
<link rel="stylesheet" href="../../../assets/stylesheets/palette.a0c5b2b5.min.css">
<link rel="stylesheet" href="../../../assets/_mkdocstrings.css">
<link rel="stylesheet" href="../../../stylesheets/extra.css">
<script>__md_scope=new URL("../../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
<!--
~ Licensed to the Apache Software Foundation (ASF) under one or more
~ contributor license agreements. See the NOTICE file distributed with
~ this work for additional information regarding copyright ownership.
~ The ASF licenses this file to You 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.
~
-->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
/* We explicitly disable cookie tracking to avoid privacy issues */
_paq.push(['disableCookies']);
/* Measure a visit to flink.apache.org and nightlies.apache.org/flink as the same visit */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function () {
var u = "//analytics.apache.org/";
_paq.push(['setTrackerUrl', u + 'matomo.php']);
_paq.push(['setSiteId', '35']);
var d = document, g = d.createElement('script'), s = d.getElementsByTagName('script')[0];
g.async = true;
g.src = u + 'matomo.js';
s.parentNode.insertBefore(g, s);
})();
</script>
<script>"undefined"!=typeof __md_analytics&&__md_analytics()</script>
</head>
<body dir="ltr" data-md-color-scheme="default" data-md-color-primary="" data-md-color-accent="">
<script>var palette=__md_get("__palette");if(palette&&"object"==typeof palette.color)for(var key of Object.keys(palette.color))document.body.setAttribute("data-md-color-"+key,palette.color[key])</script>
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
<label class="md-overlay" for="__drawer"></label>
<div data-md-component="skip">
<a href="#streampipes.function_zoo.river_function" class="md-skip">
Skip to content
</a>
</div>
<div data-md-component="announce">
</div>
<div data-md-color-scheme="default" data-md-component="outdated" hidden>
</div>
<header class="md-header md-header--shadow md-header--lifted" data-md-component="header">
<nav class="md-header__inner md-grid" aria-label="Header">
<a href="https://streampipes.apache.org/" title="Apache StreamPipes Python" class="md-header__button md-logo" aria-label="Apache StreamPipes Python" data-md-component="logo">
<img src="https://streampipes.apache.org/img/sp-logo-white-right.png" alt="logo">
</a>
<label class="md-header__button md-icon" for="__drawer">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
<div class="md-header__topic">
<span class="md-ellipsis">
Apache StreamPipes Python
</span>
</div>
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
River function
</span>
</div>
</div>
</div>
<form class="md-header__option" data-md-component="palette">
<input class="md-option" data-md-color-media="" data-md-color-scheme="default" data-md-color-primary="" data-md-color-accent="" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_1">
<label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_2" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2a7 7 0 0 0-7 7c0 2.38 1.19 4.47 3 5.74V17a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-2.26c1.81-1.27 3-3.36 3-5.74a7 7 0 0 0-7-7M9 21a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-1H9v1Z"/></svg>
</label>
<input class="md-option" data-md-color-media="" data-md-color-scheme="slate" data-md-color-primary="" data-md-color-accent="" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_2">
<label class="md-header__button md-icon" title="Switch to light mode" for="__palette_1" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2a7 7 0 0 1 7 7c0 2.38-1.19 4.47-3 5.74V17a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1v-2.26C6.19 13.47 5 11.38 5 9a7 7 0 0 1 7-7M9 21v-1h6v1a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1m3-17a5 5 0 0 0-5 5c0 2.05 1.23 3.81 3 4.58V16h4v-2.42c1.77-.77 3-2.53 3-4.58a5 5 0 0 0-5-5Z"/></svg>
</label>
</form>
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
<input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
<label class="md-search__icon md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg>
</label>
<nav class="md-search__options" aria-label="Search">
<button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
</button>
</nav>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" data-md-scrollfix>
<div class="md-search-result" data-md-component="search-result">
<div class="md-search-result__meta">
Initializing search
</div>
<ol class="md-search-result__list" role="presentation"></ol>
</div>
</div>
</div>
</div>
</div>
<div class="md-header__source">
<a href="https://github.com/apache/streampipes" title="Go to repository" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
</div>
<div class="md-source__repository">
apache/streampipes
</div>
</a>
</div>
</nav>
<nav class="md-tabs" aria-label="Tabs" data-md-component="tabs">
<div class="md-grid">
<ul class="md-tabs__list">
<li class="md-tabs__item">
<a href="../../.." class="md-tabs__link">
🏡 Home
</a>
</li>
<li class="md-tabs__item">
<a href="../../../getting-started/first-steps/" class="md-tabs__link">
🚀 Getting Started
</a>
</li>
<li class="md-tabs__item">
<a href="../../../tutorials/1-introduction-to-streampipes-python-client/" class="md-tabs__link">
🤓 Tutorials
</a>
</li>
<li class="md-tabs__item">
<a href="../../client/client/" class="md-tabs__link md-tabs__link--active">
📚 Reference
</a>
</li>
</ul>
</div>
</nav>
</header>
<div class="md-container" data-md-component="container">
<main class="md-main" data-md-component="main">
<div class="md-main__inner md-grid">
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary md-nav--lifted" aria-label="Navigation" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a href="https://streampipes.apache.org/" title="Apache StreamPipes Python" class="md-nav__button md-logo" aria-label="Apache StreamPipes Python" data-md-component="logo">
<img src="https://streampipes.apache.org/img/sp-logo-white-right.png" alt="logo">
</a>
Apache StreamPipes Python
</label>
<div class="md-nav__source">
<a href="https://github.com/apache/streampipes" title="Go to repository" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
</div>
<div class="md-source__repository">
apache/streampipes
</div>
</a>
</div>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../.." class="md-nav__link">
🏡 Home
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" >
<label class="md-nav__link" for="__nav_2" id="__nav_2_label" tabindex="0">
🚀 Getting Started
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2">
<span class="md-nav__icon md-icon"></span>
🚀 Getting Started
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../getting-started/first-steps/" class="md-nav__link">
First Steps
</a>
</li>
<li class="md-nav__item">
<a href="../../../getting-started/developing/" class="md-nav__link">
Developing & Contributing
</a>
</li>
<li class="md-nav__item">
<a href="../../../getting-started/quickstart/" class="md-nav__link">
Quickstart
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" >
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
🤓 Tutorials
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3">
<span class="md-nav__icon md-icon"></span>
🤓 Tutorials
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../tutorials/1-introduction-to-streampipes-python-client/" class="md-nav__link">
Introduction to StreamPipes Python
</a>
</li>
<li class="md-nav__item">
<a href="../../../tutorials/2-extracting-data-from-the-streampipes-data-lake/" class="md-nav__link">
Extracting Data from the StreamPipes data lake
</a>
</li>
<li class="md-nav__item">
<a href="../../../tutorials/3-getting-live-data-from-the-streampipes-data-stream/" class="md-nav__link">
Getting live data from the StreamPipes data stream
</a>
</li>
<li class="md-nav__item">
<a href="../../../tutorials/4-using-online-machine-learning-on-a-streampipes-data-stream/" class="md-nav__link">
Using Online Machine Learning on a StreamPipes data stream
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" checked>
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
📚 Reference
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_4">
<span class="md-nav__icon md-icon"></span>
📚 Reference
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_1" >
<label class="md-nav__link" for="__nav_4_1" id="__nav_4_1_label" tabindex="0">
Client
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_1">
<span class="md-nav__icon md-icon"></span>
Client
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../client/client/" class="md-nav__link">
Client
</a>
</li>
<li class="md-nav__item">
<a href="../../client/config/" class="md-nav__link">
Config
</a>
</li>
<li class="md-nav__item">
<a href="../../client/credential_provider/" class="md-nav__link">
Credential provider
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_2" >
<label class="md-nav__link" for="__nav_4_2" id="__nav_4_2_label" tabindex="0">
Endpoint
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_2">
<span class="md-nav__icon md-icon"></span>
Endpoint
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../endpoint/endpoint/" class="md-nav__link">
Endpoint
</a>
</li>
<li class="md-nav__item">
<a href="../../endpoint/exceptions/" class="md-nav__link">
Exceptions
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_2_3" >
<label class="md-nav__link" for="__nav_4_2_3" id="__nav_4_2_3_label" tabindex="0">
Api
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_4_2_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_2_3">
<span class="md-nav__icon md-icon"></span>
Api
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../endpoint/api/data_lake_measure/" class="md-nav__link">
Data lake measure
</a>
</li>
<li class="md-nav__item">
<a href="../../endpoint/api/data_stream/" class="md-nav__link">
Data stream
</a>
</li>
<li class="md-nav__item">
<a href="../../endpoint/api/version/" class="md-nav__link">
Version
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_3" checked>
<label class="md-nav__link" for="__nav_4_3" id="__nav_4_3_label" tabindex="0">
Function zoo
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_3_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_4_3">
<span class="md-nav__icon md-icon"></span>
Function zoo
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item md-nav__item--active">
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
<label class="md-nav__link md-nav__link--active" for="__toc">
River function
<span class="md-nav__icon md-icon"></span>
</label>
<a href="./" class="md-nav__link md-nav__link--active">
River function
</a>
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#streampipes.function_zoo.river_function" class="md-nav__link">
streampipes.function_zoo.river_function
</a>
</li>
<li class="md-nav__item">
<a href="#streampipes.function_zoo.river_function.OnlineML" class="md-nav__link">
OnlineML
</a>
<nav class="md-nav" aria-label="OnlineML">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#streampipes.function_zoo.river_function.OnlineML.set_learning" class="md-nav__link">
set_learning()
</a>
</li>
<li class="md-nav__item">
<a href="#streampipes.function_zoo.river_function.OnlineML.start" class="md-nav__link">
start()
</a>
</li>
<li class="md-nav__item">
<a href="#streampipes.function_zoo.river_function.OnlineML.stop" class="md-nav__link">
stop()
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#streampipes.function_zoo.river_function.RiverFunction" class="md-nav__link">
RiverFunction
</a>
<nav class="md-nav" aria-label="RiverFunction">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#streampipes.function_zoo.river_function.RiverFunction.onEvent" class="md-nav__link">
onEvent()
</a>
</li>
<li class="md-nav__item">
<a href="#streampipes.function_zoo.river_function.RiverFunction.onServiceStarted" class="md-nav__link">
onServiceStarted()
</a>
</li>
<li class="md-nav__item">
<a href="#streampipes.function_zoo.river_function.RiverFunction.onServiceStopped" class="md-nav__link">
onServiceStopped()
</a>
</li>
<li class="md-nav__item">
<a href="#streampipes.function_zoo.river_function.RiverFunction.requiredStreamIds" class="md-nav__link">
requiredStreamIds()
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_4" >
<label class="md-nav__link" for="__nav_4_4" id="__nav_4_4_label" tabindex="0">
Functions
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_4">
<span class="md-nav__icon md-icon"></span>
Functions
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../functions/function_handler/" class="md-nav__link">
Function handler
</a>
</li>
<li class="md-nav__item">
<a href="../../functions/registration/" class="md-nav__link">
Registration
</a>
</li>
<li class="md-nav__item">
<a href="../../functions/streampipes_function/" class="md-nav__link">
Streampipes function
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_4_4" >
<label class="md-nav__link" for="__nav_4_4_4" id="__nav_4_4_4_label" tabindex="0">
Broker
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_4_4_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_4_4">
<span class="md-nav__icon md-icon"></span>
Broker
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../functions/broker/broker/" class="md-nav__link">
Broker
</a>
</li>
<li class="md-nav__item">
<a href="../../functions/broker/broker_handler/" class="md-nav__link">
Broker handler
</a>
</li>
<li class="md-nav__item">
<a href="../../functions/broker/consumer/" class="md-nav__link">
Consumer
</a>
</li>
<li class="md-nav__item">
<a href="../../functions/broker/output_collector/" class="md-nav__link">
Output collector
</a>
</li>
<li class="md-nav__item">
<a href="../../functions/broker/publisher/" class="md-nav__link">
Publisher
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_4_4_6" >
<label class="md-nav__link" for="__nav_4_4_4_6" id="__nav_4_4_4_6_label" tabindex="0">
Kafka
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="4" aria-labelledby="__nav_4_4_4_6_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_4_4_6">
<span class="md-nav__icon md-icon"></span>
Kafka
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../functions/broker/kafka/kafka_consumer/" class="md-nav__link">
Kafka consumer
</a>
</li>
<li class="md-nav__item">
<a href="../../functions/broker/kafka/kafka_message_fetcher/" class="md-nav__link">
Kafka message fetcher
</a>
</li>
<li class="md-nav__item">
<a href="../../functions/broker/kafka/kafka_publisher/" class="md-nav__link">
Kafka publisher
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_4_4_7" >
<label class="md-nav__link" for="__nav_4_4_4_7" id="__nav_4_4_4_7_label" tabindex="0">
Nats
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="4" aria-labelledby="__nav_4_4_4_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_4_4_7">
<span class="md-nav__icon md-icon"></span>
Nats
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../functions/broker/nats/nats_consumer/" class="md-nav__link">
Nats consumer
</a>
</li>
<li class="md-nav__item">
<a href="../../functions/broker/nats/nats_publisher/" class="md-nav__link">
Nats publisher
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_4_5" >
<label class="md-nav__link" for="__nav_4_4_5" id="__nav_4_4_5_label" tabindex="0">
Utils
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_4_4_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_4_5">
<span class="md-nav__icon md-icon"></span>
Utils
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../functions/utils/async_iter_handler/" class="md-nav__link">
Async iter handler
</a>
</li>
<li class="md-nav__item">
<a href="../../functions/utils/data_stream_context/" class="md-nav__link">
Data stream context
</a>
</li>
<li class="md-nav__item">
<a href="../../functions/utils/data_stream_generator/" class="md-nav__link">
Data stream generator
</a>
</li>
<li class="md-nav__item">
<a href="../../functions/utils/function_context/" class="md-nav__link">
Function context
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_5" >
<label class="md-nav__link" for="__nav_4_5" id="__nav_4_5_label" tabindex="0">
Model
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_5">
<span class="md-nav__icon md-icon"></span>
Model
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../model/common/" class="md-nav__link">
Common
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_5_2" >
<label class="md-nav__link" for="__nav_4_5_2" id="__nav_4_5_2_label" tabindex="0">
Container
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_4_5_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_5_2">
<span class="md-nav__icon md-icon"></span>
Container
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../model/container/data_lake_measures/" class="md-nav__link">
Data lake measures
</a>
</li>
<li class="md-nav__item">
<a href="../../model/container/data_streams/" class="md-nav__link">
Data streams
</a>
</li>
<li class="md-nav__item">
<a href="../../model/container/resource_container/" class="md-nav__link">
Resource container
</a>
</li>
<li class="md-nav__item">
<a href="../../model/container/versions/" class="md-nav__link">
Versions
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_5_3" >
<label class="md-nav__link" for="__nav_4_5_3" id="__nav_4_5_3_label" tabindex="0">
Resource
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_4_5_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_5_3">
<span class="md-nav__icon md-icon"></span>
Resource
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../model/resource/data_lake_measure/" class="md-nav__link">
Data lake measure
</a>
</li>
<li class="md-nav__item">
<a href="../../model/resource/data_series/" class="md-nav__link">
Data series
</a>
</li>
<li class="md-nav__item">
<a href="../../model/resource/data_stream/" class="md-nav__link">
Data stream
</a>
</li>
<li class="md-nav__item">
<a href="../../model/resource/exceptions/" class="md-nav__link">
Exceptions
</a>
</li>
<li class="md-nav__item">
<a href="../../model/resource/function_definition/" class="md-nav__link">
Function definition
</a>
</li>
<li class="md-nav__item">
<a href="../../model/resource/query_result/" class="md-nav__link">
Query result
</a>
</li>
<li class="md-nav__item">
<a href="../../model/resource/resource/" class="md-nav__link">
Resource
</a>
</li>
<li class="md-nav__item">
<a href="../../model/resource/version/" class="md-nav__link">
Version
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#streampipes.function_zoo.river_function" class="md-nav__link">
streampipes.function_zoo.river_function
</a>
</li>
<li class="md-nav__item">
<a href="#streampipes.function_zoo.river_function.OnlineML" class="md-nav__link">
OnlineML
</a>
<nav class="md-nav" aria-label="OnlineML">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#streampipes.function_zoo.river_function.OnlineML.set_learning" class="md-nav__link">
set_learning()
</a>
</li>
<li class="md-nav__item">
<a href="#streampipes.function_zoo.river_function.OnlineML.start" class="md-nav__link">
start()
</a>
</li>
<li class="md-nav__item">
<a href="#streampipes.function_zoo.river_function.OnlineML.stop" class="md-nav__link">
stop()
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#streampipes.function_zoo.river_function.RiverFunction" class="md-nav__link">
RiverFunction
</a>
<nav class="md-nav" aria-label="RiverFunction">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#streampipes.function_zoo.river_function.RiverFunction.onEvent" class="md-nav__link">
onEvent()
</a>
</li>
<li class="md-nav__item">
<a href="#streampipes.function_zoo.river_function.RiverFunction.onServiceStarted" class="md-nav__link">
onServiceStarted()
</a>
</li>
<li class="md-nav__item">
<a href="#streampipes.function_zoo.river_function.RiverFunction.onServiceStopped" class="md-nav__link">
onServiceStopped()
</a>
</li>
<li class="md-nav__item">
<a href="#streampipes.function_zoo.river_function.RiverFunction.requiredStreamIds" class="md-nav__link">
requiredStreamIds()
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-content" data-md-component="content">
<article class="md-content__inner md-typeset">
<h1>River function</h1>
<div class="doc doc-object doc-module">
<a id="streampipes.function_zoo.river_function"></a>
<div class="doc doc-contents first">
<div class="doc doc-children">
<div class="doc doc-object doc-class">
<h2 id="streampipes.function_zoo.river_function.OnlineML" class="doc doc-heading">
<code class="highlight language-python"><span class="n">OnlineML</span><span class="p">(</span><span class="n">client</span><span class="p">,</span> <span class="n">stream_ids</span><span class="p">,</span> <span class="n">model</span><span class="p">,</span> <span class="n">prediction_type</span><span class="o">=</span><span class="n">RuntimeType</span><span class="o">.</span><span class="n">STRING</span><span class="o">.</span><span class="n">value</span><span class="p">,</span> <span class="n">supervised</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">target_label</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">on_start</span><span class="o">=</span><span class="k">lambda</span> <span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">:</span> <span class="kc">None</span><span class="p">,</span> <span class="n">on_event</span><span class="o">=</span><span class="k">lambda</span> <span class="bp">self</span><span class="p">,</span> <span class="n">event</span><span class="p">,</span> <span class="n">streamId</span><span class="p">:</span> <span class="kc">None</span><span class="p">,</span> <span class="n">on_stop</span><span class="o">=</span><span class="k">lambda</span> <span class="bp">self</span><span class="p">:</span> <span class="kc">None</span><span class="p">)</span></code>
<a href="#streampipes.function_zoo.river_function.OnlineML" class="headerlink" title="Permanent link">&para;</a></h2>
<div class="doc doc-contents ">
<p>Wrapper class to enable an easy usage for Online Machine Learning models of the River library.</p>
<p>It creates a StreamPipesFunction to train a model with the incoming events of a data stream and
creates an output data stream that publishes the prediction to StreamPipes.</p>
<table>
<thead>
<tr>
<th><b>PARAMETER</b></th>
<th><b>DESCRIPTION</b></th>
</tr>
</thead>
<tbody>
<tr>
<td><code>client</code></td>
<td class="doc-param-details">
<p>The client for the StreamPipes API.</p>
<p>
<span class="doc-param-annotation">
<b>TYPE:</b>
<code><a class="autorefs autorefs-internal" title="streampipes.client.client.StreamPipesClient" href="../../client/client/#streampipes.client.client.StreamPipesClient">StreamPipesClient</a></code>
</span>
</p>
</td>
</tr>
<tr>
<td><code>stream_ids</code></td>
<td class="doc-param-details">
<p>The ids of the data stream to train the model.</p>
<p>
<span class="doc-param-annotation">
<b>TYPE:</b>
<code><span title="typing.List">List</span>[str]</code>
</span>
</p>
</td>
</tr>
<tr>
<td><code>model</code></td>
<td class="doc-param-details">
<p>The model to train. It meant to be a River model/pipeline,
but can be every model with a 'learn_one' and 'predict_one' methode.</p>
<p>
<span class="doc-param-annotation">
<b>TYPE:</b>
<code><span title="typing.Any">Any</span></code>
</span>
</p>
</td>
</tr>
<tr>
<td><code>prediction_type</code></td>
<td class="doc-param-details">
<p>The data type of the prediction.
Is only needed when you continue to work with the prediction in StreamPipes.</p>
<p>
<span class="doc-param-annotation">
<b>TYPE:</b>
<code>str</code>
</span>
<span class="doc-param-default">
<b>DEFAULT:</b>
<code>RuntimeType.STRING.value</code>
</span>
</p>
</td>
</tr>
<tr>
<td><code>supervised</code></td>
<td class="doc-param-details">
<p>Define if the model is supervised or unsupervised.</p>
<p>
<span class="doc-param-annotation">
<b>TYPE:</b>
<code>bool</code>
</span>
<span class="doc-param-default">
<b>DEFAULT:</b>
<code>False</code>
</span>
</p>
</td>
</tr>
<tr>
<td><code>target_label</code></td>
<td class="doc-param-details">
<p>Define the name of the target attribute if the model is supervised.</p>
<p>
<span class="doc-param-annotation">
<b>TYPE:</b>
<code><span title="typing.Optional">Optional</span>[str]</code>
</span>
<span class="doc-param-default">
<b>DEFAULT:</b>
<code>None</code>
</span>
</p>
</td>
</tr>
<tr>
<td><code>on_start</code></td>
<td class="doc-param-details">
<p>A function to be called when this StreamPipesFunction gets started.</p>
<p>
<span class="doc-param-annotation">
<b>TYPE:</b>
<code><span title="typing.Callable">Callable</span>[[<span title="typing.Any">Any</span>, <a class="autorefs autorefs-internal" title="streampipes.functions.utils.function_context.FunctionContext" href="../../functions/utils/function_context/#streampipes.functions.utils.function_context.FunctionContext">FunctionContext</a>], None]</code>
</span>
<span class="doc-param-default">
<b>DEFAULT:</b>
<code>lambda self, context: None</code>
</span>
</p>
</td>
</tr>
<tr>
<td><code>on_event</code></td>
<td class="doc-param-details">
<p>A function to be called when this StreamPipesFunction receives an event.</p>
<p>
<span class="doc-param-annotation">
<b>TYPE:</b>
<code><span title="typing.Callable">Callable</span>[[<span title="typing.Any">Any</span>, <span title="typing.Dict">Dict</span>[str, <span title="typing.Any">Any</span>], str], None]</code>
</span>
<span class="doc-param-default">
<b>DEFAULT:</b>
<code>lambda self, event, streamId: None</code>
</span>
</p>
</td>
</tr>
<tr>
<td><code>on_stop</code></td>
<td class="doc-param-details">
<p>A function to be called when this StreamPipesFunction gets stopped.</p>
<p>
<span class="doc-param-annotation">
<b>TYPE:</b>
<code><span title="typing.Callable">Callable</span>[[<span title="typing.Any">Any</span>], None]</code>
</span>
<span class="doc-param-default">
<b>DEFAULT:</b>
<code>lambda self: None</code>
</span>
</p>
</td>
</tr>
</tbody>
</table>
<div class="doc doc-children">
<div class="doc doc-object doc-function">
<h3 id="streampipes.function_zoo.river_function.OnlineML.set_learning" class="doc doc-heading">
<code class="highlight language-python"><span class="n">set_learning</span><span class="p">(</span><span class="n">learning</span><span class="p">)</span></code>
<a href="#streampipes.function_zoo.river_function.OnlineML.set_learning" class="headerlink" title="Permanent link">&para;</a></h3>
<div class="doc doc-contents ">
<p>Start or stop the training of the model.</p>
<table>
<thead>
<tr>
<th><b>PARAMETER</b></th>
<th><b>DESCRIPTION</b></th>
</tr>
</thead>
<tbody>
<tr>
<td><code>learning</code></td>
<td class="doc-param-details">
<p>Defines if the training should be continued</p>
<p>
<span class="doc-param-annotation">
<b>TYPE:</b>
<code>bool</code>
</span>
</p>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="doc doc-object doc-function">
<h3 id="streampipes.function_zoo.river_function.OnlineML.start" class="doc doc-heading">
<code class="highlight language-python"><span class="n">start</span><span class="p">()</span></code>
<a href="#streampipes.function_zoo.river_function.OnlineML.start" class="headerlink" title="Permanent link">&para;</a></h3>
<div class="doc doc-contents ">
<p>Registers the function and starts the training.</p>
</div>
</div>
<div class="doc doc-object doc-function">
<h3 id="streampipes.function_zoo.river_function.OnlineML.stop" class="doc doc-heading">
<code class="highlight language-python"><span class="n">stop</span><span class="p">()</span></code>
<a href="#streampipes.function_zoo.river_function.OnlineML.stop" class="headerlink" title="Permanent link">&para;</a></h3>
<div class="doc doc-contents ">
<p>Stops the function and ends the training forever.</p>
</div>
</div>
</div>
</div>
</div>
<div class="doc doc-object doc-class">
<h2 id="streampipes.function_zoo.river_function.RiverFunction" class="doc doc-heading">
<code class="highlight language-python"><span class="n">RiverFunction</span><span class="p">(</span><span class="n">function_definition</span><span class="p">,</span> <span class="n">stream_ids</span><span class="p">,</span> <span class="n">model</span><span class="p">,</span> <span class="n">supervised</span><span class="p">,</span> <span class="n">target_label</span><span class="p">,</span> <span class="n">on_start</span><span class="p">,</span> <span class="n">on_event</span><span class="p">,</span> <span class="n">on_stop</span><span class="p">)</span></code>
<a href="#streampipes.function_zoo.river_function.RiverFunction" class="headerlink" title="Permanent link">&para;</a></h2>
<div class="doc doc-contents ">
<p class="doc doc-class-bases">
Bases: <code><a class="autorefs autorefs-internal" title="streampipes.functions.streampipes_function.StreamPipesFunction" href="../../functions/streampipes_function/#streampipes.functions.streampipes_function.StreamPipesFunction">StreamPipesFunction</a></code></p>
<p>Implementation of a StreamPipesFunction to enable an easy usage
for Online Machine Learning models of the <a href="https://riverml.xyz/">River library</a>.</p>
<p>The function trains the model with the incoming events and publishes the prediction to an output data stream.</p>
<table>
<thead>
<tr>
<th><b>PARAMETER</b></th>
<th><b>DESCRIPTION</b></th>
</tr>
</thead>
<tbody>
<tr>
<td><code>function_definition</code></td>
<td class="doc-param-details">
<p>The function definition which contains the output stream.</p>
<p>
<span class="doc-param-annotation">
<b>TYPE:</b>
<code><a class="autorefs autorefs-internal" title="streampipes.model.resource.function_definition.FunctionDefinition" href="../../model/resource/function_definition/#streampipes.model.resource.function_definition.FunctionDefinition">FunctionDefinition</a></code>
</span>
</p>
</td>
</tr>
<tr>
<td><code>stream_ids</code></td>
<td class="doc-param-details">
<p>The ids of the data stream to train the model.</p>
<p>
<span class="doc-param-annotation">
<b>TYPE:</b>
<code><span title="typing.List">List</span>[str]</code>
</span>
</p>
</td>
</tr>
<tr>
<td><code>model</code></td>
<td class="doc-param-details">
<p>The model to train. It meant to be a River model/pipeline,
but can be every model with a 'learn_one' and 'predict_one' method.</p>
<p>
<span class="doc-param-annotation">
<b>TYPE:</b>
<code><span title="typing.Any">Any</span></code>
</span>
</p>
</td>
</tr>
<tr>
<td><code>supervised</code></td>
<td class="doc-param-details">
<p>Define if the model is supervised or unsupervised.</p>
<p>
<span class="doc-param-annotation">
<b>TYPE:</b>
<code>bool</code>
</span>
</p>
</td>
</tr>
<tr>
<td><code>target_label</code></td>
<td class="doc-param-details">
<p>Define the name of the target attribute if the model is supervised.</p>
<p>
<span class="doc-param-annotation">
<b>TYPE:</b>
<code><span title="typing.Optional">Optional</span>[str]</code>
</span>
</p>
</td>
</tr>
<tr>
<td><code>on_start</code></td>
<td class="doc-param-details">
<p>A function to be called when this StreamPipesFunction gets started.</p>
<p>
<span class="doc-param-annotation">
<b>TYPE:</b>
<code><span title="typing.Callable">Callable</span>[[<span title="typing.Any">Any</span>, <a class="autorefs autorefs-internal" title="streampipes.functions.utils.function_context.FunctionContext" href="../../functions/utils/function_context/#streampipes.functions.utils.function_context.FunctionContext">FunctionContext</a>], None]</code>
</span>
</p>
</td>
</tr>
<tr>
<td><code>on_event</code></td>
<td class="doc-param-details">
<p>A function to be called when this StreamPipesFunction receives an event.</p>
<p>
<span class="doc-param-annotation">
<b>TYPE:</b>
<code><span title="typing.Callable">Callable</span>[[<span title="typing.Any">Any</span>, <span title="typing.Dict">Dict</span>[str, <span title="typing.Any">Any</span>], str], None]</code>
</span>
</p>
</td>
</tr>
<tr>
<td><code>on_stop</code></td>
<td class="doc-param-details">
<p>A function to be called when this StreamPipesFunction gets stopped.</p>
<p>
<span class="doc-param-annotation">
<b>TYPE:</b>
<code><span title="typing.Callable">Callable</span>[[<span title="typing.Any">Any</span>], None]</code>
</span>
</p>
</td>
</tr>
</tbody>
</table>
<div class="doc doc-children">
<div class="doc doc-object doc-function">
<h3 id="streampipes.function_zoo.river_function.RiverFunction.onEvent" class="doc doc-heading">
<code class="highlight language-python"><span class="n">onEvent</span><span class="p">(</span><span class="n">event</span><span class="p">,</span> <span class="n">streamId</span><span class="p">)</span></code>
<a href="#streampipes.function_zoo.river_function.RiverFunction.onEvent" class="headerlink" title="Permanent link">&para;</a></h3>
<div class="doc doc-contents ">
<p>Trains the model with the incoming events and sends the prediction back to StreamPipes.</p>
<table>
<thead>
<tr>
<th><b>PARAMETER</b></th>
<th><b>DESCRIPTION</b></th>
</tr>
</thead>
<tbody>
<tr>
<td><code>event</code></td>
<td class="doc-param-details">
<p>The incoming event that serves as input for the function</p>
<p>
<span class="doc-param-annotation">
<b>TYPE:</b>
<code><span title="typing.Dict">Dict</span>[str, <span title="typing.Any">Any</span>]</code>
</span>
</p>
</td>
</tr>
<tr>
<td><code>streamId</code></td>
<td class="doc-param-details">
<p>Identifier of the corresponding data stream</p>
<p>
<span class="doc-param-annotation">
<b>TYPE:</b>
<code>str</code>
</span>
</p>
</td>
</tr>
</tbody>
</table>
<table>
<thead>
<tr>
<th><b>RETURNS</b></th>
<th><b>DESCRIPTION</b></th>
</tr>
</thead>
<tbody>
<tr>
<td>
<span class="doc-returns-annotation">
<code>None</code>
</span>
</td>
<td class="doc-returns-details">
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="doc doc-object doc-function">
<h3 id="streampipes.function_zoo.river_function.RiverFunction.onServiceStarted" class="doc doc-heading">
<code class="highlight language-python"><span class="n">onServiceStarted</span><span class="p">(</span><span class="n">context</span><span class="p">)</span></code>
<a href="#streampipes.function_zoo.river_function.RiverFunction.onServiceStarted" class="headerlink" title="Permanent link">&para;</a></h3>
<div class="doc doc-contents ">
<p>Executes the <code>on_start</code> method of the function.</p>
<table>
<thead>
<tr>
<th><b>PARAMETER</b></th>
<th><b>DESCRIPTION</b></th>
</tr>
</thead>
<tbody>
<tr>
<td><code>context</code></td>
<td class="doc-param-details">
<p>The functions' context</p>
<p>
<span class="doc-param-annotation">
<b>TYPE:</b>
<code><a class="autorefs autorefs-internal" title="streampipes.functions.utils.function_context.FunctionContext" href="../../functions/utils/function_context/#streampipes.functions.utils.function_context.FunctionContext">FunctionContext</a></code>
</span>
</p>
</td>
</tr>
</tbody>
</table>
<table>
<thead>
<tr>
<th><b>RETURNS</b></th>
<th><b>DESCRIPTION</b></th>
</tr>
</thead>
<tbody>
<tr>
<td>
<span class="doc-returns-annotation">
<code>None</code>
</span>
</td>
<td class="doc-returns-details">
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="doc doc-object doc-function">
<h3 id="streampipes.function_zoo.river_function.RiverFunction.onServiceStopped" class="doc doc-heading">
<code class="highlight language-python"><span class="n">onServiceStopped</span><span class="p">()</span></code>
<a href="#streampipes.function_zoo.river_function.RiverFunction.onServiceStopped" class="headerlink" title="Permanent link">&para;</a></h3>
<div class="doc doc-contents ">
<p>Executes the <code>on_stop</code> function.</p>
</div>
</div>
<div class="doc doc-object doc-function">
<h3 id="streampipes.function_zoo.river_function.RiverFunction.requiredStreamIds" class="doc doc-heading">
<code class="highlight language-python"><span class="n">requiredStreamIds</span><span class="p">()</span></code>
<a href="#streampipes.function_zoo.river_function.RiverFunction.requiredStreamIds" class="headerlink" title="Permanent link">&para;</a></h3>
<div class="doc doc-contents ">
<p>Returns the stream ids required by this function.</p>
<table>
<thead>
<tr>
<th><b>RETURNS</b></th>
<th><b>DESCRIPTION</b></th>
</tr>
</thead>
<tbody>
<tr>
<td>
<code>stream_ids</code>
</td>
<td class="doc-returns-details">
<p>List of stream ids required by the function</p>
<p>
<span class="doc-returns-annotation">
<b>TYPE:</b>
<code><span title="typing.List">List</span>[str]</code>
</span>
</p>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</article>
</div>
</div>
</main>
<footer class="md-footer">
<div class="md-footer-meta md-typeset">
<div class="md-footer-meta__inner md-grid">
<!-- Copyright and theme information -->
<div class="md-footer-copyright">
<div class="md-footer-copyright__highlight">
Apache License 2.0
</div>
powered by
<a href="https://www.mkdocs.org" title="MkDocs">MkDocs</a>
and
<a href="https://squidfunk.github.io/mkdocs-material/"
title="Material for MkDocs">
Material for MkDocs</a>
</div>
<div class="md-social">
<a href="https://github.com/apache/streampipes" target="_blank" rel="noopener" title="github.com" class="md-social__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 480 512"><!--! Font Awesome Free 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M186.1 328.7c0 20.9-10.9 55.1-36.7 55.1s-36.7-34.2-36.7-55.1 10.9-55.1 36.7-55.1 36.7 34.2 36.7 55.1zM480 278.2c0 31.9-3.2 65.7-17.5 95-37.9 76.6-142.1 74.8-216.7 74.8-75.8 0-186.2 2.7-225.6-74.8-14.6-29-20.2-63.1-20.2-95 0-41.9 13.9-81.5 41.5-113.6-5.2-15.8-7.7-32.4-7.7-48.8 0-21.5 4.9-32.3 14.6-51.8 45.3 0 74.3 9 108.8 36 29-6.9 58.8-10 88.7-10 27 0 54.2 2.9 80.4 9.2 34-26.7 63-35.2 107.8-35.2 9.8 19.5 14.6 30.3 14.6 51.8 0 16.4-2.6 32.7-7.7 48.2 27.5 32.4 39 72.3 39 114.2zm-64.3 50.5c0-43.9-26.7-82.6-73.5-82.6-18.9 0-37 3.4-56 6-14.9 2.3-29.8 3.2-45.1 3.2-15.2 0-30.1-.9-45.1-3.2-18.7-2.6-37-6-56-6-46.8 0-73.5 38.7-73.5 82.6 0 87.8 80.4 101.3 150.4 101.3h48.2c70.3 0 150.6-13.4 150.6-101.3zm-82.6-55.1c-25.8 0-36.7 34.2-36.7 55.1s10.9 55.1 36.7 55.1 36.7-34.2 36.7-55.1-10.9-55.1-36.7-55.1z"/></svg>
</a>
</div>
</div>
</div>
</footer>
</div>
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.tabs", "navigation.tabs.sticky", "navigation.instant", "navigation.indexes", "navigation.tracking"], "search": "../../../assets/javascripts/workers/search.208ed371.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
<script src="../../../assets/javascripts/bundle.efa0ade1.min.js"></script>
</body>
</html>