Skip to content
@TuringLang

The Turing Language

Bayesian inference with probabilistic programming

Turing.jl logo

Turing.jl is a Julia probabilistic programming package for Bayesian inference and likelihood-based estimation.

Current capabilities include:

Project scope

Turing is maintained as grant-funded research software. Development prioritises correctness, reproducibility, and stability within the documented scope.

Reports of incorrect results or unexpected failures should include a minimal reproducible example where practical. Maintenance and review capacity is necessarily limited.

Open code and reproducible research

Turing.jl is distributed under the MIT License. Its source code, tests, and documentation are public, allowing methods and implementations to be inspected and reused. Reproducible analyses should archive the analysis code and Julia project environment, and record data provenance, random seeds, and relevant computational settings.

Helping out

See the guidance for helping out with small fixes, new feature proposals, and reviewing. Questions about a scoped task may be raised on its issue, in the Turing channel on Julia Slack, or on Julia Discourse.

Citing Turing.jl

If you use Turing.jl in published work, please cite:

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, 1(3):1–48, 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},
  journal = {ACM Trans. Probab. Mach. Learn.},
  year = {2025},
  volume = {1},
  number = {3},
  pages = {1--48},
  month = aug,
  publisher = {Association for Computing Machinery},
  address = {New York, NY, USA},
  doi = {10.1145/3711897},
  url = {https://doi.org/10.1145/3711897},
}

@inproceedings{pmlr-v84-ge18b,
  author = {Ge, Hong and Xu, Kai and Ghahramani, Zoubin},
  title = {{Turing}: A Language for Flexible Probabilistic Inference},
  booktitle = {Proceedings of the Twenty-First International Conference on Artificial Intelligence and Statistics},
  editor = {Storkey, Amos and Perez-Cruz, Fernando},
  series = {Proceedings of Machine Learning Research},
  volume = {84},
  pages = {1682--1690},
  year = {2018},
  month = {09--11 Apr},
  publisher = {PMLR},
  pdf = {https://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.3k 244

  2. docs docs Public

    Documentation and tutorials for the Turing language

    Markdown 238 106

  3. DynamicPPL.jl DynamicPPL.jl Public

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

    Julia 279 41

  4. JuliaBUGS.jl JuliaBUGS.jl Public

    A domain specific language (DSL) for probabilistic graphical models

    Julia 76 19

  5. AdvancedHMC.jl AdvancedHMC.jl Public

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

    Jupyter Notebook 357 54

  6. Bijectors.jl Bijectors.jl Public

    Implementation of normalising flows and constrained random variable transformations

    Julia 276 45

Repositories

Showing 10 of 27 repositories

Top languages

Loading…

Most used topics

Loading…