Skip to content

Build(deps): Bump the python group across 1 directory with 6 updates - #929

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/python-acad7d45bf
Open

Build(deps): Bump the python group across 1 directory with 6 updates#929
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/python-acad7d45bf

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jul 22, 2026

Copy link
Copy Markdown

Updates the requirements on torch, trl, transformers, datasets, setuptools and setuptools-scm to permit the latest version.
Updates torch to 2.13.0

Release notes

Sourced from torch's releases.

PyTorch 2.13.0 Release Notes

Highlights

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.compile on CPU in environments without a GPU

Running a torch==2.13.0+rocm7.2 wheel in an environment where no GPU is available (torch.cuda.is_available() is False) breaks torch.compile on the CPU path: the first compile raises RuntimeError: Can't detect vectorized ISA for CPU (#189194). This is a regression from torch==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 +rocm wheel 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/manylinux removed CPython 3.13t (free-threaded) on 2026-05-07, because 3.13t was experimental and has been superseded by the now-non-experimental CPython 3.14t. As a result, PyTorch 2.13 no longer ships cp313t wheels (Linux, Triton, and related artifacts). Users on the free-threaded interpreter should move to Python 3.14t.

    PyTorch 2.12:

    # cp313t (free-threaded 3.13) wheels were available
    python3.13t -m pip install torch

    PyTorch 2.13:

... (truncated)

Changelog

Sourced from torch's changelog.

Releasing PyTorch

Release Compatibility Matrix

Following is the Release Compatibility Matrix for PyTorch releases:

... (truncated)

Commits
  • cf30153 [release/2.13] Strip +PTX from CUDA arch list on release/RC builds (#188914) ...
  • 3e3e24b [release/2.13] Restrict cuda-bindings to Python < 3.15 for CUDA 12.9 builds (...
  • 7986b06 [release/2.13] Bump binary build timeout 280 -> 400 minutes (#188551)
  • 0bdbc26 [release/2.13] Add CUDA 12.9 to TORCH_CUDA_ARCH_LIST tables (#188443)
  • 9cabb45 [release/2.13] Update manywheel docker image pin to 78e737ad (#188409)
  • 78e737a [release/2.13] Revert "Tighten generalized scatter graph target (#184075)" (#...
  • 0bb9b5b [release/2.13] Revert "dynamo: round-trip torch.cuda.stream ctx mgr across gr...
  • aaac2bf [release/2.13] Revert "[Reland] Port D104346887/PR 182675 for index_add fast ...
  • 9330813 Fix build_with_debinfo.py broken by CONFIGURE_DEPENDS globbing (#188192)
  • 4e077a7 Remove setuptools upper bound (#188190)
  • Additional commits viewable in compare view

Updates trl to 1.9.0

Release notes

Sourced from trl's releases.

v1.9.0

Features

Iterable / streaming datasets in GRPO and RLOO

Long-standing request finally landed. GRPO and RLOO rely on RepeatSampler to repeat each prompt num_generations times and group them across processes — but samplers can't attach to iterable datasets (no length, no indexing), and the old behavior silently bypassed the sampler, quietly corrupting advantage computation.

A new repeat_iterable_dataset generator reproduces RepeatSampler's exact ordering by transforming the stream itself instead of reordering indices. Trainers wrap iterable datasets via IterableDataset.from_generator, force dispatch_batches=False, and shard the stream per-process to preserve prompt groups after cross-process gathering.

from datasets import load_dataset
from trl import GRPOConfig, GRPOTrainer
dataset = load_dataset("trl-lib/DeepMath-103K", split="train", streaming=True)
trainer = GRPOTrainer(
model="Qwen/Qwen3-4B",
args=GRPOConfig(max_steps=1000),  # required for iterable datasets
train_dataset=dataset,
reward_funcs=accuracy_reward,
)

max_steps is required for iterable datasets (no length). A clear error also fires if dispatch_batches=True is combined with an iterable dataset.

by @​albertvillanova in huggingface/trl#6351

Environment-owned datasets

When an environment_factory is provided, the environment can now own the data. train_dataset becomes optional: reset() returns the prompt. No more fabricating a dummy dataset just to drive the loop.

class WordleEnv:
    def reset(self, **kwargs) -> str:      # returns the prompt
        self._target = sample(words)
        return f"Guess a {len(self._target)}-letter word."
    def get_reward(self) -> float:
        return 1.0 if self._solved else 0.0
    def guess(self, word: str) -> str:     # exposed tool
        self._solved = word == self._target
        return _feedback(word, self._target)
trainer = GRPOTrainer(
model="Qwen/Qwen3-4B",
args=GRPOConfig(max_steps=1000),
environment_factory=WordleEnv,          # no train_dataset needed
)

Applies to both GRPOTrainer and AsyncGRPOTrainer. A provided train_dataset still works exactly as before; multi-environment routing datasets can now be environment-only (no prompt column required).

... (truncated)

Commits
  • 35def3e Release: v1.9 (#6495)
  • 1f44f15 [DistillationTrainer refactor] Fix num_items_in_batch to count generated co...
  • 56d93a0 [DistillationTrainer refactor] Deprecate messages-format datasets (#6474)
  • 860f1b6 [DistillationTrainer refactor] Accept a prompt column alongside messages ...
  • d08f613 Filter triton AnnAssign DeprecationWarning on Python 3.14 (#6467)
  • c4a97ee Filter reworded torch.jit.script_method warning on Python 3.14 (#6465)
  • 3151ed3 Fix misleading name of BEMACallback bias_power=0.0 test (#6464)
  • edbce2b Silence PEFT ensure_weight_tying warning in DPO and KTO liger tests (#6463)
  • d2b72b7 Raise when DPO/KTO cannot precompute correct reference log-probs at eval time...
  • d9294d1 [DistillationTrainer refactor] Remove lmbda and the off-policy training bra...
  • Additional commits viewable in compare view

Updates transformers to 5.14.1

Release notes

Sourced from transformers's releases.

Patch release: v5.14.1

Patch release v5.14.1

This patch solves a few issues which appeared when integrating Inkling model, most notably an issue affecting models using EncoderDecoderCache during assisted generation. It also fixes an issue that could appear during prefill with StaticCache and sdpa without padding for Inkling which uses a position_bias. It contains the following commits:

Commits

Updates datasets to 5.0.0

Release notes

Sourced from datasets's releases.

5.0.0

Datasets Features

Agent traces

  • Parse Agent traces messages for SFT using teich by @​lhoestq in huggingface/datasets#8232

    • Agent traces from claude_code/pi/codex and others can now be loaded with load_dataset
    • Using the teich library (new optional dependency), traces are parsed to messages to enable training on traces using e.g. trl
    • Load the data:
    >>> from datasets import load_dataset
    >>> ds = load_dataset("lhoestq/agent-traces-example", split="train")
    >>> ds[0]["messages"]
    [{'role': 'user', 'content': 'Download a random dataset from Hugging Face, use DuckDB to inspect it, and come back with a short report about it. Be concise and include: dataset name, what files/format you found, row count or rough size if you can determine it,...'
     ...]
    • Train on agent traces:
    trl sft --dataset-name lhoestq/agent-traces-example ...

Next-level shuffling in streaming mode

  • Use multiple input shards for shuffle buffer by @​lhoestq in huggingface/datasets#8194

    ds = load_dataset(..., streaming=True)
    ds = ds.shuffle(seed=42)
    # or configure local buffer shuffling manually, default is:
    ds = ds.shuffle(seed=42, buffer_size=1000, max_buffer_input_shards=10)

    before👎:

    after✨:

    toy example comparison

    from datasets import IterableDataset
    ds = IterableDataset.from_dict({"i": range(123_456_789)}, num_shards=1024)
    ds = ds.shuffle(seed=42)
    print("Cold start ids:")

... (truncated)

Commits
  • 68ac1a9 Release: 5.0.0 (#8239)
  • cfe4492 Support composed splits in streaming datasets (#8220)
  • fd67320 Keep None as a real null in Json() columns instead of the string "null" (#8231)
  • 10cdc81 Fix iterable skip over full Arrow blocks (#8236)
  • b7c064d Parse agent traces messages for SFT using teich (#8232)
  • 31e92f1 fix: embed_external_files=True for mesh support (#8224)
  • d168d5f feat: add TsFile (Apache IoTDB) packaged builder with per-device wide format ...
  • 992f3cf fix(map): fix progress bar exceeding total when load_from_cache_file=False (#...
  • 8474a91 Fix single lance file form pylance 7.0 (#8225)
  • d4284e9 feat: add 3D mesh support and MeshFolder builder (#8055)
  • Additional commits viewable in compare view

Updates setuptools from 80.9.0 to 83.0.0

Changelog

Sourced from setuptools's changelog.

v83.0.0

Features

  • Require Python 3.10 or later.

Bugfixes

  • MANIFEST.in matching (via FileList) is now insensitive to Unicode normalization form. A pattern authored in one form (e.g. NFC, as typically saved by editors) now matches a file whose name is stored on disk in another (e.g. NFD, as produced by macOS APFS/HFS+). Previously an exclude, global-exclude, recursive-exclude, or prune rule could silently fail to drop a non-ASCII-named file from the source distribution, publishing it despite the exclusion -- see GHSA-h35f-9h28-mq5c.

Deprecations and Removals

  • pypa/distutils#334

v82.0.1

Bugfixes

  • Fix the loading of launcher manifest.xml file. (#5047)
  • Replaced deprecated json.__version__ with fixture in tests. (#5186)

Improved Documentation

  • Add advice about how to improve predictability when installing sdists. (#5168)

Misc

v82.0.0

... (truncated)

Commits
  • 6519f72 Bump version: 82.0.1 → 83.0.0
  • d1151b1 Merge pull request #5250 from pypa/feature/distutils-d7633fbed
  • a2df31e Capture removal of dry_run parameter in changelog.
  • 00144dc Moved newsfragment to the release where it occurred.
  • a4a5a2b Add news fragment.
  • 77470c2 Merge https://github.com/pypa/distutils into feature/distutils-d7633fbed
  • 3c43897 Merge pull request #5247 from pypa/copilot/fix-pypy-version-issue
  • bb6ea66 Bump PyPy from 3.10 to 3.11 in CI workflow
  • a2bc3ac Fix broken intersphinx reference to build's installation docs
  • 2d6a739 Use stacked parametrize decorators instead of itertools.product
  • Additional commits viewable in compare view

Updates setuptools-scm from 9.2.0 to 10.2.1

Release notes

Sourced from setuptools-scm's releases.

setuptools-scm v10.2.1

Fixed

  • Omit scm_version.json and scm_file_list.json from wheel .dist-info while still including them in sdists for fallback discovery. (#1473)

setuptools-scm v10.2.0

Added

  • Restore Python 3.8 and 3.9 support, re-enabling use as a build dependency for projects like scikit-build that still support these versions. (#1445)

Miscellaneous

  • Move PKG-INFO discovery tests from vcs-versioning to setuptools-scm where the entry points are registered. (#1446)

setuptools-scm v10.1.2

Fixed

  • Fix DeprecationWarning leak by threading VcsEnvironment through VersionInferenceConfig and using env.make_reader() in _should_write_to_source. (#1424)

setuptools-scm v10.1.1

Fixed

  • Update CI to use PyPy 3.11 as cryptography has no PyPy 3.10 build available (#1421)

setuptools-scm v10.1.0

Added

  • Add backward-compatible shims in setuptools_scm.git, setuptools_scm.hg, setuptools_scm.hg_git, and setuptools_scm.scm_workdir so that external code calling get_scm_version(config) or run_describe(config) with an explicit Configuration continues to work. The shim automatically wires _config and VcsEnvironment onto the workdir. (#compat-shims)
  • Write scm_version.json and scm_file_list.json into egg-info directories during egg_info, enabling sdist fallback version inference when no VCS is present. Add ScmEggInfoMixin for workdir-based file finding in find_sources(). (#egg-info-metadata)
  • Add write_to_source pyproject.toml option to control whether version files are written to the source tree. When unset, a deprecation warning advises setting it explicitly before the default changes in a future major release. The SETUPTOOLS_SCM_WRITE_TO_SOURCE environment variable overrides this setting. (#1301)
  • Adopt the workdir-centric pipeline from vcs-versioning: version discovery now follows an explicit env → config → workdir → version chain instead of relying on ambient globals and parse entry points. The egg_info command writes scm_version.json and scm_file_list.json metadata so sdists can infer versions without a VCS checkout. Requires vcs-versioning >= 2.0.0.dev0. (#1378)

Fixed

  • Fix worktree file listing test to expect relative paths from the file finder. The test now passes on Linux; Windows remains xfail due to a subprocess limitation with worktree directories. (#620)
  • Remove the _warn_on_old_setuptools() check that incorrectly warned when a custom build-backend caused setuptools.__version__ to return the project version instead of setuptools' version. The minimum setuptools version is now enforced via build-system requirements. (#1192)
  • Wrap version in setuptools.sic() when normalize = false to prevent setuptools from re-normalizing the version after our hook returns. This preserves CalVer zero-padding (e.g. 2024.01.05) and other non-canonical version strings in dist.metadata.version. (#1354)
  • Skip writing non-package version files to build_lib, fixing incorrect inclusion of root-level version files in wheels. (#1364)

Documentation

  • Rewrite the GitHub Actions CI/CD example to use a dedicated build job (via build-and-inspect-python-package) and OIDC Trusted Publishers instead of building in publishing jobs with long-lived API tokens. (#1215)

setuptools-scm v10.0.5

... (truncated)

Commits
  • ac108b2 Merge pull request #1475 from pypa/release/main
  • b3beed6 Prepare release: setuptools-scm v10.2.1
  • ec67f8c Merge pull request #1474 from RonnyPfannschmidt/fix/1473-omit-scm-metadata-fr...
  • 08f22bd fix: lazy-import bdist_wheel and simplify unlink
  • 82768f0 fix: omit SCM egg-info JSON from wheels
  • 5b91e2f Merge pull request #1460 from pypa/dependabot/uv/uv-f4f52c089d
  • 4ac1724 Merge pull request #1463 from pypa/release/main
  • 474cc9c Prepare release: vcs-versioning v2.2.2
  • 29c8f6c Merge pull request #1462 from RonnyPfannschmidt/fix/vcs-versioning-pytest-tim...
  • 25d32ee fix: add missing pytest-timeout to vcs-versioning test dependencies (#1461)
  • Additional commits viewable in compare view

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update python code labels Jul 22, 2026

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b1d7eda2a7

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread pyproject.toml Outdated
@@ -1,5 +1,5 @@
[build-system]
requires = ["setuptools==80.9.0", "setuptools-scm==9.2.0"]
requires = ["setuptools==83.0.0", "setuptools-scm==10.2.0"]

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Keep the build backend compatible with Python 3.9

For Python 3.9 source/editable installs, this exact build requirement now asks pip to install setuptools==83.0.0, but setuptools 83 requires Python 3.10+, while this project still advertises requires-python = ">=3.9,<3.15". That makes pip install from sdist/Git fail before the package metadata can be built for any Python 3.9 user; either keep setuptools below 83 for the build env or drop Python 3.9 support in the project metadata.

Useful? React with 👍 / 👎.

Comment thread pyproject.toml Outdated
"tyro ; (sys_platform != 'darwin' or platform_machine != 'arm64')",
"accelerate>=0.34.1 ; (sys_platform != 'darwin' or platform_machine != 'arm64')",
"trl>=0.18.2,!=0.19.0,<=0.24.0 ; (sys_platform != 'darwin' or platform_machine != 'arm64')",
"trl>=0.18.2,!=0.19.0,<=1.8.0 ; (sys_platform != 'darwin' or platform_machine != 'arm64')",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Update the core TRL constraint too

The default dependency now permits TRL 1.8, but the core extra still has trl>=0.18.2,!=0.19.0,<=0.24.0, and huggingface/base/intelgpu all pull that extra transitively. In contexts that install .[core] (including this repo's CI setup), pip has to satisfy both constraints and will stay capped at 0.24.0, so the new TRL range is not actually exercised for those install modes; update or de-duplicate the extra constraint along with this line.

Useful? React with 👍 / 👎.

Comment thread pyproject.toml
"transformers>=4.51.3,!=4.52.0,!=4.52.1,!=4.52.2,!=4.52.3,!=4.53.0,!=4.54.0,!=4.55.0,!=4.55.1,!=4.57.4,!=4.57.5,!=5.0.0,!=5.1.0,<=5.5.0",
"datasets>=3.4.1,!=4.0.*,!=4.1.0,<4.4.0",
"transformers>=4.51.3,!=4.52.0,!=4.52.1,!=4.52.2,!=4.52.3,!=4.53.0,!=4.54.0,!=4.55.0,!=4.55.1,!=4.57.4,!=4.57.5,!=5.0.0,!=5.1.0,<=5.13.1",
"datasets>=4.0,<5.1",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Exclude the broken datasets 4.4/4.5 releases

This widened range re-admits datasets==4.4.0 through 4.5.0, but the repo already has a drift test documenting that this exact range triggers _thread.RLock_recursion_count failures in the Arrow loader and should be avoided. Any user with an environment constraint that resolves to 4.4.x or 4.5.0 can now install an unsupported datasets version, so preserve the exclusion when widening the upper bound.

Useful? React with 👍 / 👎.

Updates the requirements on [torch](https://github.com/pytorch/pytorch), [trl](https://github.com/huggingface/trl), [transformers](https://github.com/huggingface/transformers), [datasets](https://github.com/huggingface/datasets), [setuptools](https://github.com/pypa/setuptools) and [setuptools-scm](https://github.com/pypa/setuptools-scm) to permit the latest version.

Updates `torch` to 2.13.0
- [Release notes](https://github.com/pytorch/pytorch/releases)
- [Changelog](https://github.com/pytorch/pytorch/blob/main/RELEASE.md)
- [Commits](pytorch/pytorch@v2.4.0...v2.13.0)

Updates `trl` to 1.9.0
- [Release notes](https://github.com/huggingface/trl/releases)
- [Changelog](https://github.com/huggingface/trl/blob/main/RELEASE.md)
- [Commits](huggingface/trl@v0.18.2...v1.9.0)

Updates `transformers` to 5.14.1
- [Release notes](https://github.com/huggingface/transformers/releases)
- [Commits](huggingface/transformers@v4.51.3...v5.14.1)

Updates `datasets` to 5.0.0
- [Release notes](https://github.com/huggingface/datasets/releases)
- [Commits](huggingface/datasets@3.4.1...5.0.0)

Updates `setuptools` from 80.9.0 to 83.0.0
- [Release notes](https://github.com/pypa/setuptools/releases)
- [Changelog](https://github.com/pypa/setuptools/blob/main/NEWS.rst)
- [Commits](pypa/setuptools@v80.9.0...v83.0.0)

Updates `setuptools-scm` from 9.2.0 to 10.2.1
- [Release notes](https://github.com/pypa/setuptools-scm/releases)
- [Changelog](https://github.com/pypa/setuptools-scm/blob/main/RELEASE_SYSTEM.md)
- [Commits](pypa/setuptools-scm@v9.2.0...setuptools-scm-v10.2.1)

---
updated-dependencies:
- dependency-name: datasets
  dependency-version: 5.0.0
  dependency-type: direct:production
  dependency-group: python
- dependency-name: setuptools
  dependency-version: 83.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: python
- dependency-name: setuptools-scm
  dependency-version: 10.2.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: python
- dependency-name: torch
  dependency-version: 2.13.0
  dependency-type: direct:production
  dependency-group: python
- dependency-name: transformers
  dependency-version: 5.13.1
  dependency-type: direct:production
  dependency-group: python
- dependency-name: trl
  dependency-version: 1.8.0
  dependency-type: direct:production
  dependency-group: python
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot changed the title Bump the python group across 1 directory with 6 updates Build(deps): Bump the python group across 1 directory with 6 updates Jul 29, 2026
@dependabot
dependabot Bot force-pushed the dependabot/pip/python-acad7d45bf branch from b1d7eda to 287aa0a Compare July 29, 2026 08:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python Pull requests that update python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants