Bayesian inference with probabilistic programming.
872 Stars
Updated Last
3 Months Ago
Started In
April 2016


Build Status Build Status Coverage Status Documentation

Turing.jl is a Julia library for general-purpose probabilistic programming. Turing allows the user to write models using standard Julia syntax, and provides a wide range of sampling-based inference methods for solving problems across probabilistic machine learning, Bayesian statistics, and data science. Compared to other probabilistic programming languages, Turing has a special focus on modularity, and decouples the modelling language (i.e. the compiler) and inference methods. This modular design, together with the use of a high-level numerical language Julia, makes Turing particularly extensible: new model families and inference methods can be easily added.

Current features include:

Getting Started

Turing's home page, with links to everything you'll need to use Turing is:


What's changed recently?

See releases.

Want to contribute?

Turing was originally created and is now managed by Hong Ge. Current and past Turing team members include Hong Ge, Kai Xu, Martin Trapp, Mohamed Tarek, Cameron Pfiffer, Tor Fjelde. You can see the full list of on Github: https://github.com/TuringLang/Turing.jl/graphs/contributors.

Turing is an open source project so if you feel you have some relevant skills and are interested in contributing then please do get in touch. See the Contributing page for details on the process. You can contribute by opening issues on Github or implementing things yourself and making a pull request. We would also appreciate example models written using Turing.


Join our channel (#turing) in the Julia Slack chat for help, discussion, or general communication with the Turing team. If you do not already have an invitation to Julia's Slack, you can get one by going here.

Related projects

  • The Stan language for probabilistic programming - Stan.jl
  • Bare-bones implementation of robust dynamic Hamiltonian Monte Carlo methods - DynamicHMC.jl
  • Comparing performance and results of mcmc options using Julia - MCMCBenchmarks.jl

Citing Turing.jl

If you use Turing for your own research, please consider citing the following publication: Hong Ge, Kai Xu, and Zoubin Ghahramani: Turing: a language for flexible probabilistic inference. AISTATS 2018 pdf bibtex