-
Notifications
You must be signed in to change notification settings - Fork 104
Remove MicroCanonicalHMC.jl and update external sampler docs #628
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
@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. |
Arghh, still not fixed. It's a Turing bug. |
OK, should be fixed now (TuringLang/Turing.jl#2640) and ready for review. |
Preview the changes: https://turinglang.org/docs/pr-previews/628 |
There was a problem hiding this 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?
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. |
* Fix external sampler docs * Remove MCHMC as a dep * update * Explain docs in more detail * Bump to 0.39.9
Several reasons:
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.
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.
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.