GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - apache/streampipes: Apache StreamPipes - A self-service (Industrial) IoT toolbox to enable non-technical users to connect, analyze and explore IoT data streams.

BranchesTags
Open more actions menu

Latest commit

 

History

12,352 Commits
12,352 Commits

Folders and files

NameName
Last commit message
Last commit date
.claude/skills/security-triage
.claude/skills/security-triage
 
 
.devcontainer
.devcontainer
 
 
.github
.github
 
 
.idea
.idea
 
 
.mvn
.mvn
 
 
.vscode
.vscode
 
 
archetypes/streampipes-archetype-extensions-jvm
archetypes/streampipes-archetype-extensions-jvm
 
 
images
images
 
 
installer
installer
 
 
licenses
licenses
 
 
prometheus-grafana
prometheus-grafana
 
 
streampipes-audit-api
streampipes-audit-api
 
 
streampipes-audit-events
streampipes-audit-events
 
 
streampipes-audit-influx
streampipes-audit-influx
 
 
streampipes-audit-management
streampipes-audit-management
 
 
streampipes-benchmarks
streampipes-benchmarks
 
 
streampipes-client-api
streampipes-client-api
 
 
streampipes-client-e2e
streampipes-client-e2e
 
 
streampipes-client-go
streampipes-client-go
 
 
streampipes-client-python
streampipes-client-python
 
 
streampipes-client
streampipes-client
 
 
streampipes-commons
streampipes-commons
 
 
streampipes-connect-management
streampipes-connect-management
 
 
streampipes-connect-shared
streampipes-connect-shared
 
 
streampipes-connect-transformer-api
streampipes-connect-transformer-api
 
 
streampipes-connect-transformer-js
streampipes-connect-transformer-js
 
 
streampipes-couchdb-client-httpclient5
streampipes-couchdb-client-httpclient5
 
 
streampipes-couchdb-client
streampipes-couchdb-client
 
 
streampipes-data-explorer-api
streampipes-data-explorer-api
 
 
streampipes-data-explorer-export
streampipes-data-explorer-export
 
 
streampipes-data-explorer-influx
streampipes-data-explorer-influx
 
 
streampipes-data-explorer-iotdb
streampipes-data-explorer-iotdb
 
 
streampipes-data-explorer-management
streampipes-data-explorer-management
 
 
streampipes-data-explorer
streampipes-data-explorer
 
 
streampipes-data-export
streampipes-data-export
 
 
streampipes-dataformat
streampipes-dataformat
 
 
streampipes-extensions-api
streampipes-extensions-api
 
 
streampipes-extensions-management
streampipes-extensions-management
 
 
streampipes-extensions
streampipes-extensions
 
 
streampipes-health-monitoring
streampipes-health-monitoring
 
 
streampipes-integration-tests
streampipes-integration-tests
 
 
streampipes-load-balancer
streampipes-load-balancer
 
 
streampipes-mail
streampipes-mail
 
 
streampipes-maven-plugin
streampipes-maven-plugin
 
 
streampipes-measurement-units
streampipes-measurement-units
 
 
streampipes-messaging-kafka
streampipes-messaging-kafka
 
 
streampipes-messaging-mqtt
streampipes-messaging-mqtt
 
 
streampipes-messaging-nats
streampipes-messaging-nats
 
 
streampipes-messaging-pulsar
streampipes-messaging-pulsar
 
 
streampipes-messaging
streampipes-messaging
 
 
streampipes-model-client
streampipes-model-client
 
 
streampipes-model-shared
streampipes-model-shared
 
 
streampipes-model
streampipes-model
 
 
streampipes-nats-extensions
streampipes-nats-extensions
 
 
streampipes-pipeline-management
streampipes-pipeline-management
 
 
streampipes-resource-management
streampipes-resource-management
 
 
streampipes-rest-core-base
streampipes-rest-core-base
 
 
streampipes-rest-extensions
streampipes-rest-extensions
 
 
streampipes-rest-shared
streampipes-rest-shared
 
 
streampipes-rest
streampipes-rest
 
 
streampipes-sdk-bundle
streampipes-sdk-bundle
 
 
streampipes-sdk
streampipes-sdk
 
 
streampipes-security-jwt
streampipes-security-jwt
 
 
streampipes-serializers-json
streampipes-serializers-json
 
 
streampipes-service-base
streampipes-service-base
 
 
streampipes-service-core-minimal
streampipes-service-core-minimal
 
 
streampipes-service-core
streampipes-service-core
 
 
streampipes-service-discovery-api
streampipes-service-discovery-api
 
 
streampipes-service-discovery
streampipes-service-discovery
 
 
streampipes-service-extensions
streampipes-service-extensions
 
 
streampipes-storage-api
streampipes-storage-api
 
 
streampipes-storage-couchdb
streampipes-storage-couchdb
 
 
streampipes-test-utils-executors
streampipes-test-utils-executors
 
 
streampipes-test-utils
streampipes-test-utils
 
 
streampipes-user-management
streampipes-user-management
 
 
streampipes-vocabulary
streampipes-vocabulary
 
 
streampipes-wrapper-distributed
streampipes-wrapper-distributed
 
 
streampipes-wrapper-kafka-streams
streampipes-wrapper-kafka-streams
 
 
streampipes-wrapper-siddhi
streampipes-wrapper-siddhi
 
 
streampipes-wrapper-standalone
streampipes-wrapper-standalone
 
 
streampipes-wrapper
streampipes-wrapper
 
 
tools
tools
 
 
ui
ui
 
 
.asf.yaml
.asf.yaml
 
 
.gitignore
.gitignore
 
 
AGENTS.md
AGENTS.md
 
 
CLAUDE.md
CLAUDE.md
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
DESIGN.md
DESIGN.md
 
 
Jenkinsfile
Jenkinsfile
 
 
LICENSE
LICENSE
 
 
NOTICE
NOTICE
 
 
PRODUCT.md
PRODUCT.md
 
 
README.md
README.md
 
 
RELEASE_NOTES.md
RELEASE_NOTES.md
 
 
RELEASE_VALIDATION.md
RELEASE_VALIDATION.md
 
 
SECURITY.md
SECURITY.md
 
 
THREAT_MODEL.md
THREAT_MODEL.md
 
 
create-client-model.sh
create-client-model.sh
 
 
docker-compose.yml
docker-compose.yml
 
 

Repository files navigation

Github Actions Docker pulls Maven central License Last commit Apache StreamPipes Contributors GitHub commit activity GitHub issues by-label Documentation
LinkedIn X D

Apache StreamPipes Logo

Open Source Industrial IoT Data Platform

Apache StreamPipes helps teams connect industrial data sources, build real-time streaming pipelines, explore time-series data, and deliver live operational insights without requiring many different systems or custom code for every use case.

Try it in 60 seconds

No hardware, no setup wizard: one container runs the whole platform with a simulated machine already streaming data.

docker run --rm -p 80:80 apachestreampipes/all-in-one:dev

Then open http://localhost and sign in with [email protected] / admin. The container seeds a fictional company with simulated machines: a water works with pumps and tanks, and an automotive plant with CNC machining centres, screwing stations and an end-of-line test. Click Dashboards in the left menu and open CNC Machining or Plant Overview to watch live charts of most chart types, from KPI tiles to histograms and heatmaps (they refresh every five seconds). The home page shows the sites on a map, Assets holds the plant structure with links to everything, Pipelines has the persist and analytics pipelines, and the simulated machines are listed under Adapters, one of them with a JavaScript transformation. The first start takes about a minute while the services boot and the demo is seeded.

The dev tag follows the latest build of the dev branch; latest and version tags such as 0.99.0 are published with each release. The image bundles CouchDB, NATS, InfluxDB, the core, the IIoT extensions and the UI, and is meant for trying things out. For a real installation use the Compose installer below. Details, options and how to build the image yourself are in installer/all-in-one.

Overview

Apache StreamPipes is an end-to-end industrial IoT data platform that combines a graphical user interface for domain experts with an extensible framework for developers. It enables teams to connect industrial data sources, process real-time data streams, store historical data, and build data-driven applications on top of industrial equipment.

StreamPipes provides an opinionated architecture for managing industrial IoT data. Most users rely on StreamPipes to make data from machines, production systems, and other industrial assets available to analytics, monitoring, and application layers.

A standard StreamPipes installation includes everything needed to get started: a messaging system for real-time data exchange, with NATS as the default and support for additional protocols, as well as a time-series database for storing historical data. StreamPipes also includes a wide range of connectors tailored to industrial IoT requirements. For example, it provides extensive OPC UA support, including a web-based node browser and support for OPC UA events.

StreamPipes is fully open source, governed by the Apache Software Foundation, and includes enterprise-grade capabilities such as user and role management, OAuth 2.0 integration, and support for geographically distributed deployments that simplify communication between OT and IT networks.

As a ready-to-use platform, StreamPipes enables users to implement industrial IoT use cases on top of a reliable data foundation. Developers can extend the platform through REST APIs, client libraries for various programming languages, and an SDK for building custom connectors, processors, sinks, and application logic.

Product Tour

Feature Preview
Connect data sources with a guided setup flow StreamPipes Connect
Build stream analytics pipelines visually StreamPipes Pipeline Editor
Create beautiful charts and dashboards Charts and Dashboards
Asset-centric organization and navigation Asset Management
Administration, users, and platform operations Security and User Managemnet

Built for users

  • Connect industrial and messaging systems such as OPC UA, PLCs, MQTT, REST, Pulsar, Kafka, and more.
  • Build harmonization and analytics pipelines with a library of ready-to-use adapters, processors, and sinks.
  • Explore historical data visually with charts tailored to time-series use cases.
  • Create live dashboards for real-time monitoring on the shop floor or in operations centers.
  • Organize pipelines, streams, and dashboards around assets and operational structures.

Built for developers

  • Extend the platform with custom adapters, processors, and sinks through the Java SDK.
  • Run pipeline elements as standalone microservices in central or edge deployments.
  • Integrate existing processing logic and ML models into reusable pipeline elements.
  • Use our Python, Go or Java client to interact with StreamPipes from your own applications.

Quick Start

Run StreamPipes as a user

The fastest way to get a full installation with extensions is to use one of the Docker-based installers:

  • StreamPipes all-in-one for a single-container demo with simulated data (see Try it in 60 seconds)
  • StreamPipes Compose for container-based deployment
  • StreamPipes CLI for developers who want to extend StreamPipes (deprecated)
  • StreamPipes k8s for cluster-based operation

For most first-time users, installer/compose is the right starting point.

cd installer/compose
docker-compose up -d

After the services are up, open http://localhost to complete the setup in the browser.

Build StreamPipes as a developer

Deprecated: The StreamPipes CLI remains available for existing users, but it is deprecated and will be removed in a future release. For local development, prefer the dev container setup described below.

Dev Container Setup (Experimental)

The repository includes an experimental dev container setup in .devcontainer. It starts the required third-party services with Docker Compose and provides a containerized development environment for running StreamPipes from source.

For users not using VS Code, the dev container files can still serve as the reference setup for the required development services and environment variables. See .devcontainer/docker-compose.yml, .devcontainer/.env.example, and .devcontainer/README.md for the current Compose configuration.

For VS Code users, open the repository in VS Code and run Dev Containers: Reopen in Container. After the container has started, use the included VS Code tasks or debug launch configurations to start the core, extensions, and UI.

Prerequisites:

  • Java 25 JDK
  • Maven 3.8+
  • Node.js and npm for the UI build
  • Docker and Docker Compose

Backend build:

mvn clean package

UI build:

cd ui
npm install
npm run build

From the repository root, you can start the full stack with:

docker-compose up --build -d

This will start a development stack with no volumes! Choose the installation options from the installer page for production setups.

For backend changes, prefer targeted module validation first, for example:

mvn -pl <module> -am test

Documentation

The main documentation lives at streampipes.apache.org/docs.

  • Quick start guide
  • Create adapters
  • Build pipelines
  • Developer setup
  • Write custom pipeline elements

Repository Structure

This repository contains the StreamPipes platform, SDKs, extensions, installers, and UI in a single monorepo. A few important entry points:

  • streampipes-service-core for bootstrapping, security, migrations, and scheduling
  • streampipes-rest for HTTP and resource APIs
  • streampipes-extensions for bundled adapters and pipeline elements
  • streampipes-sdk for extension development
  • ui for the web application
  • installer for Compose, deprecated CLI, and Kubernetes deployment options

Extending StreamPipes

StreamPipes is designed to be extended. Custom processors, sinks, and data sources can be packaged as pipeline elements and deployed independently of the core platform.

  • Use the Java SDK to wrap existing processing logic.
  • Package new functionality as containerized microservices.
  • Deploy extensions centrally or near the edge, depending on latency and infrastructure constraints.

The bundled extension code lives in streampipes-extensions.

Community

Get help

  • Support channels
  • Mailing lists
  • Quick start guide

Or simply use Github Discussions.

To subscribe directly to a mailing list:

  • [email protected]
  • [email protected]

Contribute

Contributions are welcome across core services, UI, extensions, installers, and documentation.

  • Review CONTRIBUTING.md
  • Check the Get Involved page
  • Browse open issues
  • Start with a good first issue
  • Visit the developer wiki

Report bugs or request features

  • Bug reports
  • Feature ideas and discussions

License

Apache License 2.0

About

Apache StreamPipes - A self-service (Industrial) IoT toolbox to enable non-technical users to connect, analyze and explore IoT data streams.

streampipes.apache.org

Topics

analyticsdashboardedgeiiotiotiot-analyticsiot-platformmicroservicesopcuas7self-servicestream-processing

Resources

Readme
Apache-2.0 license

Code of conduct

Code of conduct

Contributing

Contributing

Security policy

Security policy
Activity
Custom properties

Stars

761 stars

Watchers

26 watching

Forks

252 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.