This repository contains a collection of examples for RxInfer.jl, a Julia package for reactive message passing and probabilistic programming.
Navigate to the Examples page to check the pre-rendered examples or clone the repository and run the examples locally. Additionally, explore the official RxInfer.jl documentation.
- Julia
Weave.jlinstalled globally, it is used to convert the notebooks to markdown:julia -e 'using Pkg; Pkg.add("Weave")'- Node.js with
nodeavailable on yourPATH.make docsbuilds with Documenter'sprerender = true, which shells out tonodeto apply syntax highlighting at build time rather than in the reader's browser. Without it the documentation still builds, butmake docswarns and code blocks fall back to client-side highlighting.
-
Clone the repository:
git clone https://github.com/ReactiveBayes/RxInferExamples.jl.git
-
Build the examples:
make examples
-
Build and preview the documentation:
make docs make preview
Note
If you make changes to an example and still see old errors after rebuilding, try clearing the cache first with the make clean command.
All the examples are Jupyter notebooks, which also can be run with Jupyter. An example that uses a factor node RxInfer does not load, such as ContinuousTransition or Flow, loads the node's package itself and lists it in its Project.toml (see the contribution guide). Note, however, that the automatic build process
merges the dependencies in all the examples into one single temporary environment. This means that dependencies can be resolved differently when running examples individually in comparison with the automatic build process.
Most of the examples are available on the official website. Some examples, however, cannot be converted to a static HTML file and thus are placed under interactive/ folder. Those examples can only be executed inside Jupyter notebook environment (or a plugin like in VSCode) as they may require some features that are not available in pure HTML.
We welcome contributions! Please check our contribution guide for guidelines.
This repository is licensed under the MIT License. See LICENSE for details.