Skip to content

chore(deps): bump the python-packaging group across 1 directory with 13 updates - #497

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/python-packaging-1f67ef3e09
Closed

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/python-packaging-1f67ef3e09

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 13, 2026

Copy link
Copy Markdown
Contributor

Bumps the python-packaging group with 13 updates in the / directory:

Package From To
certifi 2026.6.17 2026.7.22
polars 1.42.1 1.43.2
pytz 2026.2 2026.3.post1
temporalio 1.30.0 1.31.0
duckdb 1.5.4 1.5.5
coverage 7.15.2 7.15.4
hypothesis 6.152.7 6.165.2
commitizen 4.16.5 4.17.0
ruff 0.16.0 0.16.2
setuptools 83.0.0 84.0.0
twine 6.2.0 7.0.0
packaging 26.2 26.3
polars-runtime-32 1.42.1 1.43.2

Updates certifi from 2026.6.17 to 2026.7.22

Commits

Updates polars from 1.42.1 to 1.43.2

Release notes

Sourced from polars's releases.

Python Polars 1.43.2

⚠️ Deprecations

  • Deprecate casts from Categorical to integer dtypes (#28525)
  • Deprecate not setting the plan_stage argument in show_graph() (#28391)

🚀 Performance improvements

  • Pushdown len() to concat/union inputs (#28570)

✨ Enhancements

  • Issue FutureWarning on using from_arrow of ArrowStreamExportable (#28442)
  • Add infer_schema_files parameter to scan_csv (#28440)

🐞 Bug fixes

  • Properly propagate enum metadata for iceberg column mapping (#28580)
  • Correctly write parquet field IDs for enums and categoricals (#28581)
  • Fix arrow C interop binview offset (#28623)
  • Fix duplicate hive values in hive pre-partition rewrite (#28621)
  • Double-counted offset for Arrow export of sliced Series(Array) (#28602)
  • Struct/List/Array equality handling in sort and join (#28601)
  • More careful slice pushdown into joins (#28578)
  • Preserve ordering in sliced unions (#28576)
  • Drop input sortedness when casting to a string (#28574)
  • Clear sortedness flags in StringChunked substring kernels (#28573)
  • Bad mask handling when reading optional parquet column (#28547)
  • Any operation on Unknown(Int) and Unknown(Float) should result in Unknown(Float) (#28545)
  • Flip nulls_last after Expr.reverse() (#28572)
  • Fix high blocking thread use in sink_parquet with async local path (#28543)
  • Serialize LazyFrames backed by bytes (#28568)
  • Release GIL in SQLContext.execute() (#28549)
  • Propagate nulls_last in function_expr_sortedness (#28544)
  • Incorrect slicing when a join requires sorting (#28541)

🛠️ Other improvements

  • Fix duckdb delta extension install collision (#28607)

Thank you to all our contributors for making this release possible! @​BitWeaverDev, @​Matt711, @​Samoilov2004, @​borchero, @​dancsi, @​dsprenkels, @​kdn36, @​masumi-ryugo, @​nameexhaustion and @​ritchie46

Python Polars 1.43.1

🚀 Performance improvements

  • Optimize not(bool_f) to not_bool_f (#28474)

✨ Enhancements

... (truncated)

Commits
  • ae588a9 fix: Properly propagate enum metadata for iceberg column mapping (#28580)
  • f6c766a fix: Correctly write parquet field IDs for enums and categoricals (#28581)
  • 12f83f5 Python Polars 1.43.2 (#28625)
  • 1ec0668 fix: Fix arrow C interop binview offset (#28623)
  • af24b92 perf: Pushdown len() to concat/union inputs (#28570)
  • e79bdb0 fix: Fix duplicate hive values in hive pre-partition rewrite (#28621)
  • 7a6cdbc fix: Double-counted offset for Arrow export of sliced Series(Array) (#28602)
  • a2b0b2a fix: Struct/List/Array equality handling in sort and join (#28601)
  • 9aca544 ci: Fix duckdb delta extension install collision (#28607)
  • 7d6483b fix(rust): Use try_new in StructArray construction in polars-json (#27489)
  • Additional commits viewable in compare view

Updates pytz from 2026.2 to 2026.3.post1

Commits
  • 661bca9 Bump version numbers to 2026.3.post1 for python2 fix
  • 1e31a16 Log python version running tests, force python2
  • b3ca7c3 Unix line endings
  • b55039a Replace non-ASCII character in comment to fix build with Python 2
  • 5420ee2 Replace non-ASCII character in comment
  • 2c139e8 Merge branch 'fix/localize-overflow-at-datetime-extremes' of https://github.c...
  • c843864 Run zdump tests quietly
  • 518500c Reduce noise when collecting zdump info dumps
  • 081f935 Merge branch 'kytta-fix-dst' into 2026c
  • 8c9d69b Merge branch 'master' into 2026c
  • Additional commits viewable in compare view

Updates temporalio from 1.30.0 to 1.31.0

Release notes

Sourced from temporalio's releases.

1.31.0

Notable Changes

Added

  • Added the Worker max_eager_activity_reservations_per_workflow_task option for configuring the number of activity slots reserved for eager execution per workflow task. Configured values must be positive; use disable_eager_activity_execution to disable eager activity execution.

  • Added experimental SDK payload converter support for values and type hints decorated with @transfer_type_convertible(...) using a TransferTypeConverter class. This lets types with transfer type converters delegate their wire representation to the configured payload converter, preserving SDK behavior such as serialization contexts.

  • Added TLSConfig.verification_server_name to verify the server certificate against a fixed name instead of the connection's server name. Unlike domain, it does not change the TLS SNI or HTTP/2 authority values, which keep following the connected host, so it can be used when the server's certificate does not carry the dialed name but on-path infrastructure (e.g. an SNI-inspecting egress proxy) needs the SNI to remain resolvable. Requires server_root_ca_cert.

  • Added the experimental Worker patch_activation_callback option, allowing workers to decide whether a first non-replay workflow.patched call should activate a patch during rolling deployments.

Changed

  • Prepared replay-safe workflow activation scheduling that prevents cancellation from being lost when another event becomes ready in the same workflow task. The behavior is guarded by internal workflow logic flag 2 and remains disabled by default during its compatibility rollout. Maintainer reminder: keep flag 2 default-disabled for the first two published SDK releases that recognize it; enable it in the third release, remove the explicit overrides for this flag from tests/worker/test_workflow.py, and replace this rollout note with a Fixed entry announcing the behavior change.

💥 Breaking Changes

  • Custom workflow runners that construct WorkflowInstanceDetails must now pass payload_converter_factory instead of payload_converter_class. The factory returns the already wrapped payload converter that workflow instances should use.
  • System Nexus payload converter helpers added for generated bindings are now private implementation details, and the remaining public temporalio.nexus.system APIs are marked experimental and subject to change.
  • Payload size limits have moved from DataConverter to Client.connect. Pass payload_limits=PayloadLimitsConfig(...) (now exported from temporalio.client) instead of setting payload_limits on DataConverter. Config fields were renamed to payloads_warn_size and memo_warn_size, and the deprecated PayloadSizeWarning was removed.

... (truncated)

Changelog

Sourced from temporalio's changelog.

[1.31.0] - 2026-07-29

Added

  • Added the Worker max_eager_activity_reservations_per_workflow_task option for configuring the number of activity slots reserved for eager execution per workflow task. Configured values must be positive; use disable_eager_activity_execution to disable eager activity execution.

  • Added experimental SDK payload converter support for values and type hints decorated with @transfer_type_convertible(...) using a TransferTypeConverter class. This lets types with transfer type converters delegate their wire representation to the configured payload converter, preserving SDK behavior such as serialization contexts.

  • Added TLSConfig.verification_server_name to verify the server certificate against a fixed name instead of the connection's server name. Unlike domain, it does not change the TLS SNI or HTTP/2 authority values, which keep following the connected host, so it can be used when the server's certificate does not carry the dialed name but on-path infrastructure (e.g. an SNI-inspecting egress proxy) needs the SNI to remain resolvable. Requires server_root_ca_cert.

  • Added the experimental Worker patch_activation_callback option, allowing workers to decide whether a first non-replay workflow.patched call should activate a patch during rolling deployments.

  • Added external storage support to Nexus task handling.

Changed

  • Prepared replay-safe workflow activation scheduling that prevents cancellation from being lost when another event becomes ready in the same workflow task. The behavior is guarded by internal workflow logic flag 2 and remains disabled by default during its compatibility rollout. Maintainer reminder: keep flag 2 default-disabled for the first two published SDK releases that recognize it; enable it in the third release, remove the explicit overrides for this flag from tests/worker/test_workflow.py, and replace this rollout note with a Fixed entry announcing the behavior change.

💥 Breaking Changes

  • Custom workflow runners that construct WorkflowInstanceDetails must now pass payload_converter_factory instead of payload_converter_class. The factory returns the already wrapped payload converter that workflow instances should use.
  • System Nexus payload converter helpers added for generated bindings are now private implementation details, and the remaining public temporalio.nexus.system APIs are marked experimental and subject to change.
  • Payload size limits have moved from DataConverter to Client.connect. Pass payload_limits=PayloadLimitsConfig(...) (now exported from temporalio.client) instead of setting payload_limits on DataConverter. Config fields were renamed to payloads_warn_size and memo_warn_size, and the deprecated PayloadSizeWarning was removed.

... (truncated)

Commits
  • 84b519e Prepare release 1.31.0 (#1693)
  • 7d52c78 AI-374: Warn against passing secrets through MCP factory_argument (#1688)
  • 44511c5 Mark system Nexus envelope payloads (#1667)
  • a66bca1 Fix cancellations being swallowed in some circumstances (#1671)
  • 5df7192 Add type_hint to TransferTypeConverter.from_transfer_type (#1685)
  • 70ef047 Unify payload visitation into a single implementation by combining explicit r...
  • 43f5919 Make eager activity reservation limit configurable (#1674)
  • 60e3b73 Fix type checking for openai 2.45.0 (#1673)
  • 759876e 💥 Add transfer type payload conversion hooks (#1655)
  • f942f2c fix: exclude sdk-core gitfile from wheels (#1669)
  • Additional commits viewable in compare view

Updates duckdb from 1.5.4 to 1.5.5

Release notes

Sourced from duckdb's releases.

v1.5.5 Bugfix Release

See DuckDB's changelog for all changes in DuckDB.

What's Changed in DuckDB-Python

Commits

Updates coverage from 7.15.2 to 7.15.4

Release notes

Sourced from coverage's releases.

7.15.4

Version 7.15.4 — 2026-08-06

  • Fix: in the HTML report, a source file name containing a double quote (legal on POSIX) wasn’t escaped where it’s dropped into the href of the index and prev/next links, so it could close the attribute early and inject markup. Page URLs are now escaped. Thanks, Rajath Mohare.
  • Fix: the LCOV report wrote file names and other fields into its line-oriented records without neutralizing control characters. A measured file whose name contained a newline (legal on POSIX) could forge extra records, inflating the coverage seen by tools that read the report. Control characters in a field are now replaced. Thanks, Rajath Mohare.
  • Wheels are now provided for Python 3.15.

➡️  PyPI page: coverage 7.15.4. :arrow_right:  To install: python3 -m pip install coverage==7.15.4

7.15.3

Version 7.15.3 — 2026-08-02

  • Fix: the sysmon core is incompatible with dynamic contexts. Previously, the combination would be prevented when read from the coverage.py configuration. But using the context API as pytest-cov does, contexts would be silently dropped. Now a warning is issued, thanks to Jisang Han. Closes issue 2200.
  • A performance improvement in the low-level line number bookkeeping when combining data files, thanks to Kevin Turcios.
  • Performance improvement in HTML reporting by reducing the number of times files have to be parsed, thanks to Kevin Turcios.

➡️  PyPI page: coverage 7.15.3. :arrow_right:  To install: python3 -m pip install coverage==7.15.3

Changelog

Sourced from coverage's changelog.

Version 7.15.4 — 2026-08-06

  • Fix: in the HTML report, a source file name containing a double quote (legal on POSIX) wasn't escaped where it's dropped into the href of the index and prev/next links, so it could close the attribute early and inject markup. Page URLs are now escaped. Thanks, Rajath Mohare <pull 2227_>_.

  • Fix: the LCOV report wrote file names and other fields into its line-oriented records without neutralizing control characters. A measured file whose name contained a newline (legal on POSIX) could forge extra records, inflating the coverage seen by tools that read the report. Control characters in a field are now replaced. Thanks, Rajath Mohare <pull 2226_>_.

  • Wheels are now provided for Python 3.15.

.. _pull 2226: coveragepy/coveragepy#2226 .. _pull 2227: coveragepy/coveragepy#2227

.. _changes_7-15-3:

Version 7.15.3 — 2026-08-02

  • Fix: the sysmon core is incompatible with dynamic contexts. Previously, the combination would be prevented when read from the coverage.py configuration. But using the context API as pytest-cov does, contexts would be silently dropped. Now a warning is issued, thanks to Jisang Han <pull 2234_>. Closes issue 2200.

  • A performance improvement in the low-level line number bookkeeping when combining data files, thanks to Kevin Turcios <pull 2239_>_.

  • Performance improvement in HTML reporting by reducing the number of times files have to be parsed, thanks to Kevin Turcios <pull 2240_>_.

.. _issue 2200: coveragepy/coveragepy#2200 .. _pull 2234: coveragepy/coveragepy#2234 .. _pull 2239: coveragepy/coveragepy#2239 .. _pull 2240: coveragepy/coveragepy#2240

.. _changes_7-15-2:

Commits
  • 4c0e7ff docs: sample HTML for 7.15.4
  • db4cc32 docs: prep for 7.15.4
  • c33085c style: start gradual move to ruff 0.16
  • 53a0fd5 fix: neutralize control characters in lcov report fields (#2226)
  • b64d53d build: make 3.15 wheels
  • 53792ab build: show the python version for kits
  • f6b03c7 chore: make upgrade_one package=cibuildwheel
  • d9b660a chore: make upgrade
  • b128a31 docs: oops, move this entry to the correct place
  • a7a2c15 fix: escape filename urls in html report href attributes (#2227)
  • Additional commits viewable in compare view

Updates hypothesis from 6.152.7 to 6.165.2

Release notes

Sourced from hypothesis's releases.

Hypothesis for Python - version 6.152.9

This release substantially improves our internal distribution for generating integers. This release has the most visible effect on "integers()", but may incidentally improve other strategies which draw integers internally.

Our integers distribution had two problems. First, it had jagged discontinuities at certain values where we switched sampling approaches. Second, it used a different distribution for bounded and unbounded ranges, which resulted in "st.integers()" and "st.integers(-264, 264)" producing very different distributions despite being semantically similar.

We now use a smooth distribution for both "st.integers()" and "st.integers(a, b)", which fixes both of these issues. This should substantially improve our testing power in certain cases.

The only way this release should be user-visible is that it finds more bugs! If this release is user-visible in other ways - for example, because it is slower, or produces a worse distribution in some cases - please open an issue.

The canonical version of these notes (with links) is on readthedocs.

Hypothesis for Python - version 6.152.8

This release drops support for end-of-life Django 4.2.

The canonical version of these notes (with links) is on readthedocs.

Commits
  • deb4d49 Bump hypothesis version to 6.165.2 and update changelog
  • a9eff28 Merge pull request #4842 from HypothesisWorks/claude/invert-everything
  • c555e58 Cover the remaining _invert error paths in tests
  • f9882a3 Apply review feedback: type ValueHole.value as object, polish docs and tests
  • 8dca9e1 Restructure timezones() so its draws can be re-encoded
  • 7e309df Invert dictionaries, unique lists with tuple_suffixes, and fixed_dictionaries
  • 77ca292 Implement _invert for most remaining strategy combinators
  • 5b20755 Bump hypothesis version to 6.165.1 and update changelog
  • b4f2e92 Merge pull request #4806 from HypothesisWorks/claude/widening-shrinks
  • 9431e20 Apply suggestions from code review
  • Additional commits viewable in compare view

Updates commitizen from 4.16.5 to 4.17.0

Release notes

Sourced from commitizen's releases.

v4.17.0 (2026-07-29)

Feat

  • cmd/version: add support for --next USE_GIT_COMMITS

Fix

  • robuster agents
  • version: remove next from exclusive group
  • bump: use correct type for calling changelog
Commits
  • 93c7b51 bump: version 4.16.5 → 4.17.0
  • e0de830 feat(cmd/version): add support for --next USE_GIT_COMMITS
  • 9423859 fix: robuster agents
  • acd8bce fix(version): remove next from exclusive group
  • 653bf67 fix(bump): use correct type for calling changelog
  • 19f3b36 build(deps-dev): update uv-build requirement from <0.12,>=0.9.17 to >=0.9.17,...
  • 6f50f4b ci(deps): bump gitpython from 3.1.52 to 3.1.54 (#2038)
  • 542e7a5 ci(deps): bump pymdown-extensions from 10.21.3 to 11.0 (#2037)
  • d1766ae ci(deps): bump gitpython from 3.1.50 to 3.1.52 (#2035)
  • f087597 ci(deps): bump actions/labeler from 6 to 7 (#2034)
  • Additional commits viewable in compare view

Updates ruff from 0.16.0 to 0.16.2

Release notes

Sourced from ruff's releases.

0.16.2

Release Notes

Released on 2026-08-06.

Bug fixes

  • [flake8-pyi] Avoid false positives on singledispatch functions (PYI041) (#27335)

Server

  • Register formatting capabilities dynamically to exclude TOML files (#27332)

Contributors

Install ruff 0.16.2

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ruff/releases/download/0.16.2/ruff-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ruff/releases/download/0.16.2/ruff-installer.ps1 | iex"

Download ruff 0.16.2

File Platform Checksum
ruff-aarch64-apple-darwin.tar.gz Apple Silicon macOS checksum
ruff-x86_64-apple-darwin.tar.gz Intel macOS checksum
ruff-aarch64-pc-windows-msvc.zip ARM64 Windows checksum
ruff-i686-pc-windows-msvc.zip x86 Windows checksum
ruff-x86_64-pc-windows-msvc.zip x64 Windows checksum
ruff-aarch64-unknown-linux-gnu.tar.gz ARM64 Linux checksum
ruff-i686-unknown-linux-gnu.tar.gz x86 Linux checksum
ruff-powerpc64-unknown-linux-gnu.tar.gz PPC64 Linux checksum
ruff-powerpc64le-unknown-linux-gnu.tar.gz PPC64LE Linux checksum
ruff-riscv64gc-unknown-linux-gnu.tar.gz RISCV Linux checksum
ruff-s390x-unknown-linux-gnu.tar.gz S390x Linux checksum

... (truncated)

Changelog

Sourced from ruff's changelog.

0.16.2

Released on 2026-08-06.

Bug fixes

  • [flake8-pyi] Avoid false positives on singledispatch functions (PYI041) (#27335)

Server

  • Register formatting capabilities dynamically to exclude TOML files (#27332)

Contributors

0.16.1

Released on 2026-07-30.

Preview features

  • Add an option to opt out of human-readable names (#27160)
  • [flake8-pytest-style] Make fixes safe by default and unsafe only when comments are present (PT018) (#27201)
  • [pyupgrade] Skip fix when a defaulted TypeVar precedes a non-defaulted one (UP040, UP046, UP047) (#27133)
  • [ruff] Fix false positive with unpacked arguments (RUF065) (#26959)

Bug fixes

  • Bump gen-lsp-types to gracefully handle unknown enumeration values in LSP messages (#27230)
  • [flake8-bugbear] Mark range as immutable (B008) (#27247)
  • [flake8-comprehensions] NFKC-normalize keyword names in C408 fix (#26813)
  • [flake8-return] Fix false positive when variable is read in finally clause (RET504) (#25441)
  • [pydocstyle] Skip section detection inside RST directive bodies (D214, D405, D413) (#23635)
  • [refurb] Parenthesize yield arguments in the FURB192 fix (#27192)

Rule changes

  • [flake8-pytest-style] Mark PT022 fixes as unsafe (#26440)
  • [refurb] Mark fixes that remove unknown separators as unsafe (FURB105) (#27200)

Server

  • Fix indexing of excluded nested Ruff workspaces (#27303)
  • Lint TOML files in the LSP (#26862)

... (truncated)

Commits
  • 5b48a04 Bump 0.16.2 (#27555)
  • 1b9e5fc Update Swatinem/rust-cache action to v2.9.2 (#27568)
  • c4e86fc [ty] Add helper extension methods for half-range and equality constraints (#2...
  • 17a00de [ty] Reuse primer commands in memory reports (#27553)
  • 6ea296b [ty] Normalize type labels in structured docstrings (#26923)
  • 2fc445f [ty] Diagnose invalid getattr calls (#27502)
  • 22c7823 [ty] Enable (but downrank) auto-import completion suggestions from stub-only ...
  • 05160d5 [ty] Diagnose invalid descriptor __get__ calls (#27400)
  • baea3d0 [ty] Expose strict analysis options in the playground (#27543)
  • c88946e [ty] Bump ecosystem-analyzer for strict project settings (#27542)
  • Additional commits viewable in compare view

Updates setuptools from 83.0.0 to 84.0.0

Changelog

Sourced from setuptools's changelog.

v84.0.0

Features

  • Newline-separated keywords and platformspypa/setuptools#4887old specification <https://peps.python.org/pep-0345/>_ separated items with spaces and the current one uses commas. (#4887)
  • Extensionpypa/distutils#373#5022)
  • The C compiler modules now emit log messages through their own compilers.C.* loggers instead of the distutils root logger, part of decoupling the compilers package from distutils. The logger names are normalized to a stable compilers.C.* prefix so they remain constant as the package migrates toward a standalone compilers.C distribution. (#5266)
  • The C compilers gained a Compiler.call method -- a thin wrapper over subprocess.check_call (with macOS deployment-target env injection) that is the modern replacement for Compiler.spawn. The compilers no longer depend on distutils.spawn, distutils.dir_util, distutils.file_util, distutils._modified, or distutils.util.execute/split_quoted: the generic newer/newer_group and split_quoted helpers are vendored into the compilers package, and Compiler.mkpath/move_file/execute are implemented directly on the standard library (os.makedirs/shutil.move). The methods are retained for backward compatibility. (#5267)
  • The compilers no longer depend on distutils.util, distutils.version, distutils.compat, or distutils._macos_compat. The platform-identification helpers (get_platform/get_host_platform/is_mingw) now live in distutils.compilers.platform.detect and the macOS deployment-target logic and compiler_fixup in distutils.compilers.platform.macos; CygwinCCompiler.gcc_version returns a packaging.version.Version. distutils.util re-exports the platform/macOS helpers from their new homes for backward compatibility rather than keeping duplicate copies. (sysconfig lookups still route through distutils pending its own decoupling.) (#5268)
  • The compilers now read their build configuration from the standard library's sysconfig instead of distutils.sysconfig. Per-compiler customization -- previously distutils.sysconfig.customize_compiler -- has moved into Compiler.configure_system(): a no-op on the base class, with UnixCCompiler applying the compiler/flag/archiver settings CPython recorded in sysconfig (and the usual CC/CFLAGS/LDSHARED/… environment overrides). distutils.sysconfig.customize_compiler is retained as a thin wrapper that calls compiler.configure_system(). (#5269)

Bugfixes

  • The MSVC linker now passes its arguments through a response file when the command line would exceed the Windows maximum length, fixing failures when linking a large number of objects. (#4177)
  • The Cygwin and MinGW compilers now pass -O1 instead of a bare -O. The two are equivalent to GCC, but cc1 rejected the bare form when building 32-bit extensions with -m32. -- by :user:dchaudhari7177 (#4873)
  • copy_filepypa/distutils#379#5079)
  • Setuptools wheels no longer bundled the project's own test modules. -- by :user:itscloud0 (#5212)
  • build_ext no longer fails when cross-compiling with a compiler other than MSVC (such as MinGW). Compiler now provides a no-op initialize()pypa/distutils#399

Improved Documentation

  • Clarified what "correspond exactly to the directory structure" means in the packages section of the Package Discovery user guide. (#4109)
  • Documented how bdist_wheel's py_limited_api option controls abi3 wheel tagging for extension modules -- by :user:Himanshuagrawal4 (#4741)

Deprecations and Removals

  • Compiler.spawn is deprecated in favor of the new Compiler.call. call raises native subprocess exceptions; spawn remains as a shim that emits a DeprecationWarning and translates them to DistutilsExecError. The MSVC spawn compatibility shim for third-party monkeypatches predating the env argument (numpy.distutils before 1.19, per pypa/distutils#15) has been removed. distutils.spawn.spawn is likewise reduced to a thin wrapper around subprocess.check_call: it no longer resolves cmd[0] via shutil.which (subprocess searches PATH itself) nor injects MACOSX_DEPLOYMENT_TARGET (that now lives with the compilers, the only callers to which it applied). (#5267)
  • Building an extension with a MACOSX_DEPLOYMENT_TARGET lower than the interpreter's configured value now raises compilers.errors.PlatformError instead of distutils.errors.DistutilsPlatformError (the macOS deployment-target check moved into the compilers package). CygwinCCompiler.gcc_version returns a packaging.version.Version rather than the removed distutils.version.LooseVersion. Completing the transition begun in pypa/distutils#246, UnixCCompiler.runtime_library_dir_option now returns the ["-Wl,--enable-new-dtags", "-Wl,-rpath,<dir>"] list directly for GNU ld rather than collapsing it into a single string, and the temporary distutils.compat.consolidate_linker_args shim has been removed. (#5268)
  • The compilers now define their own exception vocabulary instead of borrowing distutils' framework errors. Language-agnostic exceptions (Error, UnknownFileType, and a new PlatformError) live at distutils.compilers.errors, leaving room for future compilers.<language> siblings; the C/C++-specific CompileError/LinkError/LibError/PreprocessError remain in distutils.compilers.C.errors. The compilers now raise compilers.errors.PlatformError where they previously raised distutils.errors.DistutilsPlatformError/DistutilsModuleError, and compilers._modified.newer raises the stdlib FileNotFoundError. distutils.errors keeps its own framework exceptions and re-exports the compiler ones (CCompilerError, CompileError, etc.) for backward compatibility; because CCompilerError is compilers.errors.Error, code catching it (as distutils' top-level handlers do) still catches the new PlatformError. (#5270)
  • customize_compiler now asserts that the compiler-related config variables (CC, CXX, CFLAGS, etc.) resolve to strings, raising AssertionError if any are unexpectedly Nonepypa/distutils#363
Commits
  • 72e919a Merge pull request #5293 from pypa/bugfix/integration-pip-flit-backend
  • 1b29701 Select the top-level pyproject.toml when reading build requirements
  • bb1b381 Bump version: 83.0.0 → 84.0.0
  • ee6fdd7 Sync with distutils @ e8eb87855 (#5292)
  • 2a4a9e4 Merge remote-tracking branch 'origin/main' into distutils-e8eb87855
  • cbd1195 Merge https://github.com/jaraco/skeleton
  • bd3594e Merge pull request #5287 from Avasam/Configuring-lint.flake8-comprehensions.a...
  • f02e90a Configure C408 to allow dict(a=1) rather than disabling it
  • c55f52b Configuring lint.flake8-comprehensions.allow-dict-calls-with-keyword-argument...
  • e9904b0 Match the distutils sdist base type for the user_options override
  • Additional commits viewable in compare view

Updates twine from 6.2.0 to 7.0.0

Changelog

Sourced from twine's changelog.

twine 7.0.0 (2026-07-27)

Bugfixes ^^^^^^^^

  • Specify UTF-8 encoding when reading .pypirc files. ([#1268](https://github.com/pypa/twine/issues/1268) <https://github.com/pypa/twine/issues/1268>_)
  • Add missing subdependencies to --version output. ([#1275](https://github.com/pypa/twine/issues/1275) <https://github.com/pypa/twine/issues/1275>_)
  • The dependency on rich has been bumped to avoid a hang in some environments. ([#1308](https://github.com/pypa/twine/issues/1308) <https://github.com/pypa/twine/issues/1308>_)
  • Indices that respond with non-standard HTTP codes are now handled more gracefully. ([#1309](https://github.com/pypa/twine/issues/1309) <https://github.com/pypa/twine/issues/1309>_)

Deprecations and Removals ^^^^^^^^^^^^^^^^^^^^^^^^^

  • Fix uploading packages with metadata version 2.5. The fix no longer allows metadata version 2.0, which was never officially standardised. ([#1317](https://github.com/pypa/twine/issues/1317) <https://github.com/pypa/twine/issues/1317>_)

Misc ^^^^

  • [#1298](https://github.com/pypa/twine/issues/1298) <https://github.com/pypa/twine/issues/1298>_
Commits

…13 updates

Bumps the python-packaging group with 13 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [certifi](https://github.com/certifi/python-certifi) | `2026.6.17` | `2026.7.22` |
| [polars](https://github.com/pola-rs/polars) | `1.42.1` | `1.43.2` |
| [pytz](https://github.com/stub42/pytz) | `2026.2` | `2026.3.post1` |
| [temporalio](https://github.com/temporalio/sdk-python) | `1.30.0` | `1.31.0` |
| [duckdb](https://github.com/duckdb/duckdb-python) | `1.5.4` | `1.5.5` |
| [coverage](https://github.com/coveragepy/coveragepy) | `7.15.2` | `7.15.4` |
| [hypothesis](https://github.com/HypothesisWorks/hypothesis) | `6.152.7` | `6.165.2` |
| [commitizen](https://github.com/commitizen-tools/commitizen) | `4.16.5` | `4.17.0` |
| [ruff](https://github.com/astral-sh/ruff) | `0.16.0` | `0.16.2` |
| [setuptools](https://github.com/pypa/setuptools) | `83.0.0` | `84.0.0` |
| [twine](https://github.com/pypa/twine) | `6.2.0` | `7.0.0` |
| [packaging](https://github.com/pypa/packaging) | `26.2` | `26.3` |
| [polars-runtime-32](https://github.com/pola-rs/polars) | `1.42.1` | `1.43.2` |



Updates `certifi` from 2026.6.17 to 2026.7.22
- [Commits](certifi/python-certifi@2026.06.17...2026.07.22)

Updates `polars` from 1.42.1 to 1.43.2
- [Release notes](https://github.com/pola-rs/polars/releases)
- [Commits](pola-rs/polars@py-1.42.1...py-1.43.2)

Updates `pytz` from 2026.2 to 2026.3.post1
- [Release notes](https://github.com/stub42/pytz/releases)
- [Commits](stub42/pytz@release_2026.2...release_2026.3.post1)

Updates `temporalio` from 1.30.0 to 1.31.0
- [Release notes](https://github.com/temporalio/sdk-python/releases)
- [Changelog](https://github.com/temporalio/sdk-python/blob/main/CHANGELOG.md)
- [Commits](temporalio/sdk-python@1.30.0...1.31.0)

Updates `duckdb` from 1.5.4 to 1.5.5
- [Release notes](https://github.com/duckdb/duckdb-python/releases)
- [Commits](duckdb/duckdb-python@v1.5.4...v1.5.5)

Updates `coverage` from 7.15.2 to 7.15.4
- [Release notes](https://github.com/coveragepy/coveragepy/releases)
- [Changelog](https://github.com/coveragepy/coveragepy/blob/main/CHANGES.rst)
- [Commits](coveragepy/coveragepy@7.15.2...7.15.4)

Updates `hypothesis` from 6.152.7 to 6.165.2
- [Release notes](https://github.com/HypothesisWorks/hypothesis/releases)
- [Commits](HypothesisWorks/hypothesis@hypothesis-python-6.152.7...v6.165.2)

Updates `commitizen` from 4.16.5 to 4.17.0
- [Release notes](https://github.com/commitizen-tools/commitizen/releases)
- [Changelog](https://github.com/commitizen-tools/commitizen/blob/master/CHANGELOG.md)
- [Commits](commitizen-tools/commitizen@v4.16.5...v4.17.0)

Updates `ruff` from 0.16.0 to 0.16.2
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](astral-sh/ruff@0.16.0...0.16.2)

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

Updates `twine` from 6.2.0 to 7.0.0
- [Release notes](https://github.com/pypa/twine/releases)
- [Changelog](https://github.com/pypa/twine/blob/main/docs/changelog.rst)
- [Commits](pypa/twine@6.2.0...7.0.0)

Updates `packaging` from 26.2 to 26.3
- [Release notes](https://github.com/pypa/packaging/releases)
- [Changelog](https://github.com/pypa/packaging/blob/main/CHANGELOG.rst)
- [Commits](pypa/packaging@26.2...26.3)

Updates `polars-runtime-32` from 1.42.1 to 1.43.2
- [Release notes](https://github.com/pola-rs/polars/releases)
- [Commits](pola-rs/polars@py-1.42.1...py-1.43.2)

---
updated-dependencies:
- dependency-name: certifi
  dependency-version: 2026.7.22
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packaging
- dependency-name: polars
  dependency-version: 1.43.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packaging
- dependency-name: pytz
  dependency-version: 2026.3.post1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packaging
- dependency-name: temporalio
  dependency-version: 1.31.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packaging
- dependency-name: duckdb
  dependency-version: 1.5.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: python-packaging
- dependency-name: coverage
  dependency-version: 7.15.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: python-packaging
- dependency-name: hypothesis
  dependency-version: 6.165.2
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-packaging
- dependency-name: commitizen
  dependency-version: 4.17.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-packaging
- dependency-name: ruff
  dependency-version: 0.16.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: python-packaging
- dependency-name: setuptools
  dependency-version: 84.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: python-packaging
- dependency-name: twine
  dependency-version: 7.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: python-packaging
- dependency-name: packaging
  dependency-version: '26.3'
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packaging
- dependency-name: polars-runtime-32
  dependency-version: 1.43.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packaging
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added the modern-tooling Modern tooling, CI, release, coverage, and packaging hygiene label Aug 13, 2026
@dependabot @github

dependabot Bot commented on behalf of github Aug 17, 2026

Copy link
Copy Markdown
Contributor Author

Looks like these dependencies are updatable in another way, so this is no longer needed.

@dependabot dependabot Bot closed this Aug 17, 2026
@dependabot
dependabot Bot deleted the dependabot/pip/python-packaging-1f67ef3e09 branch August 17, 2026 14:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

modern-tooling Modern tooling, CI, release, coverage, and packaging hygiene

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants