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

#17 in #bots

Download history 445/week @ 2024-01-04 407/week @ 2024-01-11 177/week @ 2024-01-18 47/week @ 2024-01-25 9/week @ 2024-02-01 145/week @ 2024-02-08 53/week @ 2024-02-15 115/week @ 2024-02-22 72/week @ 2024-02-29 168/week @ 2024-03-07 280/week @ 2024-03-14 215/week @ 2024-03-21 314/week @ 2024-03-28 174/week @ 2024-04-04 126/week @ 2024-04-11 137/week @ 2024-04-18

753 downloads per month
Used in 4 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–32MB
~540K SLoC