Rocket.jl now interoperates with Observables.jl (and Makie) | v1.9.0

Hi all,

Rocket.jl is a reactive programming library for Julia, directly inspired by RxJS/ReactiveX — observables, subjects, schedulers, and a large set of composable operators (map, filter, scan, combine_latest, throttling, error handling, …).

The latest version adds a compatibility layer with Observables.jl, which loads automatically as a package extension whenever both packages are present (Julia ≥ 1.9). It works in both directions:

  • A Rocket source (a subject or an operator pipeline) can be turned into a regular Observable with a single Observable(source) call, so it drives a Makie plot like any other observable.
  • Any Observables.Observable (e.g. a Makie slider’s value) is a valid Rocket source — you can subscribe! to it and run it through the full Rocket operator pipeline.

The practical upshot: you can use Rocket as a drop-in replacement for Observables.jl in Makie, while getting a much richer operator toolbox for expressing reactive logic.

There’s a docs page with a comparison table and runnable Rocket → Makie and Makie → Rocket examples:

This is a new feature, so feedback is very welcome! Please give it a try and let me know how it goes. If you run into bugs or have suggestions, open an issue here: Issues · ReactiveBayes/Rocket.jl · GitHub

7 Likes