Anush krishna V created STREAMPIPES-325:
-------------------------------------------
Summary: CLONE - New Python Wrapper
Key: STREAMPIPES-325
URL: https://issues.apache.org/jira/browse/STREAMPIPES-325
Project: StreamPipes
Issue Type: New Feature
Components: Pipeline Elements
Reporter: Anush krishna V
*Apache StreamPipes*
Apache StreamPipes (incubating) is a self-service (Industrial) IoT toolbox to
enable non-technical users to connect, analyze and explore IoT data streams.
StreamPipes offers several modules including StreamPipes Connect to easily
connect data from industrial IoT sources, the Pipeline Editor to quickly create
processing pipelines and several visualization modules for live and historic
data exploration. Under the hood, StreamPipes utilizes an event-driven
microservice paradigm of standalone, so-called analytics microservices making
the system easy to extend for individual needs.
*Background*
Current wrappers such as standalone (JVM, Siddhi) or distributed (Flink)
already allow to develop new processors in the given runtime environment. The
idea is to extend the list of standalone runtime wrappers to also support pure
Python processors. We already got a minimal working version that however is
pretty inflexible and still relies on Java as a proxy to the pipeline
management in the backend service for the model declaration in the setup phase
( capabilities, requirements, static properties of a processor) as well as the
actual invocation in the execution phase ( receiving specific configuration
from pipeline management when pipeline is started). This issue is to track the
status of the development.
*Tasks*
# Add API endpoints as an interface for registration/invocation ( partly done)
# Port relevant model classes over to Python (declaration + invocation
descriptions)
# Implement support for various transport protocols and transport formats
# Implement dev friendly alternative to Java builder pattern for model
declaration
# Implement overall runtime logic for Python wrapper
*Relevant Skills*
0. Don't be afraid! We'll guide you through your first steps with StreamPipes.
# Excellent Python skills
# Excellent understanding of stream processing paradigm incl. message broker
such as Kafka, MQTT, etc
# Good Understanding of RESTful web services (HTTP, etc.)
# Basic Java skills to understand existing wrapper logic
*Info*
* SIP-02 to collect design decisions
https://cwiki.apache.org/confluence/display/STREAMPIPES/SIP-02+Python+wrapper
* Current python runtime wrapper implementation:
[https://github.com/apache/incubator-streampipes/tree/dev/streampipes-wrapper-python]
* POC example:
[https://github.com/apache/incubator-streampipes-examples/tree/dev/streampipes-pipeline-elements-examples-processors-jvm/src/main/java/org/apache/streampipes/pe/examples/jvm/python]
*Mentor*
Patrick Wiener, PPMC Apache StreamPipes ([email protected])
--
This message was sent by Atlassian Jira
(v8.3.4#803005)