Uploaded image for project: 'StreamPipes'
  1. StreamPipes
  2. STREAMPIPES-174

New Python Wrapper

    XMLWordPrintableJSON

Details

    Description

      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

      1. Add API endpoints as an interface for registration/invocation ( partly done)
      2. Port relevant model classes over to Python (declaration + invocation descriptions)
      3. Implement support for various transport protocols and transport formats
      4. Implement dev friendly alternative to Java builder pattern for model declaration 
      5. Implement overall runtime logic for Python wrapper

       

      Relevant Skills

      0. Don't be afraid! We'll guide you through your first steps with StreamPipes.

      1. Excellent Python skills
      2. Excellent understanding of stream processing paradigm incl.  message broker such as Kafka, MQTT, etc
      3. Good Understanding of RESTful web services (HTTP, etc.)
      4. Basic Java skills to understand existing wrapper logic

       

      Info

       

      Mentor

      Patrick Wiener, PPMC Apache StreamPipes (wiener@apache.org)

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              wiener Patrick Wiener
              Votes:
              1 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated: