Skip to content

Conversation

penelopeysm
Copy link
Member

@penelopeysm penelopeysm commented Jul 31, 2025

Several reasons:

  1. MCHMC.jl is a reverse dependency of Turing (i.e., it depends on Turing). We previously agreed that it's not generally desirable to have reverse-deps in the docs repo (Remove Pathfinder code example from docs #576). The TL;DR is that reverse deps prevent us from releasing docs with new versions of Turing until and unless those reverse deps upgrade their Turing compat entries, and we can't control if or when that happens.

  2. MCHMC.jl hasn't been updated in quite a while, in fact its latest release declares a Turing compat version of 0.34 which is almost a year old https://github.com/TuringLang/Turing.jl/releases/tag/v0.34.1.

  3. Well, in that case how have the docs even been building for the last 5 minor releases of Turing? Turns out that old versions of MCHMC.jl have no compat bounds. So we have just been building with an old release of MCHMC that fortuitously didn't error, but which should really be yanked from the General registry. I've opened an issue on the MCHMC repo about this: Turing and other compat entries JaimeRZP/MicroCanonicalHMC.jl#27.

In its place I have put a link to SliceSampling.jl (which avoids problems (2) and (3)) but without any actual code (which avoids problem (1)).

In this PR I also took the opportunity to completely refresh the interface documentation for external samplers, which was quite outdated.

@penelopeysm penelopeysm requested a review from AoifeHughes July 31, 2025 23:40
@penelopeysm
Copy link
Member Author

@AoifeHughes, if you merge this into main and merge main into your PR, then CI should pass. Of course, please do feel free to review this PR as usual before merging and ping me if there is anything that isn't clear.

@penelopeysm
Copy link
Member Author

Arghh, still not fixed. It's a Turing bug.

@penelopeysm
Copy link
Member Author

penelopeysm commented Aug 1, 2025

OK, should be fixed now (TuringLang/Turing.jl#2640) and ready for review.

Copy link
Contributor

github-actions bot commented Aug 1, 2025

Preview the changes: https://turinglang.org/docs/pr-previews/628
Please avoid using the search feature and navigation bar in PR previews!

Copy link
Contributor

@AoifeHughes AoifeHughes left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems fine ~ though I am wondering if there's a way to have the docs toml sync with the other Turing repos in general? I guess the other projects don't have this dep because of the circular deps you mentioned?

@penelopeysm penelopeysm merged commit f4b4d0c into main Aug 12, 2025
1 check failed
@penelopeysm penelopeysm deleted the py/no-mchmc branch August 12, 2025 14:53
github-actions bot added a commit that referenced this pull request Aug 12, 2025
@penelopeysm
Copy link
Member Author

if there's a way to have the docs toml sync with the other Turing repos

Turing is the only versioned dependency here, all other deps are not versioned.

So if Turing depends on X and X depends on Y, then the version of Y in the docs environment is determined indirectly via Turing.

In this case though reverse deps are the other way around - they depend on Turing -- so Turing cannot specify compatible versions for them. Rather they have to declare compatible versions of Turing, and we can't control that.

AoifeHughes pushed a commit that referenced this pull request Aug 19, 2025
* Fix external sampler docs

* Remove MCHMC as a dep

* update

* Explain docs in more detail

* Bump to 0.39.9
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants