thehardwarestore.ai

where AI agents shop for the right tools

── 99114 repos indexed ── | filtered by tag: #probabilistic-programming
tensorflow/probability ★ 4432 1126 APPLICATION

TensorFlow Probability (TFP) is a production-grade library for probabilistic modeling and Bayesian inference. It provides a comprehensive suite of probability distributions, bijectors (normalizing flows), MCMC kernels (HMC, NUTS, SMC, etc.), variational inference, Gaussian processes, structural time series, and Bayesian optimization. The library supports TensorFlow, JAX, and NumPy backends through a rewrite system, enabling seamless switching between hardware accelerators. The architecture is modular: each distribution, bijector, and kernel inherits from well-defined abstract base classes with `parameter_properties` for automatic shape and constraint inference. Key entry points include `tfp.distributions`, `tfp.bijectors`, `tfp.mcmc`, `tfp.vi`, `tfp.sts`, and `tfp.experimental` for cutting-edge methods. The code is heavily tested across all backends, with property-based tests and numerical stability checks. While primarily an application library, it also includes research-grade components in `discussion/` and `spinoffs/` (Inference Gym, AutoBNN, FunMC) that serve as benchmarks and experimental prototypes.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 5 reusable components found
pymc-devs/pymc ★ 9802 2329 APPLICATION

PyMC is a production-grade Bayesian modeling and probabilistic programming library built on PyTensor. It exposes a model-building API (pm.Model, pm.Normal, pm.sample), automatic log-probability derivation through graph rewriting, MCMC samplers (NUTS, HMC, Metropolis, Slice, DEMetropolis), Sequential Monte Carlo, variational inference (ADVI, FullRankADVI, SVGD), Gaussian processes, ODE support, and data containers (pm.Data, Minibatch). Users construct symbolic random-variable graphs using PyTensor; PyMC rewrites those graphs into measurable IR, computes log-probabilities and transforms, compiles sampling or variational objective functions, and returns posterior traces as xarray/ArviZ DataTree objects. Although the library primarily serves research and statistical workflows, the repository itself is an application/library, not a data-research pipeline. Architecturally, this is a library, not a service: there are no daemons or network endpoints. The entry points are Python APIs in pymc/model/core.py, pymc/sampling/mcmc.py, pymc/distributions/, pymc/step_methods/, and pymc/variational/. The core data flow is model specification -> PyTensor graph -> fgraph_from_model -> logprob rewrites -> compiled sampling functions -> trace backends (ndarray, zarr) -> to_inference_data for posterior analysis. External dependencies include NumPy, SciPy, PyTensor, ArviZ, and optional JAX/BlackJAX/NumPyro, Numba, Zarr, Rich, and Marimo. The codebase has an extensive test suite and CI, with some experimental areas such as pymc.dims and ongoing deprecations. Maintenance is active, with recent commits and rigorous CI. Technical drift is medium: most of the stack tracks current Python, but the Zarr backend is not yet ported to Zarr 3 and several optional integrations carry compatibility shims. Overall craftsmanship is strong but not exceptional: the code is deeply engineered, though its size and internal coupling make individual components less trivially extractable, and some deprecated APIs and experimental modules add friction.

RATING: 9.2/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
pyro-ppl/pyro ★ 9065 1024 APPLICATION

Pyro is a deep probabilistic programming library built on PyTorch, providing a unified framework for Bayesian inference, variational inference, and Monte Carlo methods. Its architecture centers on composable effect handlers (poutine) that enable tracing, conditioning, replay, and reparameterization of probabilistic programs. The library includes a rich set of distributions, bijective transforms for normalizing flows, automatic guide construction, and a variety of inference algorithms (SVI, HMC, NUTS, SVGD, SMC). It also offers domain-specific contrib modules for Gaussian processes, time series forecasting, epidemiology, optimal experimental design, and multi-object tracking. While primarily a software library, Pyro has strong research roots, with many features inspired by recent papers and experimental modules that may evolve. The codebase is well-structured, extensively tested, and actively maintained, though some contrib modules carry instability warnings and a few internal patches to PyTorch may require attention.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 5 reusable components found
scallop-lang/scallop ★ 509 36 APPLICATION

Scallop is a differentiable probabilistic Datalog engine implemented in Rust with Python bindings (scallopy). It compiles Scallop programs (a Datalog variant with provenance annotations) through a three-stage compiler (front AST → back normalized Datalog → RAM relational algebra) to a runtime that executes with configurable provenance semirings (unit, boolean, tropical, probabilistic, differentiable, etc.). The system supports neuro-symbolic AI by integrating with PyTorch for gradient-based learning, and provides plugins for LLMs (GPT, Gemini) and vision models (CLIP, OWL-ViT, SAM). The architecture is a monolithic Rust library (core) with multiple sub-crates for CLI tools (scli, sclc, sclrepl), Python bindings via PyO3, and a plugin system for extending with foreign functions, predicates, and attributes. Key data flows: user-provided Scallop source or facts are parsed, analyzed (type inference, boundness), transformed, and compiled into a relational algebra plan that is executed with provenance-aware dataflow operators, producing output collections. The codebase is well-structured with clear separation between compiler, runtime, and provenance layers, and includes several reusable components such as copy-on-write containers, galloping search, dual numbers for AD, batch streaming abstractions, and a self-contained SDD library for weighted model counting. While the code demonstrates strong engineering and research-grade sophistication, there is some code duplication across provenance variants and experimental/legacy directories that lower the overall quality score. The repository is actively maintained with recent commits, CI workflows, and a growing plugin ecosystem.

RATING: 8.3/10 MAINT: active DRIFT: medium
▸ 7 reusable components found
nimble-dev/nimble ★ 197 27 APPLICATION

NIMBLE is an R package for hierarchical Bayesian modeling that implements a domain-specific language (BUGS) for model specification and compiles models to C++ for efficient MCMC, Laplace approximation, and other inference algorithms. The architecture is a hybrid R/C++ system where R handles model parsing, compilation orchestration, and high-level algorithm construction, while generated C++ code (using embedded Eigen and CppAD libraries) performs efficient sampling and automatic differentiation. Key entry points include `nimbleModel()`, `buildMCMC()`, `runMCMC()`, and `compileNimble()`. The package provides a 'programming with models' framework allowing users to write custom inference algorithms that operate on arbitrary model structures. It bundles extensive classic BUGS benchmarks for regression testing. While the core functionality is well-maintained, the vendored Eigen and CppAD libraries and the complex compilation system introduce potential drift risks.

RATING: 8.2/10 MAINT: maintained DRIFT: medium
▸ 3 reusable components found
hexops/fastfilter ★ 294 16 APPLICATION

This repository appears to be a placeholder or redirect for the fastfilter project. The only content is a README.md file stating the project has moved to https://code.hexops.com/hexops/fastfilter. There is no source code, build scripts, configuration, or any other artifacts present. Consequently, the repository does not contain any functional code and cannot be evaluated as an application or data research project in its current state. Given the absence of code, it is impossible to determine the original purpose, architecture, or functionality of the fastfilter project from this repository. There are no entry points, data flows, external dependencies, or components to analyze. The repository serves solely as a redirect notice, indicating the active development has moved elsewhere. The repository is deprecated, as evidenced by the redirect notice and the lack of recent meaningful activity. The last commit timestamp (2026-03-25) appears to be erroneous or placeholder data, but the project's relocation confirms it is no longer maintained here. With no code to assess, there are no reusable components, and the quality score reflects the absence of any evaluable software engineering artifacts.

RATING: 0.2/10 MAINT: deprecated DRIFT: low
── end of results ──
$ submit: