You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@streampipes.apache.org by "ASF subversion and git services (Jira)" <ji...@apache.org> on 2021/03/15 23:48:00 UTC

[jira] [Commented] (STREAMPIPES-174) New Python Wrapper

    [ https://issues.apache.org/jira/browse/STREAMPIPES-174?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17302101#comment-17302101 ] 

ASF subversion and git services commented on STREAMPIPES-174:
-------------------------------------------------------------

Commit 2f10a17b77a93eee48527e4e88baf7e4b144d6fe in incubator-streampipes's branch refs/heads/dev from Patrick Wiener
[ https://gitbox.apache.org/repos/asf?p=incubator-streampipes.git;h=2f10a17 ]

[STREAMPIPES-174] add new StreamPipesExternalDataProcessor


> New Python Wrapper
> ------------------
>
>                 Key: STREAMPIPES-174
>                 URL: https://issues.apache.org/jira/browse/STREAMPIPES-174
>             Project: StreamPipes
>          Issue Type: New Feature
>          Components: Pipeline Elements
>            Reporter: Patrick Wiener
>            Priority: Major
>              Labels: gsoc2021, mentor, streampipes
>
> *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 (wiener@apache.org)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)