11 releases (5 breaking)

0.41.0 Sep 26, 2021
0.39.0 Sep 2, 2021
0.30.0-alpha.7 Jun 22, 2021
0.24.0 Mar 22, 2021

#12 in #bots

Download history 225/week @ 2024-07-25 52/week @ 2024-08-01 35/week @ 2024-08-08 84/week @ 2024-08-15 36/week @ 2024-08-22 87/week @ 2024-08-29 33/week @ 2024-09-05 80/week @ 2024-09-12 64/week @ 2024-09-19 66/week @ 2024-09-26 111/week @ 2024-10-03 47/week @ 2024-10-10 117/week @ 2024-10-17 136/week @ 2024-10-24 171/week @ 2024-10-31 195/week @ 2024-11-07

643 downloads per month
Used in 3 crates

Apache-2.0

270KB
7.5K SLoC

RillRate

Real-time UI for bots, microservices, and IoT

RillRate is a library that embeds a live web dashboard to your app.

Fast, embedded, with auto-layout and controls. No configuration is needed. Support: Rust, Python. Soon: Node.js, Java, C#.

  • It's fully custom - You add your own data streams with everything you want
  • It works in real-time! - NOT 5 secs real-time, it's 0.002 secs real-time 🚀
  • Zero-configuration - you don't need to install and configure any other software
  • Web-dashboard included - add the library to your app and connect to the dashboard with a web browser
  • Ferris-friendly - we created it using Rust only: from backed to UI 🦀

Become a sponsor to see how the project is born. Sponsors also get access to sources of the UI dashboard that made with the Yew Framework.

Join our reddit/rillrate community to stay tuned about all the new features we released every day!

Follow us on Twitter and watch or participate weekly competitions.

How to use it?

Add a dependency to your Cargo.toml:

[dependencies]
rillrate = "0.41.0"

Install the rillrate engine in the main function:

rillrate::install("my-app");

And create a Tracer to visualize data on the embedded dashboard:

let my_tracer = Pulse::new(
    "package.dashboard.group.tracer-name",
    FlowMode::Realtime,
    PulseOpts::default().min(0).max(50).higher(true)
);

When you tracer is spawned use it to put data to it:

tracer.push(value);

Packs

RillRate provides packs of components for different purposes.

Released:

  • Prime - basic elements

In progress:

  • APM - components for performance monitoring
  • Charts - all basic charts
  • Trade - live components for trading (order books, charts, etc.)

Project structure

The project consists of the following parts:

  • pkg-core (backend) - core components and the engine
  • pkg-dashboard (frontend) - the dashboard app and rendering routines
  • pkg-packs - tracers for different data stream types
  • rillrate - the main library that joins all the parts above
  • demo - the demo app

Frameworks

We use the following frameworks to build our product:

  • Yew Framework (frontend)
  • meio actor framework (backend)

The original idea was inspired by Nitrogen Web Framework (Erlang).


License

RillRate is provided under the Apache-2.0 license. See LICENSE.

The project is the Full-stack Rust app: both frontend and backend made with Rust.

Dependencies

~17–33MB
~502K SLoC