# probcomp/Gen.jl

A general-purpose probabilistic programming system with programmable inference

Repository: https://github.com/probcomp/Gen.jl
Canonical: https://ross.abutalabs.com/products/genjl
Homepage: https://gen.dev
Language: Julia
License: Apache-2.0
License Family: permissive
Topics: probabilistic-programming, gen, deep-learning, bayesian, computer-vision, machine-learning, differentiable-programming, robotics, julia-language
Last push: 2026-06-09T00:09:14+00:00

## Health v2 (maintenance only)
Score: 62/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 86, release rhythm 8, longevity 100
- inputs: {"age_days": 2934, "days_push": 86, "days_rel": 418, "gap_med": 308, "n_releases_24m": 2}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1850, forks 164 (observed 2026-08-28T04:05:44.203404+00:00)

## What it is
Gen.jl is a general-purpose probabilistic programming system embedded in Julia that lets users write generative models as probabilistic programs and perform Bayesian inference on them. It provides programmable inference algorithms including MCMC, sequential Monte Carlo, and variational inference, with APIs for building custom proposals, kernels, and variational families without extending the compiler.

## Use cases
- write generative models as probabilistic programs in julia
- run bayesian inference with mcmc or sequential monte carlo
- train generative models with gradient-based parameter optimization
- build custom inference algorithms like mcmc kernels and smc updates
- combine neural networks with model-based probabilistic inference
- perform bayesian structure learning with involutive mcmc
- speed up inference on models with dynamic stochastic structure
- implement custom distributions and generative functions with well-defined apis

## When to choose
- you need programmable inference beyond a fixed engine, with custom proposals, kernels, or variational families
- you want to write generative models in an expressive julia-based modeling language
- you need hybrid algorithms mixing neural networks, variational inference, SMC, and MCMC
- your models have dynamic or stochastic structure requiring incremental computation
- you work in julia and want automatic differentiation plus inference-specific operations

## When to avoid
- you need a production ML stack in python or another ecosystem
- you only need standard supervised deep learning without probabilistic modeling
- you require a turnkey inference engine with no algorithm customization
- your team cannot work in julia or with research-grade tooling

## Facets
- artifact type: library
- maturity: active
- function: machine-learning, deep-learning, simulation, math, parser
- domain: machine-learning, artificial-intelligence, deep-learning, computer-vision, robotics, programming-languages
- platform: jvm, windows, cli
- tags: probabilistic-programming, bayesian-inference, julia, generative-models, monte-carlo, variational-inference, mcmc, differentiable-programming, statistical-modeling, inference-algorithms, algorithms, linux, macos

## Member repositories
- probcomp/Gen.jl (main) score 62

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:44.203404+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T03:17:14.696264+00:00, confidence not recorded.
  - readme: https://github.com/probcomp/Gen.jl (fetched 2026-08-28T04:05:44.203404+00:00, sha f1a5d2e773be)
  - homepage: https://gen.dev (fetched 2026-08-29T10:56:15.338450+00:00, sha 10e239260e6b)
  - site_page: https://www.gen.dev/docs (fetched 2026-08-29T10:56:15.347928+00:00, sha 670649689555)
- Data as of 2026-08-30T08:39:29.467469+00:00.
