fix(deps): update python: non-major updates#332
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
==0.138.0→==0.139.0==3.1.50→==3.1.51==6.19.0→==6.20.0==1.20.1→==1.23.0==0.15.19→==0.15.21==2.12.1→==2.13.0==0.0.53→==0.0.59==0.49.0→==0.51.0Release Notes
fastapi/fastapi (fastapi)
v0.139.0Compare Source
Features
app.frontend(), e.g. for automatic cookie authentication for the frontend. PR #15908 by @tiangolo.Translations
Internal
allow-unsafe-pr-checkout: true. PR #15876 by @YuriiMotov.v0.138.2Compare Source
Refactors
app.frontend()return 404 for methods other thanGETorHEADwith no static file matches. PR #15863 by @tiangolo.Internal
v0.138.1Compare Source
Refactors
Internal
gitpython-developers/GitPython (gitpython)
v3.1.51Compare Source
gradio-app/gradio (gradio)
v6.20.0Compare Source
Features
79b9171- Gallery Download All. Thanks @dawoodkhan82!784eb53- workflow: show downstream output on subgraph run. Thanks @hannahblair!59968e8- workflow: update input change handling. Thanks @hannahblair!0533483- Migrate Image components to Svelte 5. Thanks @dawoodkhan82!55241c8- workflow: auto add node on port click. Thanks @hannahblair!ec64242- workflow: validate model before invoking inference client. Thanks @hannahblair!f7b872e- Replace deprecated Starlette 422 status constant in queue validator error path. Thanks @copilot-swe-agent!75c5d1e- workflow: inject token into fn functions. Thanks @hannahblair!Fixes
876d333- FixJSONDecodeErrorwhen loading cached examples with negative number outputs. Thanks @hysts!1c5c538- Security: serve/gradio_api/file=<url>via an SSRF-safe streaming proxy instead of an open redirect. Thanks @abidlabs!4e72cd1- workflow: forward_tokento bound fn when no request session. Thanks @hannahblair!98de45e- Fix gr.Plot collapsing to zero height for autosize Plotly figures. Thanks @hysts!46d391b- Fix embedded Gradio apps growing infinitely tall on HF Spaces when usingvh/%heights orfill_height. Thanks @abidlabs!63609f1- Enforcemax_file_sizefor multipart uploads to the/component_serverroute. Thanks @abidlabs!c576675- Fixgr.ImageEditorhigh CPU usage when idle by sleeping the render loop when nothing is changing. Thanks @abidlabs!dcc654d- Fix ImageEditor transform tools and hidden cleanup. Thanks @dawoodkhan82!2e80558- Firestate.change()for streaming (.stream()) events. Thanks @hysts!7a595cb- Fix ImageEditor brush texture resets. Thanks @dawoodkhan82!461d82d- Use same-origin credentials in the JS client so cross-origin embeds work again. Thanks @hysts!745f20c- Fixgr.Tabs.select()event not firing when switching tabs. Thanks @abidlabs!6438369- Wait for in-flight head scripts before running js_on_load in gr.HTML. Thanks @hysts!9a72d0c- Fix Column staying hidden after a multi-yield visibility update. Thanks @hysts!882df35- FixTypeError: this.app.$destroy is not a functionwhen embedding a Gradio app with the<gradio-app>web component. Thanks @abidlabs!huggingface/huggingface_hub (huggingface-hub)
v1.23.0: [v1.23.0] Space templates, CLI extension updates & smoother Xet downloadsCompare Source
🚀 Create Spaces from templates
You can now seed a new Space from one of the official Hub templates (JupyterLab, a Gradio chatbot, a Streamlit app, etc.) instead of starting from an empty repo. List what's available with the new
list_space_templates()API or thehf spaces templatesCLI command, then pass a template'srepo_id(or its short name) tocreate_repo(..., space_template=...)orhf repos create --type space --template. The Space SDK is inferred from the template, and templates recommended as private (like JupyterLab) are created privately by default unless you explicitly choose a visibility.🔌 Update installed CLI extensions
A new
hf extensions updatecommand brings your installed CLI extensions to their latest published version on GitHub. Pass a name to update a single extension, or run it with no argument to check every installed extension and update the ones that are behind. Updates are applied in place — Python extensions reuse their existing venv and binary extensions are overwritten — so a failed update no longer leaves the extension uninstalled, and extensions that are already up to date are simply skipped.hf extensions updatecommand by @Wauplin in #4496📶 Smoother Xet download progress with dual bars
Xet downloads now show two progress bars so you can tell a transfer is alive even on a slow connection. The transfer bar advances as bytes arrive over the network, while the reconstruction bar tracks real progress as buffered chunks are written to disk — previously the single bar could sit at 0% for a long time while data was actually arriving. The dual bars are wired into single-file downloads (
hf_hub_download),snapshot_download(where parallel file downloads feed the repo-level transfer and reconstruction bars), thehf downloadCLI, and bucket downloads.🤖 Always up-to-date, offline
hf-cliskillhf skills addandhf skills updatenow generate the built-inhf-cliskill locally from your installed CLI version instead of downloading it from the marketplace bucket. The installedSKILL.mdis therefore always in sync with the CLI you're running, and installing or updating thehf-cliskill works fully offline — the marketplace is only contacted when you install another managed skill. As defense-in-depth against path traversal, skill names coming from the marketplace payload are now validated before any filesystem work.🖥️ CLI
hf models lsby inference provider by @moon-bot-app[bot] in #4497 — docs🔧 Other QoL Improvements
get_cached_repo_treeutility by @Wauplin in #4513 — docs📖 Documentation
🐛 Bug and typo fixes
snapshot_downloadsilently skipped files on Windows🏗️ Internal
v1.22.0: [v1.22.0] Sandboxes, faster downloads, and a rebuilt CLICompare Source
🖥️ Sandboxes: isolated cloud machines on top of Jobs
Sandboxes are isolated cloud machines you can spin up in seconds, run commands in with live-streamed output, and move files in and out of — all from Python or the CLI. They are built entirely on top of Jobs: under the hood a sandbox is just a Job running a tiny static server, so any Docker image with
/bin/shworks and it inherits Jobs' billing, hardware flavors, and namespace permissions for free. Two flavors are available:Sandbox.createfor a dedicated VM (GPU workloads, untrusted code, full isolation) andSandboxPoolto pack many cheap CPU sandboxes into a few shared host VMs for fan-out workloads like RL rollouts. This release also adds background processes (sbx.run(..., background=True)/hf sandbox spawn) and a port proxy (Sandbox.proxy_url_for) so you can reach a server running inside a sandbox from the outside over HTTP or WebSocket.hf sandboxCLI on top of Jobs by @Wauplin in #4350📚 Documentation: Sandboxes guide, Sandbox reference
⚡ Faster snapshot downloads with a tree cache
snapshot_downloadnow caches a repository's file listing on disk under a newtrees/folder, so re-downloading a commit that's already cached costs a single network call — resolving the branch or tag to a commit hash — instead of one metadata request per file. The listing is immutable per commit and shared by bothsnapshot_downloadandhf_hub_download; for Xet-enabled files it also skips the per-file HEAD/resolverequest entirely, rebuilding the metadata from the cached listing. As a deliberate side effect of the completeness check, when the Hub can't be reached and the local snapshot is missing requested files,snapshot_downloadnow raisesIncompleteSnapshotErrorinstead of silently returning a partial folder.📚 Documentation: Manage your cache
🛠️ CLI rebuilt on Click (drops Typer)
The entire
hfCLI now runs on a small in-house layer over Click 8.x instead of Typer, which had vendored Click in a way that broke the CLI's custom help rendering, error enrichment, and shell completion — and forced cappingtyper<0.26. The migration preserves existing behavior:--helpoutput is byte-identical, the generatedcli.mdreference is unchanged apart from a header comment, and shell completion now uses Click's native completion. The publictyper_factoryhelper is kept so downstream libraries liketransformersthat register their own commands keep working.💔 Breaking Change
upload_large_folderandhf upload-large-folderare now deprecated in favor ofupload_folder/hf upload, which handle very large and resumable uploads out of the box.allow_patterns/ignore_patternsnow match case-sensitively on every OS (aligned with case-sensitive Hub paths). On Windows this is a behavior change: patterns like*.PDFno longer matchfile.pdf.black-forest-labs,clarifai,hyperbolic,nebius,nvidia,sambanova) — docs🖥️ CLI
hf discussions editby @Wauplin in #4415 — docshf cache lsnow flags leftover.incompletefiles andhf cache pruneremoves them automatically — docsoutsingleton publicly + addout.logmethod by @Wauplin in #4471🤖 Inference
📊 Jobs
jobs-artifactsbucket and mount it;-vaccepts local directories inhf jobs run/uv run(and scheduled variants) — docshf jobs scheduled trigger ...to trigger scheduled jobs on demand by @Wauplin in #4459 — docs🔧 Other QoL Improvements
http_backoffnow honors the standardRetry-Afterheader (delay-seconds form); HF rate-limit headers still take precedence when present.base_model=Falsetoget_dataset_leaderboardto include fine-tuned/derivative repos that declare a parent model.📖 Documentation
🐛 Bug and typo fixes
hf cache ls --filterthresholds likesize>1GBnow parse instead of raising.__init__.py).🏗️ Internal
v1.21.0: [v1.21.0] Jobs filtering & paginationCompare Source
📊 Jobs listing revamped: filter, paginate, and
lsinstead ofpsThe Jobs listing API and CLI have been overhauled with server-side filtering, proper pagination, and a CLI rename that aligns with the rest of
hf.list_jobs()now acceptsstatusandlabelsparameters that push filtering to the server, and returns a lazy iterator (matchinglist_models,list_datasets, etc.) so large result sets are fetched page by page. On the CLI side,hf jobs pshas been renamed tohf jobs lsfor consistency withhf repos ls,hf models ls, and friends —psandliststill work as aliases.list_jobs()now returns anIterable[JobInfo]instead oflist[JobInfo]. If you indexed the result (jobs[0]), wrap it withlist(...).-f/--filterinhf jobs lsis deprecated. Use--statusand--labelinstead. Glob patterns (data-*), negation (key!=value), and filtering byid/image/commandare no longer supported.hf jobs psby @Wauplin in #4403📚 Documentation: CLI guide, Jobs guide
🐛 Fix circular import on
from huggingface_hub import loginA regression introduced in v1.20.0 caused
from huggingface_hub import loginto raise anImportErroron a fresh interpreter, due to a circular dependency between_oauth_deviceandutils._http. The fix moves_oauth_device.pyinto theutilslayer so all imports resolve downward, eliminating the cycle. No lazy imports or workarounds required.from huggingface_hub import loginby @hanouticelina in #4385🔧 Other QoL Improvements
📖 Documentation
hf jobs uv runflags before the script for consistency by @davanstrien in #4396🐛 Bug and typo fixes
🏗️ Internal
astral-sh/ruff (ruff)
v0.15.21Compare Source
Released on 2026-07-09.
Preview features
--add-ignorefor addingruff:ignorecomments (#26346)flake8-comprehensions] DropC409tuple comprehension preview behavior (#25707)pyupgrade] Lint and fix use of deprecatedabcdecorators (UP051) (#26417)Bug fixes
flake8-implicit-str-concat] FixISC003autofix incorrectly stripping+from comments (#26554)Rule changes
flake8-executable] MarkEXE004fix as unsafe (#26033)flake8-pyi] MarkPYI061fixes as unsafe in Python files (#26533)pydocstyle] Skipoverload-with-docstringin stub files (D418) (#26318)Performance
fits_elementin formatter (#26429)Formatter
--extend-excludetoruff format(#26372)Documentation
flake8-bandit] Fix misleading docstring formako-templates(S702) (#26432)ruff] Fix non-triggering example forif-key-in-dict-del(RUF051) (#26433)Contributors
v0.15.20Compare Source
Released on 2026-06-25.
Preview features
noqashebang handling inruff:ignorecomments (#26286)ruff] Removepytest-fixture-autouse(RUF076) (#26240, #26371)Documentation
ruff_python_parserREADME for crates.io (#26315)perflint] Clarify thatPERF402applies to any iterable (#26242)Contributors
pytorch/pytorch (torch)
v2.13.0: PyTorch 2.13.0 ReleaseCompare Source
PyTorch 2.13.0 Release Notes
Highlights
nn.LinearCrossEntropyLosscombines the final prediction and loss computation to cut peak GPU memory by up to 4x for large-vocabulary language model training.torch.compiletargeting, and Intel XPU exposes new device telemetry APIs.For more details about these highlighted features, you can look at the release blogpost. Below are the full release notes for this release.
Tracked Regressions
ROCm wheels break
torch.compileon CPU in environments without a GPURunning a
torch==2.13.0+rocm7.2wheel in an environment where no GPU is available (torch.cuda.is_available()isFalse) breakstorch.compileon the CPU path: the first compile raisesRuntimeError: Can't detect vectorized ISA for CPU(#189194). This is a regression fromtorch==2.12.1+rocm7.2, which compiles CPU code fine (detecting e.g.VecAVX2) in the same setup. The 2.13 ROCm wheel appears to rely on something present in the ROCm builder image to detect the CPU vectorized ISA, so it works when run on a ROCm image but fails on a plain CPU-only image.Workaround: run the
+rocmwheel on a ROCm image, or install a standard CPU/CUDA build for GPU-less environments.Backwards Incompatible Changes
Stop building CPython 3.13t (free-threaded) binaries (#182951)
Upstream
pypa/manylinuxremoved CPython 3.13t (free-threaded) on 2026-05-07, because 3.13twas experimental and has been superseded by the now-non-experimental CPython 3.14t. As a result,
PyTorch 2.13 no longer ships
cp313twheels (Linux, Triton, and related artifacts). Users on thefree-threaded interpreter should move to Python 3.14t.
PyTorch 2.12:
# cp313t (free-threaded 3.13) wheels wConfiguration
📅 Schedule: (in timezone Europe/Berlin)
* 0-3 * * 1)🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.