Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
74 commits
Select commit Hold shift + click to select a range
365fe16
Tweak sample counts and other details in tests (#2433)
mhauru Dec 14, 2024
700a19a
Implement getstepsize() for NoAdaptation samplers (#2405)
penelopeysm Dec 17, 2024
2707d12
Update for proposed DynamicPPL 0.32 (#2419)
penelopeysm Dec 18, 2024
9e5467a
Replace old Gibbs sampler with the experimental one. (#2328)
mhauru Dec 19, 2024
23b892e
CompatHelper: add new compat entry for AbstractPPL at version 0.9 for…
github-actions[bot] Dec 19, 2024
25d2023
CompatHelper: add new compat entry for BangBang at version 0.4 for pa…
github-actions[bot] Dec 19, 2024
1c60b7a
Increase atol on specific tests for x86 (#2449)
penelopeysm Dec 20, 2024
2b8d509
CompatHelper: add new compat entry for Combinatorics at version 1 for…
github-actions[bot] Dec 20, 2024
0c3d3d0
CompatHelper: bump compat for AbstractPPL to 0.10 for package test, (…
github-actions[bot] Dec 20, 2024
7d6f8ed
Rework Gibbs constructors (#2456)
mhauru Jan 8, 2025
11944c9
Replace Gibbs inner loop with recursion (#2464)
mhauru Jan 15, 2025
24d5556
Remove mention of GibbsConditional from API docs (#2467)
mhauru Jan 15, 2025
8bf98e1
Update for DynamicPPL 0.33 and 0.34 (#2459)
penelopeysm Jan 23, 2025
ea35bb7
Fix a Gibbs bug with models where linking changes variable dimension …
mhauru Jan 23, 2025
eb08db0
Pin AdvancedPS test dep to 0.6.0 (#2482)
penelopeysm Jan 27, 2025
ddd74b1
Documentation and Turing Navigation CI improvement (#2484)
shravanngoswamii Feb 9, 2025
7b43f58
Return NaN for negative ModeResult variance estimates (#2471)
frankier Feb 18, 2025
6f06e9f
Fixing doc import by prefixing `DynamicPPL` to `predict` (#2489)
sunxd3 Feb 20, 2025
cb61767
Remove x86 CI (#2495)
penelopeysm Feb 25, 2025
ef6c257
Simplify tests (#2496)
penelopeysm Feb 25, 2025
3cab967
Default branch rename
penelopeysm Mar 3, 2025
1397d69
Make Gibbs work with step_warmup (#2502)
mhauru Mar 11, 2025
38fa2d6
CompatHelper: bump compat for AdvancedHMC to 0.7, (keep existing comp…
github-actions[bot] Mar 17, 2025
e4cd6a2
Release v0.37 (#2487)
mhauru Mar 19, 2025
afb5c44
Add check_model argument to optimisation (#2518)
penelopeysm Mar 27, 2025
fc32e10
Add PR auto assign workflow (#2528)
penelopeysm Apr 7, 2025
8b7c571
Use TuringLang/actions/Format (i.e. pin JuliaFormatter to v1)
penelopeysm May 4, 2025
3901096
DocsGHA: Grant write permission to pull-requests event (#2544)
shravanngoswamii May 7, 2025
a3f0923
DynamicPPL 0.36 (#2535)
penelopeysm May 8, 2025
05110bd
Update docstrings to account for non-identity varnames (#2546)
penelopeysm May 9, 2025
5acc97f
DynamicPPL 0.36.3 (#2553)
penelopeysm May 19, 2025
2583863
Increase test sample count (#2556)
mhauru May 20, 2025
f184d3f
Delete benchmarks (#2558)
yebai May 21, 2025
c38abda
CompatHelper: bump compat for MCMCChains to 7, (keep existing compat)…
github-actions[bot] May 24, 2025
b511385
Fix various methods for on empty varinfo (#2561)
penelopeysm May 27, 2025
411a341
fix typo in changelog
penelopeysm May 27, 2025
dea5d19
Refactor HMC initialisation code (#2567)
penelopeysm May 29, 2025
1a70627
Remove AD backend loops in test suite (#2564)
penelopeysm May 29, 2025
43a614b
Disable Mooncake on prerelease; bump min Julia to 1.10.2; regroup CI …
penelopeysm May 30, 2025
7c12485
CompatHelper: add new compat entry for ADTypes at version 1 for packa…
github-actions[bot] May 30, 2025
d74cb3d
Reorganise code in `src/mcmc/Inference.jl` (#2573)
penelopeysm Jun 3, 2025
e0e84c1
Add merge queue trigger for relevant workflows
penelopeysm Jun 3, 2025
c2605d5
Rename `mcmc/sample.jl` to `mcmc/abstractmcmc.jl` (#2576)
yebai Jun 4, 2025
6b0aae3
CompatHelper: bump compat for ForwardDiff to 1, (keep existing compat…
github-actions[bot] Jun 4, 2025
58232e4
CompatHelper: bump compat for AdvancedHMC to 0.8, (keep existing comp…
github-actions[bot] Jun 5, 2025
9cc5be9
Release: [email protected] (#2517)
penelopeysm Jun 5, 2025
909e66a
update docs/make.jl with stable version of AdvancedVI
penelopeysm Jun 6, 2025
079083f
[no ci] add workflow_dispatch to docs workflow
penelopeysm Jun 6, 2025
e84aec1
Bump tag for GHA (#2586)
penelopeysm Jun 6, 2025
8be9094
Fix imports (#2589)
penelopeysm Jun 12, 2025
7ebde76
Remove `DynamicPPL.alg_str` tests (#2591)
penelopeysm Jun 19, 2025
97c3bc7
Set minimum of OrderedLogistic distribution to 1 (#2603)
Noricc Jun 26, 2025
7638c01
Fix performance of `getparams` on untyped vi (#2605)
penelopeysm Jun 26, 2025
2d3f228
Gibbs test | Fix dynamic model test in Gibbs sampler suite (#2579)
AoifeHughes Jun 27, 2025
af3d143
Modernise README (#2575)
penelopeysm Jul 5, 2025
abbec12
Replace 2018 AISTATS conference paper with the latest 2025 ACM paper …
sunxd3 Jul 7, 2025
1aa95ac
Bump AbstractPPL to 0.12 (#2614)
penelopeysm Jul 8, 2025
add8870
Update logp in varinfo when external samplers are used (#2616)
penelopeysm Jul 15, 2025
a5408fb
[email protected] compat (#2620)
penelopeysm Jul 17, 2025
16b047f
AdvancedPS v0.7 (and thus Libtask v0.9) support (#2585)
mhauru Jul 21, 2025
95d7c83
Add changelog (#2622)
penelopeysm Jul 21, 2025
618dc2c
Bump patch in Project.toml (#2623)
penelopeysm Jul 21, 2025
23b92eb
Fix typos in README.md (#2624)
xukai92 Jul 22, 2025
d0510b1
Avoid splitting up varnames until absolutely necessary (#2632)
penelopeysm Jul 28, 2025
e26820f
Fix externalsampler interface (#2640)
penelopeysm Aug 1, 2025
74c1c1c
fix changelog typo
penelopeysm Aug 1, 2025
97bcf89
CompatHelper: bump compat for DataStructures to 0.19, (keep existing …
github-actions[bot] Aug 4, 2025
d75e6f2
fixed bug with logo in wrong url, was upsetting me (#2648)
AoifeHughes Aug 7, 2025
2a6e067
[breaking] v0.40.0 (#2587)
penelopeysm Aug 12, 2025
4862ad6
gratuitous patch thanks github
penelopeysm Aug 12, 2025
ac93c30
Improve error message for initialization failures with troubleshootin…
AoifeHughes Aug 13, 2025
5a3f7aa
Suppress info message with verbose=false (#2657)
penelopeysm Aug 18, 2025
ff534c8
Merge branch 'master' into torfjelde/marginalisation-integration
ElOceanografo Aug 22, 2025
68e3db6
Get MLD extension working
ElOceanografo Aug 22, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 1 addition & 8 deletions .JuliaFormatter.toml
Original file line number Diff line number Diff line change
@@ -1,11 +1,4 @@
style="blue"
format_markdown = true
import_to_using = false
# TODO
# We ignore these files because when formatting was first put in place they were being worked on.
# These ignores should be removed once the relevant PRs are merged/closed.
ignore = [
# https://github.com/TuringLang/Turing.jl/pull/2328/files
"src/experimental/gibbs.jl",
"test/experimental/gibbs.jl",
]
ignore = ["README.md"]
24 changes: 8 additions & 16 deletions .github/workflows/Docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,12 @@ name: Documentation
on:
push:
branches:
- master
- main
tags: '*'
pull_request:
branches:
- master
merge_group:
types: [checks_requested]
workflow_dispatch:

concurrency:
# Skip intermediate builds: always.
Expand All @@ -17,21 +18,12 @@ concurrency:

permissions:
contents: write
pull-requests: read
statuses: write
pull-requests: write

jobs:
docs:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@latest
with:
version: '1'
- name: Install dependencies
run: julia --project=docs/ -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate()'
- name: Build and deploy
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }}
run: julia --project=docs/ docs/make.jl
- name: Build and deploy Documenter.jl docs
uses: TuringLang/actions/DocsDocumenter@main
54 changes: 22 additions & 32 deletions .github/workflows/DocsNav.yml
Original file line number Diff line number Diff line change
@@ -1,49 +1,39 @@
name: Add Navbar
name: Rebuild docs with newest navbar

on:
page_build: # Triggers the workflow on push events to gh-pages branch
workflow_dispatch: # Allows manual triggering
# 3:25 AM UTC every Sunday -- choose an uncommon time to avoid
# periods of heavy GitHub Actions usage
schedule:
- cron: '0 0 * * 0' # Runs every week on Sunday at midnight (UTC)
- cron: '25 3 * * 0'
# Whenever needed
workflow_dispatch:

permissions:
contents: write

jobs:
add-navbar:
update-navbar:
runs-on: ubuntu-latest
permissions:
contents: write

steps:
- name: Checkout gh-pages
- name: Checkout gh-pages branch
uses: actions/checkout@v4
with:
ref: gh-pages
fetch-depth: 0

- name: Download insert_navbar.sh
run: |
curl -O https://github.com/raw/TuringLang/turinglang.github.io/main/assets/scripts/insert_navbar.sh
chmod +x insert_navbar.sh
- name: Insert navbar
uses: TuringLang/actions/DocsNav@main
with:
doc-path: '.'

- name: Update Navbar
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Commit and push changes
run: |
git config user.name github-actions[bot]
git config user.email github-actions[bot]@users.noreply.github.com

# Define the URL of the navbar to be used
NAVBAR_URL="https://github.com/raw/TuringLang/turinglang.github.io/main/assets/scripts/TuringNavbar.html"

# Update all HTML files in the current directory (gh-pages root)
./insert_navbar.sh . $NAVBAR_URL

# Remove the insert_navbar.sh file
rm insert_navbar.sh

# Check if there are any changes
if [[ -n $(git status -s) ]]; then
git add .
git commit -m "Added navbar and removed insert_navbar.sh"
git push "https://${GITHUB_ACTOR}:${GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git" gh-pages
git config user.name github-actions[bot]
git config user.email github-actions[bot]@users.noreply.github.com
git add -A
git commit -m "Update navbar (automated)"
git push
else
echo "No changes to commit"
fi
26 changes: 2 additions & 24 deletions .github/workflows/Format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,8 @@ name: Format
on:
push:
branches:
- master
- main
pull_request:
branches:
- master
merge_group:
types: [checks_requested]

Expand All @@ -20,26 +18,6 @@ jobs:
format:
runs-on: ubuntu-latest

permissions:
contents: read
checks: write
issues: write
pull-requests: write

steps:
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@latest
with:
version: 1
- name: Format code
run: |
using Pkg
Pkg.add(; name="JuliaFormatter", uuid="98e50ef6-434e-11e9-1051-2b60c6c9e899")
using JuliaFormatter
format("."; verbose=true)
shell: julia --color=yes {0}
- uses: reviewdog/action-suggester@v1
if: github.event_name == 'pull_request'
with:
tool_name: JuliaFormatter
fail_on_error: true
uses: TuringLang/actions/Format@main
15 changes: 15 additions & 0 deletions .github/workflows/PRAssign.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: Automatically assign PR authors

on:
pull_request:
types:
- opened

permissions:
pull-requests: write

jobs:
assign-author:
runs-on: ubuntu-latest
steps:
- uses: TuringLang/actions/PRAssign@main
39 changes: 12 additions & 27 deletions .github/workflows/Tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,20 @@ name: Tests
on:
push:
branches:
- master
- main
pull_request:
merge_group:
types: [checks_requested]

# Cancel existing tests on the same PR if a new commit is added to a pull request
concurrency:
group: ${{ github.workflow }}-${{ github.ref || github.run_id }}
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}

jobs:
test:
# Use matrix.test.name here to avoid it taking up the entire window width
name: test ${{matrix.test.name}} (${{ matrix.runner.os }}, ${{ matrix.runner.version }}, ${{ matrix.runner.arch }}, ${{ matrix.runner.num_threads }})
name: test ${{matrix.test.name}} (${{ matrix.runner.version }}, ${{ matrix.runner.os }}, ${{ matrix.runner.num_threads }})
runs-on: ${{ matrix.runner.os }}
continue-on-error: ${{ matrix.runner.version == 'pre' }}

Expand All @@ -19,69 +26,48 @@ jobs:
test:
# Run some of the slower test files individually. The last one catches everything
# not included in the others.
- name: "essential/ad"
args: "essential/ad.jl"
- name: "mcmc/gibbs"
args: "mcmc/gibbs.jl"
- name: "mcmc/hmc"
args: "mcmc/hmc.jl"
- name: "mcmc/abstractmcmc"
args: "mcmc/abstractmcmc.jl"
- name: "mcmc/Inference"
args: "mcmc/Inference.jl"
- name: "experimental/gibbs"
args: "experimental/gibbs.jl"
- name: "mcmc/ess"
args: "mcmc/ess.jl"
- name: "ad"
args: "ad.jl"
- name: "everything else"
args: "--skip essential/ad.jl mcmc/gibbs.jl mcmc/hmc.jl mcmc/abstractmcmc.jl mcmc/Inference.jl experimental/gibbs.jl mcmc/ess.jl"
args: "--skip mcmc/gibbs.jl mcmc/Inference.jl ad.jl"
runner:
# Default
- version: '1'
os: ubuntu-latest
arch: x64
num_threads: 1
# x86
- version: '1'
os: ubuntu-latest
arch: x86
num_threads: 1
# Multithreaded
- version: '1'
os: ubuntu-latest
arch: x64
num_threads: 2
# Windows
- version: '1'
os: windows-latest
arch: x64
num_threads: 1
# macOS
- version: '1'
os: macos-latest
arch: aarch64
num_threads: 1
# Minimum supported Julia version
- version: 'min'
os: ubuntu-latest
arch: x64
num_threads: 1
# Minimum supported Julia version, multithreaded
- version: 'min'
os: ubuntu-latest
arch: x64
num_threads: 2
# Pre-release Julia version
- version: 'pre'
os: ubuntu-latest
arch: x64
num_threads: 1

steps:
- name: Print matrix variables
run: |
echo "OS: ${{ matrix.runner.os }}"
echo "Architecture: ${{ matrix.runner.arch }}"
echo "Julia version: ${{ matrix.runner.version }}"
echo "Number of threads: ${{ matrix.runner.num_threads }}"
echo "Test arguments: ${{ matrix.test.args }}"
Expand All @@ -92,7 +78,6 @@ jobs:
- uses: julia-actions/setup-julia@v2
with:
version: '${{ matrix.runner.version }}'
arch: ${{ matrix.runner.arch }}
- uses: julia-actions/cache@v2
- uses: julia-actions/julia-buildpkg@v1
# TODO: Use julia-actions/julia-runtest when test_args are supported
Expand Down
38 changes: 26 additions & 12 deletions CITATION.bib
Original file line number Diff line number Diff line change
@@ -1,13 +1,27 @@
@inproceedings{ge2018t,
author = {Hong Ge and
Kai Xu and
Zoubin Ghahramani},
title = {Turing: a language for flexible probabilistic inference},
booktitle = {International Conference on Artificial Intelligence and Statistics,
{AISTATS} 2018, 9-11 April 2018, Playa Blanca, Lanzarote, Canary Islands,
Spain},
pages = {1682--1690},
year = {2018},
url = {http://proceedings.mlr.press/v84/ge18b.html},
biburl = {https://dblp.org/rec/bib/conf/aistats/GeXG18},
@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},
}
Loading
Loading