Skip to content

dayu-autostreamer/dayu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2,764 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

English | 简体中文

Dayu

Version CI CircleCI Project Codecov Licence Homepage OpenSSF Scorecard OpenSSF Best Practices Contributor Covenant

NEWS
(Latest Release) Jan. 15th, 2026. Dayu v1.2 Release. Please check the CHANGELOG for details.
May. 7th, 2025. Dayu v1.1 Release. Please check the CHANGELOG for details.
Feb. 21th, 2025. Dayu v1.0 Release. Please check the CHANGELOG for details.

Dayu is a cloud-edge stream analytics platform for deploying, scheduling, and operating DAG-based AI pipelines across heterogeneous nodes. It combines a backend control plane, a Vue frontend, simulated datasources, and a runtime collaboration layer for generator, scheduler, controller, processor, distributor, and monitor services.

Why Dayu

  • DAG-based multi-stage stream analytics with dynamic task configuration and offloading
  • Hook-based runtime extension for generator, scheduler, processor, monitor, and visualization behavior
  • Built-in deployment composition using policy catalogs, component templates, and processor service templates
  • Backend-managed result visualization, system telemetry snapshots, and compressed log export
  • Compatibility with heterogeneous cloud and edge nodes through a KubeEdge and Sedna oriented deployment model

Architecture at a Glance

Dayu is composed of five layers:

  • Basic System Layer: This layer adopts the KubeEdge architecture and is deployed on all distributed nodes across the cloud-edge environment. KubeEdge is the Kubernetes extension proposed by Huawei for edge scenarios and can be well deployed on devices with limited resources and low performance.
  • Intermediate Interface Layer: This layer is designed to offer customized service installation and component communication, through modifying and expanding official interface component Sedna and communication component Edgemesh.
  • System Support Layer: This layer is designed to offer interactive ui (frontend), automatic installation (backend), and simulation datasource (datasource) for users.
  • Collaboration Scheduling Layer: This layer is composed of functional components independently developed by us to complete functions such as pipeline task execution and scheduling collaboration.
  • Application Service Layer: This layer accepts user-defined service applications. As long as the user develops service according to the interface requirements defined by the platform, it can be embedded in the platform as a container and complete execution across cloud-edge nodes.

Tutorials and Guides

To get detailed instructions about our dayu system, please refer to the documentation on the homepage.

Please refer to our quick start tutorial for a quick start of the dayu system.

If you want to further develop dayu for your needs, please refer to our development tutorial.

Implementation Documentation

Dayu now keeps implementation-facing technical documentation in the repository, while the public website remains the best place for tutorials and end-user walkthroughs.

If you want to... Start here
understand the system design docs/architecture/README.md
understand how policies, templates, and env vars fit together docs/configuration/README.md
inspect backend and runtime APIs docs/api/README.md
understand the hook model and built-in aliases docs/hooks/README.md and docs/hooks/catalog.md
work on datasource playback and manifests docs/datasource/README.md
navigate the repository as a contributor docs/development/README.md
understand test layers and where to add coverage docs/testing/README.md
follow end-user deployment tutorials project documentation site

The repository docs index lives at docs/README.md.

Ecosystem

Dayu is designed around the following ecosystem:

Dayu also depends on the maintained companion work around Sedna and EdgeMesh integration:

Local Testing

To align local testing with CI, use the repository-declared toolchain:

Python developer dependencies are collected in requirements-dev.txt, and Python lint configuration lives in pyproject.toml.

Use the provided Makefile targets for local feedback loops:

make install-python-dev
make lint-python
make python-syntax
make test-unit-integration
make test-component
make test-e2e
make coverage-python
make frontend-install
make frontend-check
make check

make check is the day-to-day aggregate gate. make coverage-python mirrors the Python coverage run used by hosted CI. make frontend-lint remains available as a cleanup target while the frontend template debt continues to be reduced incrementally.

Repository Layout

Path Purpose
backend/ backend APIs, orchestration, deployment rendering, visualization, and log export
frontend/ Vue-based control-plane UI
datasource/ datasource supervisor, HTTP video source, RTSP source, and manifest-driven dataset loader
components/ thin container-facing service entrypoints
dependency/core/ runtime services, shared libraries, hook implementations, and application services
template/ deployment catalogs, component templates, processor templates, and default visualization configs
config/ sample datasource and visualization inputs
docs/ repository-managed technical documentation
tests/ unit, integration, component, and e2e tests
tools/ developer and operations utilities

Developer Tooling

The repository includes an offline CLI for summarizing exported logs:

python tools/log_analysis.py --log path/to/exported-log.json.gz
python tools/log_analysis.py --log path/to/exported-log.json.gz --output-format json

Contact

If you have questions, feel free to reach out to us in the following ways:

License

Dayu is licensed under Apache 2.0. See the LICENSE file for details.

Contributing

If you want to contribute code, docs, or tests:

  • read CONTRIBUTING for the patch and review workflow
  • use the repository docs under docs/ as the implementation-facing reference
  • use the dayu homepage for tutorial-oriented content and end-user guidance

Thanks for the following contributors:

Thanks for the following documentation contributors:

Packages

 
 
 

Contributors