-
Notifications
You must be signed in to change notification settings - Fork 8
Home
Sensors, social media, and other sources generate streams of data. Many people, including school children, are developing applications that ingest and analyze data streams to control actuators, generate alerts, and feed continuous displays. IoTPy helps you build such data-streaming applications.
Powerful software libraries exist in a variety of domains including data analytics, artificial intelligence, and science. Programs in these libraries apply a function to input data to obtain output and then terminate. By contrast, streaming applications are perpetual processes that analyze endless data streams without terminating. IoTPy has a library of methods for converting non-streaming programs into applications that operate on endless streams.
You use IoTPy to define a streaming application as an assembly of software modules. You can specify how an assembly of modules is run in a single process or how the assembly is partitioned across processes in a multicore computer and across multiple computers.
IoTPY offers (1) ways to adapt the wealth of software that operates on non-streaming data structures to obtain modules that operates on endless data streams, (2) mechanisms to build streaming applications by assembling data-streaming modules, and (3) ways to execute an assembly on a single process or easily partition an assembly to run across multiple processes.
The package is being developed by K. Mani Chandy and others who are, or were, undergraduates at Caltech including Rahul Bachal and Ker Lee Yap. Rahul Bachal's Bachelors thesis is available from this site.