Skip to content
@ReactiveBayes

ReactiveBayes

Open source software for reactive, efficient and scalable Bayesian inference

Reactive Bayes

Open source software for reactive, efficient and scalable Bayesian inference.

Welcome to the Reactive Bayes organization! We develop and maintain a suite of Julia packages for probabilistic programming and Bayesian inference with a focus on reactive and message-passing based inference algorithms.

Ecosystem

Key Packages

  • RxInfer The central high-level probabilistic programming framework that enables reactive Bayesian inference on factor graphs through reactive message passing. It integrates tools including probabilistic graphical model definition and reactive message-based Bayesian inference.
  • ReactiveMP An efficient message passing-based Bayesian inference engine that implements the core algorithms and rules for performing high-performance, reactive message passing on factor graphs.
  • GraphPPL A probabilistic programming language for specifying probabilistic graphical models as factor graphs. It provides a high-level domain-specific language for model creation and works seamlessly with RxInfer for inference.
  • ExponentialFamily Extends Distributions.jl with comprehensive implementations of a collection of exponential family distributions.
  • Rocket A reactive programming framework providing core primitives for event handling and streaming for Julia, inspired by RxJS. It forms the backbone for reactive computations in the ecosystem.

Supporting Packages

  • ExponentialFamilyManifolds Provides manifold representations of exponential family distributions, enabling advanced optimization workflows with Manopt.jl. It facilitates efficient parameter tuning in natural parameter spaces.

  • ExponentialFamilyProjection Enables projection of (un-normalized) log probability density functions onto exponential family distributions. It uses optimization techniques from Manopt.jl and leverages ExponentialFamilyManifolds.jl.

  • BayesBase Defines and re-exports core methods and utilities for Bayesian computation. It provides a shared foundation for the Reactive Bayes ecosystem.

Our packages are designed to work together seamlessly to provide:

  • Reactive Inference: Real-time updates as new data arrives
  • Message Passing: Efficient inference through local computations
  • Scalability: Handle large models and datasets
  • Flexibility: Mix and match components for your specific needs

We welcome contributions from the community! Check out our individual package repositories for more details on how to get involved.

Popular repositories Loading

  1. RxInfer.jl RxInfer.jl Public

    Julia package for automated Bayesian inference on a factor graph with reactive message passing

    Jupyter Notebook 283 23

  2. Rocket.jl Rocket.jl Public

    Functional reactive programming extensions library for Julia

    Julia 189 19

  3. ReactiveMP.jl ReactiveMP.jl Public

    High-performance reactive message-passing based Bayesian inference engine

    Julia 109 14

  4. GraphPPL.jl GraphPPL.jl Public

    DSL for probabilistic models specification and probabilistic programming.

    Julia 35 5

  5. RxEnvironments.jl RxEnvironments.jl Public

    Reactive environments for self-learning agents

    Julia 21

  6. ExponentialFamily.jl ExponentialFamily.jl Public

    ExponentialFamily.jl is a Julia package that extends the functionality of Distributions.jl by providing a collection of exponential family distributions and customized implementations.

    Julia 13 2

Repositories

Showing 10 of 15 repositories
  • RxInfer.jl Public

    Julia package for automated Bayesian inference on a factor graph with reactive message passing

    ReactiveBayes/RxInfer.jl’s past year of commit activity
    Jupyter Notebook 283 MIT 23 20 (2 issues need help) 1 Updated Dec 9, 2024
  • GraphPPL.jl Public

    DSL for probabilistic models specification and probabilistic programming.

    ReactiveBayes/GraphPPL.jl’s past year of commit activity
    Julia 35 MIT 5 3 1 Updated Dec 9, 2024
  • ReactiveMP.jl Public

    High-performance reactive message-passing based Bayesian inference engine

    ReactiveBayes/ReactiveMP.jl’s past year of commit activity
    Julia 109 MIT 14 21 (1 issue needs help) 6 Updated Dec 9, 2024
  • .github Public
    ReactiveBayes/.github’s past year of commit activity
    0 0 0 0 Updated Nov 28, 2024
  • rxinfer-website Public

    Repository with content of RxInfer website for Hugo static site generator.

    ReactiveBayes/rxinfer-website’s past year of commit activity
    JavaScript 1 0 1 0 Updated Nov 26, 2024
  • ExponentialFamilyProjection.jl Public

    A library to project an arbitrary function to an exponential family member distribution with the manifold optimization

    ReactiveBayes/ExponentialFamilyProjection.jl’s past year of commit activity
    Julia 9 MIT 0 2 4 Updated Nov 26, 2024
  • ExponentialFamilyManifolds.jl Public

    Manifolds for the natural parameters of members of the exponential family of distributions

    ReactiveBayes/ExponentialFamilyManifolds.jl’s past year of commit activity
    Julia 5 MIT 0 1 3 Updated Nov 18, 2024
  • Rocket.jl Public

    Functional reactive programming extensions library for Julia

    ReactiveBayes/Rocket.jl’s past year of commit activity
    Julia 189 MIT 19 1 0 Updated Nov 16, 2024
  • ExponentialFamily.jl Public

    ExponentialFamily.jl is a Julia package that extends the functionality of Distributions.jl by providing a collection of exponential family distributions and customized implementations.

    ReactiveBayes/ExponentialFamily.jl’s past year of commit activity
    Julia 13 MIT 2 12 (1 issue needs help) 5 Updated Nov 5, 2024
  • BayesBase.jl Public

    BayesBase is a package that serves as an umbrella, defining, exporting, and re-exporting methods essential for Bayesian statistics

    ReactiveBayes/BayesBase.jl’s past year of commit activity
    Julia 1 MIT 1 1 1 Updated Oct 22, 2024