Skip to content
@TuringLang

The Turing Language

Bayesian inference with probabilistic programming

Turing.jl is a general-purpose probabilistic programming language. Turing is implemented in the Julia language and allows the user to write probabilistic models using an intuitive @model syntax.

Turing provides a wide range of Monte-Carlo sampling and optimisation-based inference methods for performing inference on probabilistic models.

Current functionalities include:

Citing Turing.jl

If you have used Turing.jl in your work, we would be very grateful if you could cite the following:

Turing.jl: a general-purpose probabilistic programming language
Tor Erlend Fjelde, Kai Xu, David Widmann, Mohamed Tarek, Cameron Pfiffer, Martin Trapp, Seth D. Axen, Xianda Sun, Markus Hauru, Penelope Yong, Will Tebbutt, Zoubin Ghahramani, Hong Ge
ACM Transactions on Probabilistic Machine Learning, 2025

Turing: A Language for Flexible Probabilistic Inference
Hong Ge, Kai Xu, Zoubin Ghahramani
Proceedings of the Twenty-First International Conference on Artificial Intelligence and Statistics, PMLR 84:1682-1690, 2018.

Expand for BibTeX
@article{10.1145/3711897,
author = {Fjelde, Tor Erlend and Xu, Kai and Widmann, David and Tarek, Mohamed and Pfiffer, Cameron and Trapp, Martin and Axen, Seth D. and Sun, Xianda and Hauru, Markus and Yong, Penelope and Tebbutt, Will and Ghahramani, Zoubin and Ge, Hong},
title = {Turing.jl: a general-purpose probabilistic programming language},
year = {2025},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/3711897},
doi = {10.1145/3711897},
note = {Just Accepted},
journal = {ACM Trans. Probab. Mach. Learn.},
month = feb,
}

@InProceedings{pmlr-v84-ge18b,
  title = 	 {Turing: A Language for Flexible Probabilistic Inference},
  author = 	 {Ge, Hong and Xu, Kai and Ghahramani, Zoubin},
  booktitle = 	 {Proceedings of the Twenty-First International Conference on Artificial Intelligence and Statistics},
  pages = 	 {1682--1690},
  year = 	 {2018},
  editor = 	 {Storkey, Amos and Perez-Cruz, Fernando},
  volume = 	 {84},
  series = 	 {Proceedings of Machine Learning Research},
  month = 	 {09--11 Apr},
  publisher =    {PMLR},
  pdf = 	 {http://proceedings.mlr.press/v84/ge18b/ge18b.pdf},
  url = 	 {https://proceedings.mlr.press/v84/ge18b.html},
}

Pinned Loading

  1. Turing.jl Turing.jl Public

    Bayesian inference with probabilistic programming.

    Julia 2.2k 230

  2. docs docs Public

    Documentation and tutorials for the Turing language

    Markdown 236 105

  3. DynamicPPL.jl DynamicPPL.jl Public

    Implementation of domain-specific language (DSL) for dynamic probabilistic programming

    Julia 246 37

  4. JuliaBUGS.jl JuliaBUGS.jl Public

    A domain specific language (DSL) for probabilistic graphical models

    Julia 60 15

  5. AdvancedHMC.jl AdvancedHMC.jl Public

    Robust, modular and efficient implementation of advanced Hamiltonian Monte Carlo algorithms

    Jupyter Notebook 314 47

  6. Bijectors.jl Bijectors.jl Public

    Implementation of normalising flows and constrained random variable transformations

    Julia 257 41

Repositories

Showing 10 of 30 repositories
  • DynamicPPL.jl Public

    Implementation of domain-specific language (DSL) for dynamic probabilistic programming

    TuringLang/DynamicPPL.jl’s past year of commit activity
    Julia 246 MIT 37 73 (1 issue needs help) 6 Updated Nov 5, 2025
  • Turing.jl Public

    Bayesian inference with probabilistic programming.

    TuringLang/Turing.jl’s past year of commit activity
    Julia 2,181 MIT 230 79 10 Updated Nov 5, 2025
  • Libtask.jl Public

    Resumable and copyable functions a.k.a. coroutines for Julia, with optional function-specific globals.

    TuringLang/Libtask.jl’s past year of commit activity
    Julia 20 MIT 10 7 1 Updated Nov 5, 2025
  • docs Public

    Documentation and tutorials for the Turing language

    TuringLang/docs’s past year of commit activity
    Markdown 236 MIT 105 47 (2 issues need help) 4 Updated Nov 5, 2025
  • AbstractMCMC.jl Public

    Abstract types and interfaces for Markov chain Monte Carlo methods

    TuringLang/AbstractMCMC.jl’s past year of commit activity
    Julia 97 MIT 19 22 1 Updated Nov 5, 2025
  • SSMProblems.jl Public

    State space programming

    TuringLang/SSMProblems.jl’s past year of commit activity
    Julia 5 MIT 3 26 5 Updated Nov 4, 2025
  • Bijectors.jl Public

    Implementation of normalising flows and constrained random variable transformations

    TuringLang/Bijectors.jl’s past year of commit activity
    Julia 257 MIT 41 54 (2 issues need help) 4 Updated Nov 3, 2025
  • AdvancedMH.jl Public

    Robust implementation for random-walk Metropolis-Hastings algorithms

    TuringLang/AdvancedMH.jl’s past year of commit activity
    Julia 116 MIT 22 14 2 Updated Nov 3, 2025
  • MCMCDiagnosticTools.jl Public

    Functionality for diagnosing samples generated using Markov Chain Monte Carlo.

    TuringLang/MCMCDiagnosticTools.jl’s past year of commit activity
    Julia 20 7 6 1 Updated Nov 2, 2025
  • AdvancedHMC.jl Public

    Robust, modular and efficient implementation of advanced Hamiltonian Monte Carlo algorithms

    TuringLang/AdvancedHMC.jl’s past year of commit activity
    Jupyter Notebook 314 MIT 47 38 10 Updated Nov 2, 2025