Skip to content
/ digi Public

An open source framework for building lightweight digital twins ("digi") and running them in a cloud-native architecture. Digis are programmable in Python, configurable via declarative API, and queryable for fast data analytics. One can compose digis to form control hierarchies and model sophisticated real-world interactions.

License

Notifications You must be signed in to change notification settings

abcsys/digi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Digi is an open-source framework for building lightweight digital twins (or "digis") and running them in a cloud-native architecture. With Digi, users can easily create digital representations of real-world objects or systems, and program them using Python and configure them using a declarative API. The digis are also queryable for fast in-situ data analytics, and can be composed to model complex real-world interactions. Digi provides a flexible and scalable solution for building digital twins, and is a great starting point for anyone looking to explore the potential of digital twins.

One can use Digi to build pervasive data apps consisting of digital twins for automation, data processing, and data analytics (e.g. in IoT, smart spaces, mobile) while orchestrating these apps at an appropriate scale, from a single node machine (Raspberry Pi, laptop) to a machine cluster in the cloud. Digi's runtime contains a collection of built-in "meta" digital twins, and users can easily extend the framework by adding new meta digis, in the same way as building the apps.

Digi is designed and implemented as an extension to Kubernetes, where a digi's configurations and run-time states are stored in the Kubernetes apiserver, which can be accessed and managed using existing cloud-native tooling. Digi organizes data processing pipelines as pipelets associated with each digi and leverages Zed to store and process the data generated or ingested by the pipelets.


Getting started

To get started with Digi, run the following commands: make dep and make install.

For more information on installation and frequently used commands, see the quickstart page.

As a hello-world example, one can use Digi to build a control hierarchy and query the digis in a smart space: Alt Text

Resources

Here are some resources to help you learn more about Digi:

More information:

About

An open source framework for building lightweight digital twins ("digi") and running them in a cloud-native architecture. Digis are programmable in Python, configurable via declarative API, and queryable for fast data analytics. One can compose digis to form control hierarchies and model sophisticated real-world interactions.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published