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 245

  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 280 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 358 55

  6. Bijectors.jl Bijectors.jl Public

    Implementation of normalising flows and constrained random variable transformations

    Julia 276 45

Repositories

Showing 10 of 26 repositories
  • DynamicPPL.jl Public

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

    TuringLang/DynamicPPL.jl's past year of commit activity
    Julia 280 MIT 41 41 (1 issue needs help) 9 Updated Sep 10, 2026
  • MCMCDiagnosticTools.jl Public

    Functionality for diagnosing samples generated using Markov Chain Monte Carlo.

    TuringLang/MCMCDiagnosticTools.jl's past year of commit activity
    Julia 22 10 8 1 Updated Sep 10, 2026
  • Turing.jl Public

    Bayesian inference with probabilistic programming.

    TuringLang/Turing.jl's past year of commit activity
    Julia 2,254 MIT 245 13 1 Updated Sep 7, 2026
  • JuliaBUGS.jl Public

    A domain specific language (DSL) for probabilistic graphical models

    TuringLang/JuliaBUGS.jl's past year of commit activity
    Julia 76 19 7 (1 issue needs help) 3 Updated Sep 7, 2026
  • docs Public

    Documentation and tutorials for the Turing language

    TuringLang/docs's past year of commit activity
    Markdown 238 MIT 106 30 0 Updated Sep 6, 2026
  • Bijectors.jl Public

    Implementation of normalising flows and constrained random variable transformations

    TuringLang/Bijectors.jl's past year of commit activity
    Julia 276 MIT 45 39 (2 issues need help) 0 Updated Sep 6, 2026
  • 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 358 MIT 55 39 10 Updated Sep 6, 2026
  • NormalizingFlows.jl Public

    Implementation of normalizing flows compatible with Bijectors.jl

    TuringLang/NormalizingFlows.jl's past year of commit activity
    Julia 53 MIT 7 4 0 Updated Sep 6, 2026
  • AdvancedVI.jl Public

    Implementation of variational Bayes inference algorithms

    TuringLang/AdvancedVI.jl's past year of commit activity
    Julia 107 MIT 22 4 2 Updated Sep 6, 2026
  • .github Public

    Organization-wide GitHub Actions and other metadata

    TuringLang/.github's past year of commit activity
    1 4 0 0 Updated Aug 31, 2026

Top languages

Loading…

Most used topics

Loading…