Skip to content

Latest commit

 

History

3,108 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

English | 简体中文

Dayu

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

NEWS
(Latest Release) Aug. 28th, 2026. Dayu v1.4 Release. Please check the CHANGELOG for details.
Jul. 2nd, 2026. Dayu v1.3 Release. Please check the CHANGELOG for details.
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 exposes Sedna RuntimeService as the immutable application-worker API and uses EdgeMesh's exact Service/Pod identity acknowledgement as the activation barrier.
  • 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 uses two documentation surfaces:

  • the project documentation site for public onboarding, tutorials, preparation, UI walkthroughs, case studies, and community pages
  • repository docs under docs/ for implementation-facing API contracts, templates, hooks, datasource behavior, lifecycle details, tests, and maintainer guidance
If you want to... Start here
follow end-user deployment tutorials project documentation site
get oriented in this repository docs/repository-quickstart.md
understand Dayu's core terms and runtime contracts docs/concepts.md
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
operate install, query, redeploy, or cleanup flows docs/operations/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

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

Ecosystem

Dayu is designed around the following ecosystem:

dayu-sedna and dayu-edgemesh are released as a matched pair for each supported Dayu version. Use the following compatibility matrix when installing or upgrading a deployment:

Dayu version dayu-sedna version dayu-edgemesh version
v1.4 v1.1 v1.1
v1.0 - v1.3 v1.0 or v1.1 v1.0 or v1.1

dayu-sedna and dayu-edgemesh must use the same minor version: pair v1.0 with v1.0, or v1.1 with v1.1.

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 validate-build
make lint-python
make python-syntax
make test-unit-integration
make test-component
make test-e2e
make coverage-python
make frontend-install
make frontend-test
make frontend-check
make check

make validate-build checks the Docker Bake image matrix against Dockerfiles and deployment templates. make check is the day-to-day aggregate gate. make coverage-python mirrors the Python coverage run used by hosted CI. make frontend-check runs formatting, the lifecycle state-machine tests, and the production build. 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
python tools/log_analysis.py --log path/to/exported-log.json.gz --output-format full-json --output-file path/to/full-report.json
python tools/log_analysis.py --log path/to/exported-log.json.gz --slo-seconds 2.0

Contact

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

Citation

If you use Dayu or its scheduling/runtime system in your research, please cite the following paper:

@inproceedings{zhou2026hier-ei,
  title = {Tackling the Imbalance in Video Analytics Pipelines with Hierarchical Embodied Intelligence},
  author = {Zhou, Wenhui and Xie, Lei and Ning, Jingyi and Cao, Shuyu and Wu, Hao and Peng, Qinghua and Fan, Long},
  booktitle = {IEEE INFOCOM 2026 - IEEE Conference on Computer Communications},
  year = {2026},
  pages={1--10},
  publisher = {IEEE},
  doi={10.1109/INFOCOM59046.2026.11571610}
}

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 documentation site for tutorial-oriented content and end-user guidance

Thanks for the following contributors:

Thanks for the following documentation contributors:

About

An auto scheduling system for stream data processing on distributed cloud-edge platforms

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

5 stars

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages