# The Diffusers revision Studio is built against. THE single source of truth for it:
# no other requirements file may name diffusers, and a test in
# tests/studio/install/test_diffusers_pin.py enforces that.
#
# Why a git archive and not a release: MiniMax-H3 needs the modular ModularPipeline /
# MiniMaxH3Transformer3DModel work that landed after 0.39.0 and is not in any published
# wheel yet, so a released version makes Studio refuse to load H3 at all. The archive
# reports itself as 0.40.0.dev0.
#
# Why it is installed from its own file, in its own step: install.sh installs unsloth
# itself and then hands off to install_python_stack.py with SKIP_STUDIO_BASE=1, which
# skips the base.txt step entirely. Anything pinned in base.txt is therefore applied on
# `unsloth studio update` but NOT on a fresh install.sh, where unsloth's own metadata had
# already pulled diffusers 0.39.0 from PyPI and nothing walked it forward. The step that
# installs this file runs on every path, and runs late, after every other requirements
# file, so nothing can re-resolve diffusers back to a release behind it.
#
# python < 3.10 has no candidate: diffusers dropped 3.9 in 0.38, so pinning the archive
# outright would leave the resolver nothing at all on a 3.9 host. Those hosts get the
# newest release they can take and the H3 guard refuses the model with a clear message.
diffusers @ https://github.com/huggingface/diffusers/archive/f53d552036a0d1bd5570782a39cd40cfabf112bc.zip ; python_version >= "3.10"
diffusers ; python_version < "3.10"
