You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@streampipes.apache.org by gi...@apache.org on 2023/04/15 08:35:20 UTC

[streampipes-website] branch asf-site updated: Automated deployment: Sat Apr 15 08:35:15 UTC 2023 b6fc3a8c0f732528fb58e5e507f208770a8a2872

This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/streampipes-website.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 5c5c8fcf Automated deployment: Sat Apr 15 08:35:15 UTC 2023 b6fc3a8c0f732528fb58e5e507f208770a8a2872
5c5c8fcf is described below

commit 5c5c8fcf2dca37236863e32052b210dea337447d
Author: dominikriemer <do...@users.noreply.github.com>
AuthorDate: Sat Apr 15 08:35:15 2023 +0000

    Automated deployment: Sat Apr 15 08:35:15 UTC 2023 b6fc3a8c0f732528fb58e5e507f208770a8a2872
---
 docs/blog/2018/06/14/welcome.html                  |   2 +-
 .../06/18/how-to-understand-your-machine-data.html |   2 +-
 docs/blog/2018/09/17/preview-060.html              |   2 +-
 docs/blog/2018/11/24/container-cli.html            |   2 +-
 docs/blog/2019/04/04/release-0610.html             |   2 +-
 docs/blog/2019/05/23/release-0620.html             |   2 +-
 docs/blog/2019/09/05/release-0630.html             |   2 +-
 docs/blog/2019/09/19/release-0640.html             |   2 +-
 docs/blog/2019/11/23/release-0650.html             |   2 +-
 .../2019/11/25/moving-to-the-apache-incubator.html |   2 +-
 docs/blog/2020/01/23/streampipes_on_rpi.html       |   2 +-
 docs/blog/2020/05/19/release-0660.html             |   2 +-
 docs/blog/2020/05/27/streampipes_on_k3s.html       |   2 +-
 docs/blog/2021/07/22_release/0680.html             |   2 +-
 docs/blog/2022/03/21_release/0690.html             |   2 +-
 .../09/05/using-factory.io-with-streampipes.html   |   2 +-
 docs/blog/2022/10/13/release-070.html              |   2 +-
 docs/blog/2023/01/17/release-090.html              |   2 +-
 docs/blog/2023/04/12/release-091.html              | 215 +++++++++++++++++++++
 docs/blog/assets/2023-04-12/adapter-running.gif    | Bin 0 -> 2601261 bytes
 docs/blog/assets/2023-04-12/how-to-get-api-key.gif | Bin 0 -> 196505 bytes
 docs/blog/atom.xml                                 |  19 +-
 docs/blog/feed.xml                                 |  15 +-
 docs/blog/index.html                               |  15 +-
 docs/blog/page2/index.html                         |   7 +-
 docs/docs/next/try-installation.html               |   6 +
 docs/docs/try-installation.html                    |  16 +-
 docs/docs/user-guide-introduction.html             |  73 ++++---
 docs/sitemap.xml                                   |   2 +-
 download.html                                      |   3 +-
 30 files changed, 341 insertions(+), 66 deletions(-)

diff --git a/docs/blog/2018/06/14/welcome.html b/docs/blog/2018/06/14/welcome.html
index 63f6564e..73bbb1cd 100644
--- a/docs/blog/2018/06/14/welcome.html
+++ b/docs/blog/2018/06/14/welcome.html
@@ -4,7 +4,7 @@
             {"zIndex":100}
           )
         });
-        </script><script src="/docs/js/scrollSpy.js"></script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="Apache StreamPipes"/></a><a href="/docs/versions.html"><h3>0.91.0</h3></a>< [...]
+        </script><script src="/docs/js/scrollSpy.js"></script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="Apache StreamPipes"/></a><a href="/docs/versions.html"><h3>0.91.0</h3></a>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/docs/blog/2018/06/18/how-to-understand-your-machine-data.html b/docs/blog/2018/06/18/how-to-understand-your-machine-data.html
index a0860b18..9428c0dc 100644
--- a/docs/blog/2018/06/18/how-to-understand-your-machine-data.html
+++ b/docs/blog/2018/06/18/how-to-understand-your-machine-data.html
@@ -4,7 +4,7 @@
             {"zIndex":100}
           )
         });
-        </script><script src="/docs/js/scrollSpy.js"></script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="Apache StreamPipes"/></a><a href="/docs/versions.html"><h3>0.91.0</h3></a>< [...]
+        </script><script src="/docs/js/scrollSpy.js"></script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="Apache StreamPipes"/></a><a href="/docs/versions.html"><h3>0.91.0</h3></a>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/docs/blog/2018/09/17/preview-060.html b/docs/blog/2018/09/17/preview-060.html
index 4e13c854..7bdecd69 100644
--- a/docs/blog/2018/09/17/preview-060.html
+++ b/docs/blog/2018/09/17/preview-060.html
@@ -4,7 +4,7 @@
             {"zIndex":100}
           )
         });
-        </script><script src="/docs/js/scrollSpy.js"></script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="Apache StreamPipes"/></a><a href="/docs/versions.html"><h3>0.91.0</h3></a>< [...]
+        </script><script src="/docs/js/scrollSpy.js"></script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="Apache StreamPipes"/></a><a href="/docs/versions.html"><h3>0.91.0</h3></a>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/docs/blog/2018/11/24/container-cli.html b/docs/blog/2018/11/24/container-cli.html
index bc373bca..d6188ba7 100644
--- a/docs/blog/2018/11/24/container-cli.html
+++ b/docs/blog/2018/11/24/container-cli.html
@@ -4,7 +4,7 @@
             {"zIndex":100}
           )
         });
-        </script><script src="/docs/js/scrollSpy.js"></script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="Apache StreamPipes"/></a><a href="/docs/versions.html"><h3>0.91.0</h3></a>< [...]
+        </script><script src="/docs/js/scrollSpy.js"></script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="Apache StreamPipes"/></a><a href="/docs/versions.html"><h3>0.91.0</h3></a>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/docs/blog/2019/04/04/release-0610.html b/docs/blog/2019/04/04/release-0610.html
index 079f83bf..3ffc03d9 100644
--- a/docs/blog/2019/04/04/release-0610.html
+++ b/docs/blog/2019/04/04/release-0610.html
@@ -4,7 +4,7 @@
             {"zIndex":100}
           )
         });
-        </script><script src="/docs/js/scrollSpy.js"></script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="Apache StreamPipes"/></a><a href="/docs/versions.html"><h3>0.91.0</h3></a>< [...]
+        </script><script src="/docs/js/scrollSpy.js"></script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="Apache StreamPipes"/></a><a href="/docs/versions.html"><h3>0.91.0</h3></a>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/docs/blog/2019/05/23/release-0620.html b/docs/blog/2019/05/23/release-0620.html
index 2e8d3f4b..47a12082 100644
--- a/docs/blog/2019/05/23/release-0620.html
+++ b/docs/blog/2019/05/23/release-0620.html
@@ -4,7 +4,7 @@
             {"zIndex":100}
           )
         });
-        </script><script src="/docs/js/scrollSpy.js"></script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="Apache StreamPipes"/></a><a href="/docs/versions.html"><h3>0.91.0</h3></a>< [...]
+        </script><script src="/docs/js/scrollSpy.js"></script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="Apache StreamPipes"/></a><a href="/docs/versions.html"><h3>0.91.0</h3></a>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/docs/blog/2019/09/05/release-0630.html b/docs/blog/2019/09/05/release-0630.html
index 62f1f40b..72d7a090 100644
--- a/docs/blog/2019/09/05/release-0630.html
+++ b/docs/blog/2019/09/05/release-0630.html
@@ -4,7 +4,7 @@
             {"zIndex":100}
           )
         });
-        </script><script src="/docs/js/scrollSpy.js"></script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="Apache StreamPipes"/></a><a href="/docs/versions.html"><h3>0.91.0</h3></a>< [...]
+        </script><script src="/docs/js/scrollSpy.js"></script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="Apache StreamPipes"/></a><a href="/docs/versions.html"><h3>0.91.0</h3></a>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/docs/blog/2019/09/19/release-0640.html b/docs/blog/2019/09/19/release-0640.html
index 9ba0f859..6f9a400a 100644
--- a/docs/blog/2019/09/19/release-0640.html
+++ b/docs/blog/2019/09/19/release-0640.html
@@ -4,7 +4,7 @@
             {"zIndex":100}
           )
         });
-        </script><script src="/docs/js/scrollSpy.js"></script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="Apache StreamPipes"/></a><a href="/docs/versions.html"><h3>0.91.0</h3></a>< [...]
+        </script><script src="/docs/js/scrollSpy.js"></script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="Apache StreamPipes"/></a><a href="/docs/versions.html"><h3>0.91.0</h3></a>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/docs/blog/2019/11/23/release-0650.html b/docs/blog/2019/11/23/release-0650.html
index 13d0213f..4c73dc15 100644
--- a/docs/blog/2019/11/23/release-0650.html
+++ b/docs/blog/2019/11/23/release-0650.html
@@ -4,7 +4,7 @@
             {"zIndex":100}
           )
         });
-        </script><script src="/docs/js/scrollSpy.js"></script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="Apache StreamPipes"/></a><a href="/docs/versions.html"><h3>0.91.0</h3></a>< [...]
+        </script><script src="/docs/js/scrollSpy.js"></script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="Apache StreamPipes"/></a><a href="/docs/versions.html"><h3>0.91.0</h3></a>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/docs/blog/2019/11/25/moving-to-the-apache-incubator.html b/docs/blog/2019/11/25/moving-to-the-apache-incubator.html
index f3b0ce34..449afd84 100644
--- a/docs/blog/2019/11/25/moving-to-the-apache-incubator.html
+++ b/docs/blog/2019/11/25/moving-to-the-apache-incubator.html
@@ -4,7 +4,7 @@
             {"zIndex":100}
           )
         });
-        </script><script src="/docs/js/scrollSpy.js"></script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="Apache StreamPipes"/></a><a href="/docs/versions.html"><h3>0.91.0</h3></a>< [...]
+        </script><script src="/docs/js/scrollSpy.js"></script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="Apache StreamPipes"/></a><a href="/docs/versions.html"><h3>0.91.0</h3></a>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/docs/blog/2020/01/23/streampipes_on_rpi.html b/docs/blog/2020/01/23/streampipes_on_rpi.html
index 75f3ddd4..2924066c 100644
--- a/docs/blog/2020/01/23/streampipes_on_rpi.html
+++ b/docs/blog/2020/01/23/streampipes_on_rpi.html
@@ -4,7 +4,7 @@
             {"zIndex":100}
           )
         });
-        </script><script src="/docs/js/scrollSpy.js"></script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="Apache StreamPipes"/></a><a href="/docs/versions.html"><h3>0.91.0</h3></a>< [...]
+        </script><script src="/docs/js/scrollSpy.js"></script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="Apache StreamPipes"/></a><a href="/docs/versions.html"><h3>0.91.0</h3></a>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/docs/blog/2020/05/19/release-0660.html b/docs/blog/2020/05/19/release-0660.html
index 1f9bd0d8..c16a82e2 100644
--- a/docs/blog/2020/05/19/release-0660.html
+++ b/docs/blog/2020/05/19/release-0660.html
@@ -4,7 +4,7 @@
             {"zIndex":100}
           )
         });
-        </script><script src="/docs/js/scrollSpy.js"></script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="Apache StreamPipes"/></a><a href="/docs/versions.html"><h3>0.91.0</h3></a>< [...]
+        </script><script src="/docs/js/scrollSpy.js"></script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="Apache StreamPipes"/></a><a href="/docs/versions.html"><h3>0.91.0</h3></a>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/docs/blog/2020/05/27/streampipes_on_k3s.html b/docs/blog/2020/05/27/streampipes_on_k3s.html
index 99fde824..75af1ca2 100644
--- a/docs/blog/2020/05/27/streampipes_on_k3s.html
+++ b/docs/blog/2020/05/27/streampipes_on_k3s.html
@@ -4,7 +4,7 @@
             {"zIndex":100}
           )
         });
-        </script><script src="/docs/js/scrollSpy.js"></script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="Apache StreamPipes"/></a><a href="/docs/versions.html"><h3>0.91.0</h3></a>< [...]
+        </script><script src="/docs/js/scrollSpy.js"></script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="Apache StreamPipes"/></a><a href="/docs/versions.html"><h3>0.91.0</h3></a>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/docs/blog/2021/07/22_release/0680.html b/docs/blog/2021/07/22_release/0680.html
index d4c4e31c..ddcff0f9 100644
--- a/docs/blog/2021/07/22_release/0680.html
+++ b/docs/blog/2021/07/22_release/0680.html
@@ -4,7 +4,7 @@
             {"zIndex":100}
           )
         });
-        </script><script src="/docs/js/scrollSpy.js"></script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="Apache StreamPipes"/></a><a href="/docs/versions.html"><h3>0.91.0</h3></a>< [...]
+        </script><script src="/docs/js/scrollSpy.js"></script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="Apache StreamPipes"/></a><a href="/docs/versions.html"><h3>0.91.0</h3></a>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/docs/blog/2022/03/21_release/0690.html b/docs/blog/2022/03/21_release/0690.html
index 4545d5bc..41de25e7 100644
--- a/docs/blog/2022/03/21_release/0690.html
+++ b/docs/blog/2022/03/21_release/0690.html
@@ -4,7 +4,7 @@
             {"zIndex":100}
           )
         });
-        </script><script src="/docs/js/scrollSpy.js"></script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="Apache StreamPipes"/></a><a href="/docs/versions.html"><h3>0.91.0</h3></a>< [...]
+        </script><script src="/docs/js/scrollSpy.js"></script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="Apache StreamPipes"/></a><a href="/docs/versions.html"><h3>0.91.0</h3></a>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/docs/blog/2022/09/05/using-factory.io-with-streampipes.html b/docs/blog/2022/09/05/using-factory.io-with-streampipes.html
index 506847fa..f20f5fd3 100644
--- a/docs/blog/2022/09/05/using-factory.io-with-streampipes.html
+++ b/docs/blog/2022/09/05/using-factory.io-with-streampipes.html
@@ -4,7 +4,7 @@
             {"zIndex":100}
           )
         });
-        </script><script src="/docs/js/scrollSpy.js"></script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="Apache StreamPipes"/></a><a href="/docs/versions.html"><h3>0.91.0</h3></a>< [...]
+        </script><script src="/docs/js/scrollSpy.js"></script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="Apache StreamPipes"/></a><a href="/docs/versions.html"><h3>0.91.0</h3></a>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/docs/blog/2022/10/13/release-070.html b/docs/blog/2022/10/13/release-070.html
index 7d7de390..20629681 100644
--- a/docs/blog/2022/10/13/release-070.html
+++ b/docs/blog/2022/10/13/release-070.html
@@ -4,7 +4,7 @@
             {"zIndex":100}
           )
         });
-        </script><script src="/docs/js/scrollSpy.js"></script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="Apache StreamPipes"/></a><a href="/docs/versions.html"><h3>0.91.0</h3></a>< [...]
+        </script><script src="/docs/js/scrollSpy.js"></script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="Apache StreamPipes"/></a><a href="/docs/versions.html"><h3>0.91.0</h3></a>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/docs/blog/2023/01/17/release-090.html b/docs/blog/2023/01/17/release-090.html
index 5d467db2..13022bcf 100644
--- a/docs/blog/2023/01/17/release-090.html
+++ b/docs/blog/2023/01/17/release-090.html
@@ -4,7 +4,7 @@
             {"zIndex":100}
           )
         });
-        </script><script src="/docs/js/scrollSpy.js"></script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="Apache StreamPipes"/></a><a href="/docs/versions.html"><h3>0.91.0</h3></a>< [...]
+        </script><script src="/docs/js/scrollSpy.js"></script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="Apache StreamPipes"/></a><a href="/docs/versions.html"><h3>0.91.0</h3></a>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
diff --git a/docs/blog/2023/04/12/release-091.html b/docs/blog/2023/04/12/release-091.html
new file mode 100644
index 00000000..5579c6ca
--- /dev/null
+++ b/docs/blog/2023/04/12/release-091.html
@@ -0,0 +1,215 @@
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache StreamPipes release 0.91.0 ยท Apache StreamPipes</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="**&lt;div style=&quot;float: left; padding-right: 40px;&quot;&gt;14 minutes to read&lt;/div&gt;**"/><meta name="docsearch:language" content="en"/><meta propert [...]
+        document.addEventListener('DOMContentLoaded', function() {
+          addBackToTop(
+            {"zIndex":100}
+          )
+        });
+        </script><script src="/docs/js/scrollSpy.js"></script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="Apache StreamPipes"/></a><a href="/docs/versions.html"><h3>0.91.0</h3></a>< [...]
+            var coll = document.getElementsByClassName('collapsible');
+            var checkActiveCategory = true;
+            for (var i = 0; i < coll.length; i++) {
+              var links = coll[i].nextElementSibling.getElementsByTagName('*');
+              if (checkActiveCategory){
+                for (var j = 0; j < links.length; j++) {
+                  if (links[j].classList.contains('navListItemActive')){
+                    coll[i].nextElementSibling.classList.toggle('hide');
+                    coll[i].childNodes[1].classList.toggle('rotate');
+                    checkActiveCategory = false;
+                    break;
+                  }
+                }
+              }
+
+              coll[i].addEventListener('click', function() {
+                var arrow = this.childNodes[1];
+                arrow.classList.toggle('rotate');
+                var content = this.nextElementSibling;
+                content.classList.toggle('hide');
+              });
+            }
+
+            document.addEventListener('DOMContentLoaded', function() {
+              createToggler('#navToggler', '#docsNav', 'docsSliderActive');
+              createToggler('#tocToggler', 'body', 'tocActive');
+
+              var headings = document.querySelector('.toc-headings');
+              headings && headings.addEventListener('click', function(event) {
+                var el = event.target;
+                while(el !== headings){
+                  if (el.tagName === 'A') {
+                    document.body.classList.remove('tocActive');
+                    break;
+                  } else{
+                    el = el.parentNode;
+                  }
+                }
+              }, false);
+
+              function createToggler(togglerSelector, targetSelector, className) {
+                var toggler = document.querySelector(togglerSelector);
+                var target = document.querySelector(targetSelector);
+
+                if (!toggler) {
+                  return;
+                }
+
+                toggler.onclick = function(event) {
+                  event.preventDefault();
+
+                  target.classList.toggle(className);
+                };
+              }
+            });
+        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="lonePost"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/docs/blog/2023/04/12/release-091.html">Apache StreamPipes release 0.91.0</a></h1><p class="post-meta">April 12, 2023</p><div class="authorBlock"><p class="post-authorName"><a href="https://github.com/bossenti" target="_blank" rel="noreferrer noopener">Tim Bossenmaier</a>< [...]
+<br></p>
+<p>The Apache StreamPipes community is delighted to announce the release of Apache StreamPipes version 0.91.0!
+The biggest highlight of this release is the birth of our official StreamPipes Python library.
+Apart from that, we have made a lot of improvements under the hood, especially in terms of improving the development experience (e.g., by introducing and enforcing code style rules).
+Nevertheless, our new version includes more than 90 improvements and bug fixes in total.</p>
+<!--truncate-->
+<p>The current release can be downloaded <a href="https://streampipes.apache.org/download.html">here</a>.</p>
+<h2><a class="anchor" aria-hidden="true" id="streampipes-python"></a><a href="#streampipes-python" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22- [...]
+<p><a href="https://streampipes.apache.org/">Apache StreamPipes</a> aims to enable non-technical users to connect and analyze IoT data streams.
+To this end, it provides an easy-to-use and convenient user interface that allows one to connect to an IoT data source and create some visual
+graphs within a few minutes. <br>
+Although this is the main use case of Apache StreamPipes, it can also provide great value for people who are eager to work on data analysis or data science with IoT data, but don't want to get in touch with all the hassle associated with extracting data from devices in a suitable format.
+In this scenario, StreamPipes helps you connect to your data source and extract the data for you.
+You then can make the data available outside StreamPipes by writing it into an external source, such as a database, Kafka, etc.
+While this requires another component, you can also extract your data directly from StreamPipes programmatically using the StreamPipes API.
+For convenience, we also provide you with a StreamPipes client both available for Java and Python.
+Specifically with StreamPipes Python, we want to address the amazing data analytics and data science community in Python and benefit from the great universe of Python libraries out there.</p>
+<h3><a class="anchor" aria-hidden="true" id="getting-started"></a><a href="#getting-started" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
+<p>Besides our official version, which you can access <a href="https://streampipes.apache.org/download.html">here</a>,
+we provide Apache StreamPipes as a convenient release via PyPI.
+Therefore, you can easily install it via the following command</p>
+<pre><code class="hljs css language-bash">pip install streampipes
+</code></pre>
+<p>All documentation related to StreamPipes Python can be found <a href="https://streampipes.apache.org/docs/docs/python/latest/">here</a>.</p>
+<p>But now enough words are written, let's just start with a few examples.
+As a first step, we want to establish a connection to a running StreamPipes instance.</p>
+<pre><code class="hljs css language-python"><span class="hljs-keyword">from</span> streampipes.client <span class="hljs-keyword">import</span> StreamPipesClient
+<span class="hljs-keyword">from</span> streampipes.client.config <span class="hljs-keyword">import</span> StreamPipesClientConfig
+<span class="hljs-keyword">from</span> streampipes.client.credential_provider <span class="hljs-keyword">import</span> StreamPipesApiKeyCredentials
+
+config = StreamPipesClientConfig(
+    credential_provider = StreamPipesApiKeyCredentials(
+        username = <span class="hljs-string">"test@streampipes.apache.org"</span>,
+        api_key = <span class="hljs-string">"DEMO-KEY"</span>,
+        ),
+    host_address = <span class="hljs-string">"localhost"</span>,
+    https_disabled = <span class="hljs-literal">True</span>,
+    port = <span class="hljs-number">80</span>
+)
+
+client = StreamPipesClient(client_config=config)
+</code></pre>
+<p><code>client.describe()</code> gives you an overview about what can be discovered via the Python client:</p>
+<pre><code class="hljs css language-bash">Hi there!
+You are connected to a StreamPipes instance running at http://localhost:80.
+The following StreamPipes resources are available with this client:
+1x DataLakeMeasures
+1x DataStreams
+</code></pre>
+<p>The required API key can be retrieved from StreamPipes via the UI:</p>
+<p><img src="/docs/blog/assets/2023-04-12/how-to-get-api-key.gif" alt="demonstration how to get an API key in form of a gif"></p>
+<h3><a class="anchor" aria-hidden="true" id="query-data-from-streampipes-data-lake"></a><a href="#query-data-from-streampipes-data-lake" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 [...]
+<p>As a first step, we can see which data sets are available in the data lake:</p>
+<pre><code class="hljs css language-python">client.dataLakeMeasureApi.all().to_pandas()
+</code></pre>
+<p>To query data for a specific data lake measure, the following command takes you there:</p>
+<pre><code class="hljs css language-python">client.dataLakeMeasureApi.get(identifier=<span class="hljs-string">"flow-rate"</span>).to_pandas()
+</code></pre>
+<p>There are some parameters that allow you to query data more specifically, visit the <a href="https://streampipes.apache.org/docs/docs/python/latest/reference/endpoint/api/data_lake_measure/#streampipes.endpoint.api.data_lake_measure.MeasurementGetQueryConfig">docs</a> for more detailed information.</p>
+<p>If you are curious which features are available for StreamPipes Python, have a look at our <a href="https://streampipes.apache.org/docs/docs/python/latest/tutorials/1-introduction-to-streampipes-python-client/">tutorial section</a>.</p>
+<p>We plan to further extend the Python library in the next releases - we welcome your ideas on any features you'd like to see!</p>
+<h2><a class="anchor" aria-hidden="true" id="create-adapter-without-starting"></a><a href="#create-adapter-without-starting" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 [...]
+<p>Until now, when creating an adapter in StreamPipes, the adapter was started immediately after completion.
+From now on you can choose via the adapter overview in the last dialog whether the adapter should be started immediately or later (this is then possible in the adapter overview).</p>
+<p><img src="/docs/blog/assets/2023-04-12/adapter-running.gif" alt="demonstration how to disable automatic start of an adapter in form of a gif"></p>
+<h2><a class="anchor" aria-hidden="true" id="redirect-after-login"></a><a href="#redirect-after-login" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1 [...]
+<p>This is another small user interface improvement: when a user opens a StreamPipes link even though they are not logged in, e.g.,
+<a href="http://streampipes.demo/#/connect">http://streampipes.demo/#/connect</a>, StreamPipes displays the login dialog and now redirects the user directly to the target view
+(in this case the connection overview).</p>
+<h2><a class="anchor" aria-hidden="true" id="support-output-streams-for-standalone-functions"></a><a href="#support-output-streams-for-standalone-functions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9 [...]
+<p>Within the last release, <a href="/docs/blog/2023/01/17/release-090.html">0.90.0</a>, we introduced StreamPipes Functions as a lightweight alternative to processing elements.<br>
+StreamPipes Functions do now support having output streams, which means that they allow not only to consume but to send data to StreamPipes as well.</p>
+<p>Below you can see a simple example function that demonstrates how events can be pushed back to StreamPipes again.</p>
+<pre><code class="hljs css language-java"><span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">FunctionPublishExample</span> <span class="hljs-keyword">extends</span> <span class="hljs-title">StreamPipesFunction</span> </span>{
+
+  <span class="hljs-keyword">private</span> <span class="hljs-keyword">static</span> <span class="hljs-keyword">final</span> Logger LOG = LoggerFactory.getLogger(FunctionPublishExample<span class="hljs-class">.<span class="hljs-keyword">class</span>)</span>;
+
+  <span class="hljs-keyword">private</span> <span class="hljs-keyword">static</span> <span class="hljs-keyword">final</span> String FUNCTION_ID = <span class="hljs-string">"org.apache.streampipes.example.function.publish"</span>;
+  <span class="hljs-keyword">private</span> <span class="hljs-keyword">static</span> <span class="hljs-keyword">final</span> String STREAM_APP_ID = <span class="hljs-string">"example-output-stream-1"</span>;
+
+  <span class="hljs-keyword">private</span> SpOutputCollector outputCollector;
+
+  <span class="hljs-meta">@Override</span>
+  <span class="hljs-function"><span class="hljs-keyword">public</span> List&lt;String&gt; <span class="hljs-title">requiredStreamIds</span><span class="hljs-params">()</span> </span>{
+    <span class="hljs-keyword">return</span> List.of(<span class="hljs-string">"urn:streampipes.apache.org:eventstream:EtMUkN"</span>);
+  }
+
+  <span class="hljs-meta">@Override</span>
+  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">onServiceStarted</span><span class="hljs-params">(FunctionContext context)</span> </span>{
+    LOG.info(<span class="hljs-string">"Service started"</span>);
+    <span class="hljs-keyword">this</span>.outputCollector = context.getOutputCollectors().get(STREAM_APP_ID);
+  }
+
+  <span class="hljs-meta">@Override</span>
+  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">onEvent</span><span class="hljs-params">(Event event, String streamId)</span> </span>{
+    LOG.info(<span class="hljs-string">"on event"</span>);
+    <span class="hljs-keyword">var</span> ev = <span class="hljs-keyword">new</span> Event();
+    ev.addField(<span class="hljs-string">"timestamp"</span>, System.currentTimeMillis());
+    ev.addField(<span class="hljs-string">"example-property"</span>, <span class="hljs-string">"abc"</span>);
+    <span class="hljs-keyword">this</span>.outputCollector.collect(ev);
+  }
+
+  <span class="hljs-meta">@Override</span>
+  <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">onServiceStopped</span><span class="hljs-params">()</span> </span>{
+    LOG.info(<span class="hljs-string">"service stopped"</span>);
+  }
+
+  <span class="hljs-meta">@Override</span>
+  <span class="hljs-function"><span class="hljs-keyword">public</span> FunctionConfig <span class="hljs-title">getFunctionConfig</span><span class="hljs-params">()</span> </span>{
+
+    <span class="hljs-keyword">return</span> FunctionConfigBuilder
+        .create(FunctionId.from(FUNCTION_ID, <span class="hljs-number">1</span>))
+        .withOutputStream(DataStreamBuilder.create(STREAM_APP_ID, <span class="hljs-string">"My Function Stream"</span>, <span class="hljs-string">""</span>)
+            .property(EpProperties.timestampProperty(<span class="hljs-string">"timestamp"</span>))
+            .property(EpProperties.stringEp(
+                Labels.from(<span class="hljs-string">"my-example-property"</span>, <span class="hljs-string">"test"</span>, <span class="hljs-string">"test"</span>),
+                <span class="hljs-string">"example-property"</span>,
+                SO.TEXT,
+                PropertyScope.MEASUREMENT_PROPERTY))
+            .format(Formats.jsonFormat())
+            .protocol(Protocols.kafka(<span class="hljs-string">"localhost"</span>, <span class="hljs-number">9094</span>, STREAM_APP_ID))
+            .build())
+        .build();
+  }
+}
+</code></pre>
+<p>This functionality is also already supported in StreamPipes Python! ๐Ÿš€</p>
+<p>This means that you can write a StreamPipes function in Python that allows you to consume streams of data from StreamPipes,
+perform any data manipulation in Python, and send the data back to StreamPipes, where it can be further processed.</p>
+<p><br>
+To get a comprehensive overview of all changes released within Apache StreamPipes 0.91.0
+please visit our <a href="https://github.com/apache/incubator-streampipes/blob/release/0.91.0/RELEASE_NOTES.md#0910">release notes</a>.</p>
+</span></div></div><div class="blogSocialSection"></div></div><div class="blog-recent"><a class="button" href="/docs/blog/">Recent Posts</a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#streampipes-python">StreamPipes Python</a><ul class="toc-headings"><li><a href="#getting-started">Getting started</a></li><li><a href="#query-data-from-streampipes-data-lake">Query Data from StreamPipes data lake</a></li></ul></li><li><a href="#create-adapter-without-star [...]
+                document.addEventListener('keyup', function(e) {
+                  if (e.target !== document.body) {
+                    return;
+                  }
+                  // keyCode for '/' (slash)
+                  if (e.keyCode === 191) {
+                    const search = document.getElementById('search_input_react');
+                    search && search.focus();
+                  }
+                });
+              </script><script>
+              var search = docsearch({
+                
+                apiKey: '0fedc89dddf2810657708b178e56ef02',
+                indexName: 'streampipes',
+                inputSelector: '#search_input_react',
+                algoliaOptions: {}
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/docs/blog/assets/2023-04-12/adapter-running.gif b/docs/blog/assets/2023-04-12/adapter-running.gif
new file mode 100644
index 00000000..9655e613
Binary files /dev/null and b/docs/blog/assets/2023-04-12/adapter-running.gif differ
diff --git a/docs/blog/assets/2023-04-12/how-to-get-api-key.gif b/docs/blog/assets/2023-04-12/how-to-get-api-key.gif
new file mode 100644
index 00000000..879ec8ad
Binary files /dev/null and b/docs/blog/assets/2023-04-12/how-to-get-api-key.gif differ
diff --git a/docs/blog/atom.xml b/docs/blog/atom.xml
index cf7af584..fba45a52 100644
--- a/docs/blog/atom.xml
+++ b/docs/blog/atom.xml
@@ -2,12 +2,29 @@
 <feed xmlns="http://www.w3.org/2005/Atom">
     <id>https://streampipes.apache.org/docs/blog</id>
     <title>Apache StreamPipes Blog</title>
-    <updated>2023-01-17T06:00:00.000Z</updated>
+    <updated>2023-04-12T06:00:00.000Z</updated>
     <generator>https://github.com/jpmonette/feed</generator>
     <link rel="alternate" href="https://streampipes.apache.org/docs/blog"/>
     <subtitle>The best place to stay up-to-date with the latest Apache StreamPipes news and events.</subtitle>
     <logo>https://streampipes.apache.org/docs/img/sp-logo-color-docs.png</logo>
     <rights>Copyright ยฉ 2019 - 2023 The Apache Software Foundation</rights>
+    <entry>
+        <title type="html"><![CDATA[Apache StreamPipes release 0.91.0]]></title>
+        <id>https://streampipes.apache.org/docs/blog/2023/04/12/release-091.html</id>
+        <link href="https://streampipes.apache.org/docs/blog/2023/04/12/release-091.html"/>
+        <updated>2023-04-12T06:00:00.000Z</updated>
+        <summary type="html"><![CDATA[<p><strong><div style="float: left; padding-right: 40px;">14 minutes to read</div></strong>
+<br></p>
+<p>The Apache StreamPipes community is delighted to announce the release of Apache StreamPipes version 0.91.0!
+The biggest highlight of this release is the birth of our official StreamPipes Python library.
+Apart from that, we have made a lot of improvements under the hood, especially in terms of improving the development experience (e.g., by introducing and enforcing code style rules).
+Nevertheless, our new version includes more than 90 improvements and bug fixes in total.</p>
+]]></summary>
+        <author>
+            <name>Tim Bossenmaier</name>
+            <uri>https://github.com/bossenti</uri>
+        </author>
+    </entry>
     <entry>
         <title type="html"><![CDATA[Apache StreamPipes release 0.90.0]]></title>
         <id>https://streampipes.apache.org/docs/blog/2023/01/17/release-090.html</id>
diff --git a/docs/blog/feed.xml b/docs/blog/feed.xml
index 16d12efd..32e793dd 100644
--- a/docs/blog/feed.xml
+++ b/docs/blog/feed.xml
@@ -4,7 +4,7 @@
         <title>Apache StreamPipes Blog</title>
         <link>https://streampipes.apache.org/docs/blog</link>
         <description>The best place to stay up-to-date with the latest Apache StreamPipes news and events.</description>
-        <lastBuildDate>Tue, 17 Jan 2023 06:00:00 GMT</lastBuildDate>
+        <lastBuildDate>Wed, 12 Apr 2023 06:00:00 GMT</lastBuildDate>
         <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
         <generator>https://github.com/jpmonette/feed</generator>
         <image>
@@ -13,6 +13,19 @@
             <link>https://streampipes.apache.org/docs/blog</link>
         </image>
         <copyright>Copyright ยฉ 2019 - 2023 The Apache Software Foundation</copyright>
+        <item>
+            <title><![CDATA[Apache StreamPipes release 0.91.0]]></title>
+            <link>https://streampipes.apache.org/docs/blog/2023/04/12/release-091.html</link>
+            <guid>https://streampipes.apache.org/docs/blog/2023/04/12/release-091.html</guid>
+            <pubDate>Wed, 12 Apr 2023 06:00:00 GMT</pubDate>
+            <description><![CDATA[<p><strong><div style="float: left; padding-right: 40px;">14 minutes to read</div></strong>
+<br></p>
+<p>The Apache StreamPipes community is delighted to announce the release of Apache StreamPipes version 0.91.0!
+The biggest highlight of this release is the birth of our official StreamPipes Python library.
+Apart from that, we have made a lot of improvements under the hood, especially in terms of improving the development experience (e.g., by introducing and enforcing code style rules).
+Nevertheless, our new version includes more than 90 improvements and bug fixes in total.</p>
+]]></description>
+        </item>
         <item>
             <title><![CDATA[Apache StreamPipes release 0.90.0]]></title>
             <link>https://streampipes.apache.org/docs/blog/2023/01/17/release-090.html</link>
diff --git a/docs/blog/index.html b/docs/blog/index.html
index 13b566d2..f173e191 100644
--- a/docs/blog/index.html
+++ b/docs/blog/index.html
@@ -4,7 +4,7 @@
             {"zIndex":100}
           )
         });
-        </script><script src="/docs/js/scrollSpy.js"></script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="blog"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="Apache StreamPipes"/></a><a href="/docs/versions.html"><h3>0.91.0</h3></a><div class="navigationWrapper [...]
+        </script><script src="/docs/js/scrollSpy.js"></script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="blog"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="Apache StreamPipes"/></a><a href="/docs/versions.html"><h3>0.91.0</h3></a><div class="navigationWrapper [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -60,7 +60,13 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="posts"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/docs/blog/2023/01/17/release-090.html">Apache StreamPipes release 0.90.0</a></h1><p class="post-meta">January 17, 2023</p><div class="authorBlock"><p class="post-authorName"><a href="https://github.com/dominikriemer" target="_blank" rel="noreferrer noopener">Dominik Riemer</ [...]
+        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="posts"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/docs/blog/2023/04/12/release-091.html">Apache StreamPipes release 0.91.0</a></h1><p class="post-meta">April 12, 2023</p><div class="authorBlock"><p class="post-authorName"><a href="https://github.com/bossenti" target="_blank" rel="noreferrer noopener">Tim Bossenmaier</a></p> [...]
+<br></p>
+<p>The Apache StreamPipes community is delighted to announce the release of Apache StreamPipes version 0.91.0!
+The biggest highlight of this release is the birth of our official StreamPipes Python library.
+Apart from that, we have made a lot of improvements under the hood, especially in terms of improving the development experience (e.g., by introducing and enforcing code style rules).
+Nevertheless, our new version includes more than 90 improvements and bug fixes in total.</p>
+</span></div><div class="read-more"><a class="button" href="/docs/blog/2023/04/12/release-091.html">Read More</a></div></article></div><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/docs/blog/2023/01/17/release-090.html">Apache StreamPipes release 0.90.0</a></h1><p class="post-meta">January 17, 2023</p><div class="authorBlock"><p class="post-authorName"><a href="https://github.com/dominikriemer" target="_blank" rel="noreferrer noopener">Dominik Riemer< [...]
 <br></p>
 <p>The Apache StreamPipes community is pleased to announce the immediate availability of Apache StreamPipes version 0.90.0!
 In total, this release was focused on stabilization and closes 57 issues with improvements and bug fixes as well as some new features such as adapters and data sinks.</p>
@@ -97,10 +103,7 @@ In addition, the release contains several bug fixes related to K8s deployment, P
 </span></div><div class="read-more"><a class="button" href="/docs/blog/2020/01/23/streampipes_on_rpi.html">Read More</a></div></article></div><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/docs/blog/2019/11/25/moving-to-the-apache-incubator.html">Moving to the Apache Incubator</a></h1><p class="post-meta">November 25, 2019</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/dominikjriemer" target="_blank" rel="noreferrer [...]
 <br>
 Great news: StreamPipes is moving to the Apache Incubator!</p>
-</span></div><div class="read-more"><a class="button" href="/docs/blog/2019/11/25/moving-to-the-apache-incubator.html">Read More</a></div></article></div><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/docs/blog/2019/11/23/release-0650.html">StreamPipes release 0.65.0</a></h1><p class="post-meta">November 23, 2019</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/dominikjriemer" target="_blank" rel="noreferrer noopener" [...]
-<br></p>
-<p>We are happy to announce StreamPipes version 0.65.0! This release brings performance improvements related to the installation process and further reduces the minimum hardware requirements to run StreamPipes.</p>
-</span></div><div class="read-more"><a class="button" href="/docs/blog/2019/11/23/release-0650.html">Read More</a></div></article></div><div class="docs-prevnext"><a class="docs-next" href="/docs/blog/page2/">Next โ†’</a></div></div></div></div></div><div><footer class="nav-footer" id="footer"><section class="sitemap"><a href="/docs/" class="nav-home"><img src="/docs/img/sp-logo-color.png" alt="Apache StreamPipes" width="66"/></a><div><h5>Docs</h5><a href="/docs/docs/user-guide-introductio [...]
+</span></div><div class="read-more"><a class="button" href="/docs/blog/2019/11/25/moving-to-the-apache-incubator.html">Read More</a></div></article></div><div class="docs-prevnext"><a class="docs-next" href="/docs/blog/page2/">Next โ†’</a></div></div></div></div></div><div><footer class="nav-footer" id="footer"><section class="sitemap"><a href="/docs/" class="nav-home"><img src="/docs/img/sp-logo-color.png" alt="Apache StreamPipes" width="66"/></a><div><h5>Docs</h5><a href="/docs/docs/user [...]
                 document.addEventListener('keyup', function(e) {
                   if (e.target !== document.body) {
                     return;
diff --git a/docs/blog/page2/index.html b/docs/blog/page2/index.html
index 94d63648..7de3fa7b 100644
--- a/docs/blog/page2/index.html
+++ b/docs/blog/page2/index.html
@@ -4,7 +4,7 @@
             {"zIndex":100}
           )
         });
-        </script><script src="/docs/js/scrollSpy.js"></script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="blog"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="Apache StreamPipes"/></a><a href="/docs/versions.html"><h3>0.91.0</h3></a><div class="navigationWrapper [...]
+        </script><script src="/docs/js/scrollSpy.js"></script><link rel="stylesheet" href="/docs/css/prism.css"/><link rel="stylesheet" href="/docs/css/main.css"/><script src="/docs/js/codetabs.js"></script></head><body class="blog"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/docs/"><img class="logo" src="/docs/img/sp-logo-color-docs.png" alt="Apache StreamPipes"/></a><a href="/docs/versions.html"><h3>0.91.0</h3></a><div class="navigationWrapper [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -60,7 +60,10 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="posts"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/docs/blog/2019/09/19/release-0640.html">StreamPipes release 0.64.0</a></h1><p class="post-meta">September 19, 2019</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/dominikjriemer" target="_blank" rel="noreferrer noopener">Dominik Riemer</a> [...]
+        </script></nav></div><div class="container mainContainer postContainer blogContainer"><div class="wrapper"><div class="posts"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/docs/blog/2019/11/23/release-0650.html">StreamPipes release 0.65.0</a></h1><p class="post-meta">November 23, 2019</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/dominikjriemer" target="_blank" rel="noreferrer noopener">Dominik Riemer</a>< [...]
+<br></p>
+<p>We are happy to announce StreamPipes version 0.65.0! This release brings performance improvements related to the installation process and further reduces the minimum hardware requirements to run StreamPipes.</p>
+</span></div><div class="read-more"><a class="button" href="/docs/blog/2019/11/23/release-0650.html">Read More</a></div></article></div><div class="post"><header class="postHeader"><h1 class="postHeaderTitle"><a href="/docs/blog/2019/09/19/release-0640.html">StreamPipes release 0.64.0</a></h1><p class="post-meta">September 19, 2019</p><div class="authorBlock"><p class="post-authorName"><a href="https://twitter.com/dominikjriemer" target="_blank" rel="noreferrer noopener">Dominik Riemer</ [...]
 <br></p>
 <p>Usually, we try to publish a new StreamPipes release every three months. But after attending a very exciting <a href="https://www.apachecon.com/acna19/">ApacheCon</a> last week, where we worked with some Apache communities on a few really cool new features, we decided to release these features as soon as possible.
 So here's StreamPipes 0.64.0!</p>
diff --git a/docs/docs/next/try-installation.html b/docs/docs/next/try-installation.html
index 325806f9..8ea0eb62 100644
--- a/docs/docs/next/try-installation.html
+++ b/docs/docs/next/try-installation.html
@@ -79,6 +79,12 @@ therefore some manual work might be needed to make StreamPipes run properly.</p>
 <p>The StreamPipes application itself will be accessible through a web browser. We recommend a recent version of Chrome (
 best experience), Firefox or Edge.</p>
 <h2><a class="anchor" aria-hidden="true" id="install-streampipes"></a><a href="#install-streampipes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.2 [...]
+<div class="admonition info">
+    <div class="admonition-title">Migration from 0.90.0 to 0.91.0</div>
+    <p>When upgrading an existing installation from 0.90.0 to 0.91.0, set the environment variable 
+<b>SP_INFLUX_INIT_MODE</b> to <b>upgrade</b> instead of <b>setup</b> due to an upgrade of the underlying time-series storage. </p>
+<p>Depending on the installation type, this needs to be set in the <b>.env</b> or the <b>values.yml</b> file.</p>
+</div>
 <ul style="padding-left:0">
     <li class="installation-step" style="margin-top:20px;">
         <div class="wrapper-container" style="">
diff --git a/docs/docs/try-installation.html b/docs/docs/try-installation.html
index 0ebcca24..33b1c869 100644
--- a/docs/docs/try-installation.html
+++ b/docs/docs/try-installation.html
@@ -79,6 +79,12 @@ therefore some manual work might be needed to make StreamPipes run properly.</p>
 <p>The StreamPipes application itself will be accessible through a web browser. We recommend a recent version of Chrome (
 best experience), Firefox or Edge.</p>
 <h2><a class="anchor" aria-hidden="true" id="install-streampipes"></a><a href="#install-streampipes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.2 [...]
+<div class="admonition info">
+    <div class="admonition-title">Migration from 0.90.0 to 0.91.0</div>
+    <p>When upgrading an existing installation from 0.90.0 to 0.91.0, set the environment variable 
+<b>SP_INFLUX_INIT_MODE</b> to <b>upgrade</b> instead of <b>setup</b> due to an upgrade of the underlying time-series storage. </p>
+<p>Depending on the installation type, this needs to be set in the <b>.env</b> or the <b>values.yml</b> file.</p>
+</div>
 <ul style="padding-left:0">
     <li class="installation-step" style="margin-top:20px;">
         <div class="wrapper-container" style="">
@@ -102,13 +108,13 @@ best experience), Firefox or Edge.</p>
                     <tbody>
                     <tr>
                         <td>
-                            <a href="https://www.apache.org/dyn/closer.lua?action=download&filename=streampipes/0.90.0/apache-streampipes-0.90.0-source-release.zip">apache-streampipes-0.90.0-source-release.zip</a>
+                            <a href="https://www.apache.org/dyn/closer.lua?action=download&filename=streampipes/0.91.0/apache-streampipes-0.91.0-source-release.zip">apache-streampipes-0.91.0-source-release.zip</a>
                         </td>
-                        <td>0.90.0</td>
-                        <td>2023-01-17</td>
+                        <td>0.91.0</td>
+                        <td>2023-04-14</td>
                         <td>
-                            <a href="https://downloads.apache.org/streampipes/0.90.0/apache-streampipes-0.90.0-source-release.zip.sha512">SHA</a>
-                            <a href="https://downloads.apache.org/streampipes/0.90.0/apache-streampipes-0.90.0-source-release.zip.asc">PGP</a>
+                            <a href="https://downloads.apache.org/streampipes/0.91.0/apache-streampipes-0.91.0-source-release.zip.sha512">SHA</a>
+                            <a href="https://downloads.apache.org/streampipes/0.91.0/apache-streampipes-0.91.0-source-release.zip.asc">PGP</a>
                         </td>
                     </tr>
                     </tbody>
diff --git a/docs/docs/user-guide-introduction.html b/docs/docs/user-guide-introduction.html
index 5f560cf7..dd627ba9 100644
--- a/docs/docs/user-guide-introduction.html
+++ b/docs/docs/user-guide-introduction.html
@@ -69,8 +69,8 @@
                 ๐Ÿš€ Try
             </div>
             <div class="toc-content">
-                <div class="toc-section-header"><b>Your first steps with Apache StreamPipes.</b></div>
-               <a href="try-installation.html">Install StreamPipes</a>
+                <div class="toc-section-header"><b>Your first steps with Apache StreamPipes:</b></div>
+               <a href="try-installation.html">Install StreamPipes ๐Ÿ”—</a>
             </div>
         </div>
     </div>
@@ -80,8 +80,8 @@
                 ๐Ÿ’ก Concepts
             </div>
             <div class="toc-content">
-                <div class="toc-section-header"><b>Learn about some general concepts of StreamPipes.</b></div>
-                <a href="concepts-overview.html">Overview</a>
+                <div class="toc-section-header"><b>Learn about some general concepts of StreamPipes:</b></div>
+                <a href="concepts-overview.html">Overview ๐Ÿ”—</a>
             </div>
         </div>
     </div>
@@ -91,11 +91,11 @@
                 ๐ŸŽ“ Use
             </div>
             <div class="toc-content">
-                <div class="toc-section-header"><b>Learn how to use the various modules of StreamPipes.</b></div>
-                <a href="use-connect.html">StreamPipes Connect</a>, <a href="use-pipeline-editor.html">Pipeline Editor</a>, 
-                <a href="use-managing-pipelines.html">Managing Pipelines</a>, 
-                <a href="use-live-dashboard.html">Live Dashboard</a>, <a href="use-data-explorer.html">Data Explorer</a>, 
-                <a href="use-notifications.html">Notifications</a>
+                <div class="toc-section-header"><b>Learn how to use the various modules of StreamPipes:</b></div>
+                <a href="use-connect.html">StreamPipes Connect ๐Ÿ”—</a>, <a href="use-pipeline-editor.html">Pipeline Editor ๐Ÿ”—</a>, 
+                <a href="use-managing-pipelines.html">Managing Pipelines ๐Ÿ”—</a>, 
+                <a href="use-live-dashboard.html">Live Dashboard ๐Ÿ”—</a>, <a href="use-data-explorer.html">Data Explorer ๐Ÿ”—</a>, 
+                <a href="use-notifications.html">Notifications ๐Ÿ”—</a>
             </div>
         </div>
     </div>
@@ -105,10 +105,10 @@
                 ๐Ÿ“š Pipeline Elements
             </div>
             <div class="toc-content">
-                <div class="toc-section-header"><b>Available pipeline elements in StreamPipes.</b></div>
-                <a href="pe/org.apache.streampipes.connect.protocol.stream.kafka.html">Adapters</a>, 
-                <a href="pe/org.apache.streampipes.processors.aggregation.flink.aggregation.html">Data Processors</a>, 
-                <a href="pe/org.apache.streampipes.sinks.databases.jvm.couchdb.html">Data Sinks</a> 
+                <div class="toc-section-header"><b>Available pipeline elements in StreamPipes:</b></div>
+                <a href="pe/org.apache.streampipes.connect.protocol.stream.kafka.html">Adapters ๐Ÿ”—</a>, 
+                <a href="pe/org.apache.streampipes.processors.aggregation.flink.aggregation.html">Data Processors ๐Ÿ”—</a>, 
+                <a href="pe/org.apache.streampipes.sinks.databases.jvm.couchdb.html">Data Sinks ๐Ÿ”—</a> 
             </div>
         </div>
     </div>
@@ -118,9 +118,9 @@
                 โšก Deploy 
             </div>
             <div class="toc-content">
-                <div class="toc-section-header"><b>How to set up StreamPipes in test and production environments.</b></div>
-                <a href="deploy-docker.html">Docker</a>, <a href="deploy-kubernetes.html">Kubernetes</a>, <a href="../deploy
-                -use-ssl">Use SSL</a>
+                <div class="toc-section-header"><b>How to set up StreamPipes in test and production environments:</b></div>
+                <a href="deploy-docker.html">Docker ๐Ÿ”—</a>, <a href="deploy-kubernetes.html">Kubernetes ๐Ÿ”—</a>, <a href="../deploy
+                -use-ssl">Use SSL ๐Ÿ”—</a>
             </div>
         </div>
     </div>
@@ -130,15 +130,15 @@
                 ๐Ÿ’ป Extend
             </div>
             <div class="toc-content">
-                <div class="toc-section-header"><b>Write your own pipeline elements for StreamPipes.</b></div>
-                <a href="extend-setup.html">Development Setup</a>, <a href="extend-cli.html">CLI</a>, <a href="../extend
-                -archetypes">Maven Archetypes</a>,
-                <a href="extend-tutorial-data-sources.html">Tutorial Data Sources</a>, <a href="../extend-tutorial-data
-                -processors">Tutorial Data Processors</a>, <a href="extend-tutorial-data-sinks.html">Tutorial Data Sinks
+                <div class="toc-section-header"><b>Write your own pipeline elements for StreamPipes:</b></div>
+                <a href="extend-setup.html">Development Setup ๐Ÿ”—</a>, <a href="extend-cli.html">CLI ๐Ÿ”—</a>, <a href="../extend
+                -archetypes">Maven Archetypes ๐Ÿ”—</a>,
+                <a href="extend-tutorial-data-sources.html">Tutorial Data Sources ๐Ÿ”—</a>, <a href="../extend-tutorial-data
+                -processors">Tutorial Data Processors ๐Ÿ”—</a>, <a href="extend-tutorial-data-sinks.html">Tutorial Data Sinks ๐Ÿ”—
                 </a>,
-                <a href="extend-sdk-event-model.html">Event Model</a>, <a href="extend-sdk-stream-requirements.html">Stream
-                 Requirements</a>, <a href="extend-sdk-static-properties.html">Static Properties</a>,
-                <a href="extend-sdk-output-strategies.html">Output Strategies</a>
+                <a href="extend-sdk-event-model.html">Event Model ๐Ÿ”—</a>, <a href="extend-sdk-stream-requirements.html">Stream
+                 Requirements ๐Ÿ”—</a>, <a href="extend-sdk-static-properties.html">Static Properties ๐Ÿ”—</a>,
+                <a href="extend-sdk-output-strategies.html">Output Strategies ๐Ÿ”—</a>
             </div>
         </div>
     </div>
@@ -148,11 +148,11 @@
                 ๐Ÿ”ง Technicals
             </div>
             <div class="toc-content">
-                <div class="toc-section-header"><b>Learn about technical concepts behind the curtain.</b></div>
-                <a href="technicals-architecture.html">Architecture</a>, <a href="technicals-user-guidance.html">User
-                 Guidance
-                </a>, <a href="technicals-runtime-wrappers.html">Runtime Wrappers</a>,
-                <a href="technicals-messaging.html">Messaging</a>, <a href="technicals-configuration.html">Configuration</a>
+                <div class="toc-section-header"><b>Learn about technical concepts behind the curtain:</b></div>
+                <a href="technicals-architecture.html">Architecture ๐Ÿ”—</a>, <a href="technicals-user-guidance.html">User
+                 Guidance ๐Ÿ”—
+                </a>, <a href="technicals-runtime-wrappers.html">Runtime Wrappers ๐Ÿ”—</a>,
+                <a href="technicals-messaging.html">Messaging ๐Ÿ”—</a>, <a href="technicals-configuration.html">Configuration ๐Ÿ”—</a>
             </div>
         </div>
     </div>
@@ -162,8 +162,19 @@
                 ๐Ÿ‘ช Community
             </div>
             <div class="toc-content">
-                <div class="toc-section-header"><b>Get support and learn how to contribute to StreamPipes.</b></div>
-                <a href="community-get-help.html">Get Help</a>, <a href="community-contribute.html">Contribute</a>
+                <div class="toc-section-header"><b>Get support and learn how to contribute to StreamPipes:</b></div>
+                <a href="community-get-help.html">Get Help ๐Ÿ”—</a>, <a href="community-contribute.html">Contribute ๐Ÿ”—</a>
+            </div>
+        </div>
+    </div>
+    <div class="column">
+        <div class="toc-box">
+            <div class="toc-header border-thin">
+                ๐Ÿ StreamPipes Python
+            </div>
+            <div class="toc-content">
+                <div class="toc-section-header"><b>Discover what we offer for the Python world:</b></div>
+                <a href="/docs/docs/python/latest">Python Documentation ๐Ÿ”—</a>
             </div>
         </div>
     </div>
diff --git a/docs/sitemap.xml b/docs/sitemap.xml
index 1213e20b..4abeab7e 100644
--- a/docs/sitemap.xml
+++ b/docs/sitemap.xml
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:mobile="http://www.google.com/schemas/sitemap-mobile/1.0" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://streampipes.apache.org/versions.html</loc><changefreq>weekly</changefreq><priority>0. [...]
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:mobile="http://www.google.com/schemas/sitemap-mobile/1.0" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://streampipes.apache.org/versions.html</loc><changefreq>weekly</changefreq><priority>0. [...]
\ No newline at end of file
diff --git a/download.html b/download.html
index b874c15a..98a3016b 100644
--- a/download.html
+++ b/download.html
@@ -241,7 +241,8 @@ The default login credentials are <code>admin@streampipes.apache.org</code>, pas
 </span>
 </div>
 <div class="col-md-11 col-9">
-For a detailed description of the installer go to the <a href="https://github.com/apache/streampipes/tree/dev/installer">GitHub repository</a>
+For a detailed description of the installer and migration guides, read the <a href="https://streampipes.apache.org/docs/docs/try-installation.html">installation guide</a>
+or learn about advanced <a href="https://streampipes.apache.org/docs/docs/deploy-docker.html">Docker</a> or <a href="https://streampipes.apache.org/docs/docs/deploy-kubernetes.html">K8s</a> deployment setups.
 </div>
 </div>
 </li>