Skip to content

Bump the python-dependencies group across 1 directory with 10 updates - #997

Open
dependabot[bot] wants to merge 1 commit into
devfrom
dependabot/uv/python-dependencies-314920406b
Open

dependabot[bot] wants to merge 1 commit into
devfrom
dependabot/uv/python-dependencies-314920406b

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Nov 1, 2026

Copy link
Copy Markdown
Contributor

Bumps the python-dependencies group with 10 updates in the / directory:

Package From To
pytest 9.1.1 9.2.0
mypy 2.4.0 2.4.1
pytest-asyncio 1.4.0 1.4.1
ruff 0.17.1 0.17.3
uv 0.13.5 0.13.6
multidict 7.1.0 7.2.1
platformdirs 4.13.5 4.14.0
python-discovery 1.6.4 1.6.7
tzdata 2026.5 2026.6
virtualenv 21.14.12 21.15.1

Updates pytest from 9.1.1 to 9.2.0

Release notes

Sourced from pytest's releases.

9.2.0

pytest 9.2.0 (2026-10-27)

Removals and backward incompatible breaking changes

  • #14716: -c now raises a usage error for a path that does not exist, is a directory, or is in a format pytest has no loader for. Such paths were previously either ignored or reported as an unhandled FileNotFoundError.

  • #8593: The indirect, ids and scope arguments of Metafunc.parametrize() <pytest.Metafunc.parametrize> -- and therefore of @pytest.mark.parametrize <pytest.mark.parametrize ref> -- are now keyword-only.

    Passing them positionally was a common source of confusing errors, e.g. parametrize("arg1", "arg2", [(1, 2)]) made the argvalues land in indirect and failed with indirect fixture '(1, 2)' doesn't exist; such mistakes now fail with an understandable TypeError. The type annotations have always declared these arguments as keyword-only.

  • #993: Plugin import failures at startup are now reported and classified instead of escaping as a raw traceback with the accidental exit code 1:

    • a plugin that cannot be found -- via -p, pytest_plugins or PYTEST_PLUGINS -- exits with pytest.ExitCode USAGE_ERROR (4), like a conftest.py that fails to import;
    • a plugin that is found but raises while importing -- including a broken pytest11 entry point or a missing plugin dependency -- exits with pytest.ExitCode INTERNAL_ERROR (3), with the traceback preserved.

    pytest.main now returns these codes instead of raising ImportError. Also fixed an IndexError from pytest's own internals when the plugin raised an exception with no arguments.

Deprecations (removal in next major release)

  • #14742: The private _pytest.python.CallSpec2 name has been renamed to CallSpec. The old CallSpec2 alias remains available for now and will be removed in pytest 10 or 11.

  • #14755: Schedule yield_fixture decorator for removal in pytest 10 or 11.

  • #14774: Similarly to the deprecation of class-scoped fixtures defined as instance methods in pytest 9.1, all higher-scoped fixtures (module, package, and session) defined as instance methods are now deprecated.

    They suffer from the same issue the original deprecation only fixed for class-scoped fixtures, see 10819 and 14011.

  • #14808: Passing a non-string value to a string-typed ini option now emits a pytest.PytestRemovedIn10Warning. This affects [tool.pytest.ini_options] in pyproject.toml. In pytest 10 this will raise a TypeError, matching the behavior of the corresponding TOML config path.

  • #7323: Passing bytes to TerminalReporter.write_line() is now deprecated, pass a str instead.

New features

  • #14743: Full diff: now contains a legend explaining the + & - symbols in diff output.
  • #2781: When strict_markers is enabled, marker names used in -m expressions are now validated against registered markers.
  • #6881: Added the parametrize_long_str_id_strategy configuration option to control how long str/bytes parameter values are handled in auto-generated test IDs. Explicit IDs set via ids=[...] or pytest.param(..., id=...) are not affected. Available strategies: short (default, values over 100 chars fall back to argname+index), sha256 (SHA-256 hex digest), legacy (keep full value), and disallow (error requesting explicit IDs).

Improvements in existing functionality

  • #10745: A RecursionError whose recursion origin cannot be located now shows only the first and last 10 stack frames, matching what pytest already did when locating the origin failed outright. Previously the full traceback -- often around a thousand near-identical frames -- was rendered, which was both slow and unreadable. Pass --full-trace to see every frame.

... (truncated)

Commits
  • ae1d0ff Prepare release version 9.2.0
  • 143ce31 pre-commit: exclude codespell on generated release announcements
  • 532dc5f tox: add attrs dependency to regen, needed in reportingdemo.rst
  • a7b2446 Merge pull request #15245 from pytest-dev/claude/project-thread-9jcf91
  • 679d09c [pre-commit.ci] pre-commit autoupdate (#15266)
  • 41d12cd docs: clarify typing for yield fixtures
  • b9022ba Merge pull request #15182 from 1871698/docs/improve-getting-started-description
  • 16f87a7 docs: improve getting-started.rst test execution description
  • 082ed70 Merge pull request #15255 from pytest-dev/claude/project-thread-eoi3d6
  • ae37a01 Merge pull request #15227 from pytest-dev/claude/project-thread-4etye4
  • Additional commits viewable in compare view

Updates mypy from 2.4.0 to 2.4.1

Changelog

Sourced from mypy's changelog.

Mypy 2.4.1

  • Process overloads as a whole in two-phase type checking (Ivan Levkivskyi, PR 22231)
  • Skip recursive setup for frame-private nested functions in mypyc (Piotr Sawicki, PR 22187)

Acknowledgements

Thanks to all mypy contributors who contributed to this release:

  • A5rocks
  • Adam Dangoor
  • Alex Waygood
  • Ali Hamdan
  • Brian Helba
  • Chad Dombrova
  • David Foster
  • dnwpark
  • Edgar Ramírez Mondragón
  • Giorgos Michas
  • Ivan Levkivskyi
  • Jelle Zijlstra
  • Jukka Lehtosalo
  • Marc Mueller
  • Michael R. Crusoe
  • NIYONSHUTI Emmanuel
  • Piotr Sawicki
  • Shantanu
  • themylogin
  • Vaggelis Danias
  • Willy Bruns

I'd also like to thank my employer, Dropbox, for supporting mypy development.

Mypy 2.3

We've just uploaded mypy 2.3.0 to the Python Package Index (PyPI). Mypy is a static type checker for Python. This release includes new features, performance improvements and bug fixes. You can install it as follows:

python3 -m pip install -U mypy

You can read the full documentation for this release on Read the Docs.

The Upcoming Switch to the New Native Parser

We are planning to enable the new native parser (--native-parser) by default soon. We recommend that you test the native parser in your projects and report any issues in the mypy issue tracker.

Mypyc Free-threading Memory Safety

... (truncated)

Commits

Updates pytest-asyncio from 1.4.0 to 1.4.1

Release notes

Sourced from pytest-asyncio's releases.

pytest-asyncio v1.4.1

1.4.1 - 2026-10-25

Added

  • Declared support for Python 3.15 (#1588)

Fixed

  • Allow AsyncIterable as a return type for asynchronous generator fixtures decorated with pytest_asyncio.fixture (#1090)

Notes for Downstream Packagers

  • Source-tree development dependencies now use PEP 735 dependency groups and uv.lock. (#1518)
Commits
  • 6af7f5c chore: Prepare release of v1.4.1.
  • 32ccf64 Support 3.15 (#1588)
  • 9830071 Build(deps): Bump certifi from 2026.6.17 to 2026.10.19 (#1590)
  • 0238023 Build(deps): Bump virtualenv from 21.7.13 to 21.14.13 (#1589)
  • 93893ec Build(deps): Bump astral-sh/setup-uv from 10.2.0 to 10.3.0 (#1583)
  • f287e5e Build(deps): Bump actions/download-artifact from 8.0.1 to 8.0.2 (#1581)
  • b71da4f Build(deps-dev): Bump hypothesis from 6.168.3 to 6.168.5 (#1582)
  • d8c51d8 Build(deps): Bump actions/upload-artifact from 7.0.1 to 7.0.2 (#1580)
  • b12808b Build(deps): Bump virtualenv from 21.7.12 to 21.7.13 (#1578)
  • e0601f0 Build(deps-dev): Bump coverage from 7.16.1 to 7.16.2 (#1577)
  • Additional commits viewable in compare view

Updates ruff from 0.17.1 to 0.17.3

Release notes

Sourced from ruff's releases.

0.17.3

Release Notes

Released on 2026-10-26.

Preview features

  • [suspicious] Add shared-clock-mock (#29074)

Bug fixes

  • [pyupgrade] Avoid incorrect conversions to f-strings (UP032) (#25485)

Performance

  • Buffer stdout in ruff format (#29631)
  • Specialize ASCII identifier lexing (#29503)
  • Speed up identifier and keyword lexing (#29463)

Documentation

  • [flake8-bandit] Describe what the rule actually checks for httpx (S113) (#27936)

Contributors

Install ruff 0.17.3

Install prebuilt binaries via shell script

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

Install prebuilt binaries via powershell script

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

Download ruff 0.17.3

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

... (truncated)

Changelog

Sourced from ruff's changelog.

0.17.3

Released on 2026-10-26.

Preview features

  • [suspicious] Add shared-clock-mock (#29074)

Bug fixes

  • [pyupgrade] Avoid incorrect conversions to f-strings (UP032) (#25485)

Performance

  • Buffer stdout in ruff format (#29631)
  • Specialize ASCII identifier lexing (#29503)
  • Speed up identifier and keyword lexing (#29463)

Documentation

  • [flake8-bandit] Describe what the rule actually checks for httpx (S113) (#27936)

Contributors

0.17.2

Released on 2026-10-22.

Preview features

  • [complexity] Add unnecessary-regular-expression-compile (#25533)

Bug fixes

  • Avoid syntax errors for type variables with starred constraints (UP040, UP046, UP047, RUF053) (#28362)
  • [pydocstyle] Treat backslash-escaped *args and **kwargs as documented (D417) (#29536)
  • [pylint] Avoid false positive on starred elements (PLE0643) (#29483)
  • [pylint] Mark fixes unsafe when deleting comments (PLR5501, PLW0120) (#29414)
  • [pyupgrade] Mark fix unsafe when deleting comments (UP035) (#29413)

Performance

  • Avoid intermediate names in lint name resolution (#29506)
  • Prefilter bidirectional Unicode checks by UTF-8 leading bytes (#29561)
  • Share postfix parsing and reduce expression copies (#29480)

... (truncated)

Commits

Updates uv from 0.13.5 to 0.13.6

Release notes

Sourced from uv's releases.

0.13.6

Release Notes

Released on 2026-10-26.

Enhancements

  • Accept an empty UV_RUN_RECURSION_DEPTH as zero and report invalid values consistently (#22814)
  • Explain how to add project metadata when uv init finds a pyproject.toml without a [project] table (#22916)

Python

  • Add CPython 3.11.18, 3.12.16, 3.13.18, 3.14.10, and 3.15.2 (#22938)

Preview features

  • Detect NVIDIA GPU capabilities when selecting compatible wheel variants with wheel-variants (#22690)
  • Nest each module's owners in an object in uv workspace metadata output (#22638)
  • Report the unsupported properties required by an incompatible wheel variant (#22719)

Performance

  • Reduce peak memory use when resolving large workspaces (#22860, #22863, #22864, #22866, #22870)
  • Reduce peak memory use when locking or upgrading large projects (#22833, #22834)
  • Speed up redirected output from uv export and uv pip compile (#22840)
  • Reuse cached or active environments when running PEP 723 scripts without dependencies (#21458)
  • Reduce parsing overhead for build dependency and build backend settings (#22848, #22871, #22879, #22884)
  • Reduce parsing overhead for project sources and workspace references (#22880, #22883)
  • Reduce parsing overhead for cache, exclusion, cutoff, and preview settings (#22876, #22877, #22878, #22887)
  • Reduce PyPI metadata parsing overhead (#22874, #22875)
  • Speed up parsing tool receipt requirements (#22885)

Bug fixes

  • Prevent uv run --active --script and uv sync --active --script from deleting non-virtual-environment directories (#21464)
  • Use AMD64 for platform_machine when resolving for x86-64 Windows (#22935)
  • Preserve free-threaded and other non-default variants in uv python upgrade (#22836)
  • Allow uv init --no-package and uv init --script when UV_INIT_BUILD_BACKEND is set (#22907)
  • Prevent panics when rendering containment markers with local versions (#22815)

Documentation

  • Update the Docker guide and reproduction examples to use uv 0.13.5 (#22867)

Install uv 0.13.6

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/uv/releases/download/0.13.6/uv-installer.sh | sh
</tr></table> 

... (truncated)

Changelog

Sourced from uv's changelog.

0.13.6

Released on 2026-10-26.

Enhancements

  • Accept an empty UV_RUN_RECURSION_DEPTH as zero and report invalid values consistently (#22814)
  • Explain how to add project metadata when uv init finds a pyproject.toml without a [project] table (#22916)

Python

  • Add CPython 3.11.18, 3.12.16, 3.13.18, 3.14.10, and 3.15.2 (#22938)

Preview features

  • Detect NVIDIA GPU capabilities when selecting compatible wheel variants with wheel-variants (#22690)
  • Nest each module's owners in an object in uv workspace metadata output (#22638)
  • Report the unsupported properties required by an incompatible wheel variant (#22719)

Performance

  • Reduce peak memory use when resolving large workspaces (#22860, #22863, #22864, #22866, #22870)
  • Reduce peak memory use when locking or upgrading large projects (#22833, #22834)
  • Speed up redirected output from uv export and uv pip compile (#22840)
  • Reuse cached or active environments when running PEP 723 scripts without dependencies (#21458)
  • Reduce parsing overhead for build dependency and build backend settings (#22848, #22871, #22879, #22884)
  • Reduce parsing overhead for project sources and workspace references (#22880, #22883)
  • Reduce parsing overhead for cache, exclusion, cutoff, and preview settings (#22876, #22877, #22878, #22887)
  • Reduce PyPI metadata parsing overhead (#22874, #22875)
  • Speed up parsing tool receipt requirements (#22885)

Bug fixes

  • Prevent uv run --active --script and uv sync --active --script from deleting non-virtual-environment directories (#21464)
  • Use AMD64 for platform_machine when resolving for x86-64 Windows (#22935)
  • Preserve free-threaded and other non-default variants in uv python upgrade (#22836)
  • Allow uv init --no-package and uv init --script when UV_INIT_BUILD_BACKEND is set (#22907)
  • Prevent panics when rendering containment markers with local versions (#22815)

Documentation

  • Update the Docker guide and reproduction examples to use uv 0.13.5 (#22867)
Commits
  • 329bf94 Bump version to 0.13.6 (#22947)
  • 5b5a53e Use checked-in Python download metadata for release preparation (#22945)
  • b8b339f Update Rust crate h2 to v0.4.19 (#21873)
  • 1eb5989 Update Rust crate hyper to v1.11.1 (#20903)
  • 68677f5 Update Rust crate reqwest to v0.13.5 (#22475)
  • 69e574e Cargo vet integration (#21610)
  • acee8d9 Sync latest Python releases, Python 3.11.18, 3.12.16, 3.13.18, 3.14.10, 3.15....
  • 4b46af0 Fix io-bound Windows CI nextest grouping (#22939)
  • d397ecb Add hints when uv init finds pyproject.toml without a project table (#22916)
  • 7b5d227 Let --no-package and --script take precedence over `UV_INIT_BUILD_BACKEND...
  • Additional commits viewable in compare view

Updates multidict from 7.1.0 to 7.2.1

Release notes

Sourced from multidict's releases.

7.2.1

Bug fixes

  • Fixed a regression in 7.2.0 where a subclass of MultiDictProxy or CIMultiDictProxy that converted its argument in its own __init__() raised TypeError before that __init__() ran; such a subclass got an empty multidict until its __init__() set the proxied one -- by @​asvetlov.

    Related issues and pull requests on GitHub: #1824, #1825.


7.2.0 drops Python 3.10, fixes a crash in a proxy built without __init__() and a MemoryError from a huge __length_hint__(), and is otherwise a performance release for the C extension: lookups, adds, updates and deletes each needed a few percent fewer instructions.

Bug fixes

  • Stopped a huge __length_hint__() from raising MemoryError in extend(), update() and merge(); the C extension capped the room it reserved for the hint at the largest table the constructor allocates up front -- by @​asvetlov.

    Related issues and pull requests on GitHub: #1767.

  • Fixed a segmentation fault when using a MultiDictProxy or CIMultiDictProxy built by __new__() without __init__(); __new__() started requiring the proxied multidict, the same argument as the constructor -- by @​asvetlov.

    Related issues and pull requests on GitHub: #1782.

Features

  • Sped up reading a multidict in the C extension. md[key], get() and getone() became up to 7% faster by returning the lookup's result by value instead

... (truncated)

Changelog

Sourced from multidict's changelog.

7.2.1

(2026-10-24)

Bug fixes

  • Fixed a regression in 7.2.0 where a subclass of :class:~multidict.MultiDictProxy or :class:~multidict.CIMultiDictProxy that converted its argument in its own __init__() raised :exc:TypeError before that __init__() ran; such a subclass got an empty multidict until its __init__() set the proxied one -- by :user:asvetlov.

    Related issues and pull requests on GitHub: :issue:1824, :issue:1825.


7.2.0

(2026-10-23)

7.2.0 drops Python 3.10, fixes a crash in a proxy built without __init__() and a :exc:MemoryError from a huge __length_hint__(), and is otherwise a performance release for the C extension: lookups, adds, updates and deletes each needed a few percent fewer instructions.

Bug fixes

  • Stopped a huge __length_hint__() from raising :exc:MemoryError in :meth:~multidict.MultiDict.extend, :meth:~multidict.MultiDict.update and :meth:~multidict.MultiDict.merge; the C extension capped the room it reserved for the hint at the largest table the constructor allocates up front -- by :user:asvetlov.

    Related issues and pull requests on GitHub: :issue:1767.

  • Fixed a segmentation fault when using a :class:~multidict.MultiDictProxy or :class:~multidict.CIMultiDictProxy built by __new__() without __init__(); __new__() started requiring the proxied multidict, the same argument as the constructor -- by :user:asvetlov.

... (truncated)

Commits
  • f50870c Release 7.2.1 (#1826)
  • 6526b96 Let proxy subclasses convert their argument in init() (#1825)
  • 3d08ebe Keep the sdist in the deploy group that makes the Release (#1822)
  • 17b8e41 Build(deps): Bump pypa/cibuildwheel from 4.3.1 to 4.3.2 (#1823)
  • 57ffa0c Fix the huge length hint test on 32-bit builds (#1821)
  • 8dcff50 Release 7.2.0 (#1819)
  • a2cc61c Pin Hypothesis in the MyPy hooks, drop an unused type: ignore (#1820)
  • b933263 Refresh the benchmark tables (#1818)
  • edfc84d Inline the GIL contains lookup, take an add's references after the table is r...
  • b2f65b8 Refresh the benchmark tables (#1816)
  • Additional commits viewable in compare view

Updates platformdirs from 4.13.5 to 4.14.0

Release notes

Sourced from platformdirs's releases.

4.14.0

Features

  • Accept a keyword-only ensure_exists in the module-level media directory functions, such as user_documents_path, to create a directory set through XDG_*_DIR or user-dirs.dirs (#656) by @​darrenhuai and @​gaborbernat.

Bug fixes

  • Return the media and fonts directories under root's home for root with use_site_for_root, ignoring the invoking user's XDG_*_DIR, user-dirs.dirs and XDG_DATA_HOME, and create no inherited media directory under ensure_exists (#661) by @​gaborbernat.
  • Raise ValueError from site_data_dir and site_config_dir under multipath=True when appname or version contains os.pathsep, rather than returning a string that splits into a directory outside the site base (#662) by @​gaborbernat.
  • Parse an unquoted user-dirs.dirs value with a long run of blanks in linear time, rather than in time quadratic in the run's length on every Unix media directory lookup (#663) by @​gaborbernat.
  • Treat a relative HOME as unset on Unix, macOS and iOS, taking the home from the password database or raising RuntimeError, rather than resolving user directories against the working directory (#664) by @​gaborbernat.
  • Refuse a symlink as XDG_RUNTIME_DIR in user_runtime_dir when the value ends with / or /., which made the check follow the link (#665) by @​gaborbernat.
  • Redirect user_*_dir calls with use_site_for_root=True when the effective uid is 0, so a setuid-root process gets the site directories, and name and check the runtime directory by the effective uid (#666) by @​gaborbernat.
  • Apply the XDG_RUNTIME_DIR check of the Unix user_runtime_dir to the macOS one, so it no longer uses a directory that is a symlink, owned by another user or not mode 0700 (#667) by @​gaborbernat.
  • Reject an XDG_RUNTIME_DIR below a parent that another user can replace, such as their own entry in /tmp, instead of creating the runtime directory through it (#668) by @​gaborbernat.
  • Stop accepting a Unix runtime directory that another user creates between the owner check and its use: ensure_exists and place_runtime_file create it before checking it, and find_runtime_file checks it again after a hit (#669) by @​gaborbernat.
  • Raise PermissionError on macOS when ensure_exists would create the site cache through a /Library/Caches/$appname that is a symlink, not a directory, or owned by a user other than root and the current one (#670) by @​gaborbernat.
  • With ensure_exists, raise FileExistsError when a configured media directory such as user_documents_dir is a regular file or a symlink to one, instead of returning the file's path. Dangling symlinks are still returned unchanged (#672) by @​rupayon123 and @​gaborbernat.

New Contributors

PyPI release

Full Changelog

4.13.7

Bug fixes

  • Fall back to the default media directories when user-dirs.dirs exists but cannot be read, rather than raising PermissionError or IsADirectoryError (#632) by @​Debasishhh and @​gaborbernat.
  • Resolve the Windows Projects directory from USERPROFILE when HOME is empty, rather than raising RuntimeError (#635) by @​pabszero and @​gaborbernat.
  • Resolve $HOME entries in user-dirs.dirs to /Documents instead of //Documents when the home directory is / (#636) by @​darrenhuai and @​gaborbernat.
  • Print the error and keep listing directories in python -m platformdirs when the home directory is unknown, rather than stopping with RuntimeError (#638) by @​tongwentao and @​gaborbernat.
  • Raise FileNotFoundError from the place_*_file methods when the user directory is on a missing Windows drive or network share, rather than recursing until RecursionError (#639) by @​nk-batman21 and @​gaborbernat.
  • Search the directories of a subclass's overridden iter_*_paths method in find_*_file and find_*_files, rather than the base class ones (#640) by @​KennyMcSimpson and @​gaborbernat.
  • Keep isolated_dirs paths under a relative root after the working directory changes, and yield the root as an absolute path (#643) by @​0x5t4l1n and @​gaborbernat.
  • Ignore Windows folder overrides with a UNC path missing its server or share name, such as \\server, instead of treating the application name as the share (#647) by @​RedCat888 and @​gaborbernat.

Documentation

  • Remove the literal /opt/homebrew from a macOS source comment. Homebrew replaces it with a placeholder when bottling on Apple Silicon but not on Linux, so formulae that bundle platformdirs could not share one bottle across both (#644) by @​Moisan and @​gaborbernat.

... (truncated)

Changelog

Sourced from platformdirs's changelog.

########### Changelog ###########

.. towncrier-draft-entries:: Unreleased

.. towncrier release notes start

.. _release-4-14-3:


4.14.3 (2026-11-01)


.. _release-4-14-3-fixed:

Fixed

  • Preserve trailing whitespace in absolute XDG directory values instead of resolving a different directory (:pr:679) by :user:mikegit123git and :user:gaborbernat.

.. _release-4-14-2:


4.14.2 (2026-10-31)


.. _release-4-14-2-fixed:

Fixed

  • Deduplicate equivalent XDG directory spellings across string and path iterators and file searches (:pr:677) by :user:AlvaroBalbin and :user:gaborbernat.

.. _release-4-14-1:


4.14.1 (2026-10-30)


.. _release-4-14-1-fixed:

Fixed

  • Fall back to the real user ID on platforms without an effective user ID, restoring imports and Unix directory lookups on Pyodide (:pr:676) by :user:mayankdhingra02.

... (truncated)

Commits
  • c40ff0b release 4.14.0
  • 18620ed 🐛 fix(unix): check XDG_RUNTIME_DIR parents (#668)
  • 3a5e7d0 🐛 fix(api): raise when a media dir is a file (#672)
  • 790ff18 🐛 fix(unix): decide root redirect by effective uid (#666)
  • 7753a02 🔒 fix(macos): refuse planted site cache entries (#670)
  • 9f5ff8a 🐛 fix(macos): pass missing_ok to runtime dir check (#674)
  • 3ee973f 🐛 fix(unix): ignore inherited media vars for root (#661)
  • a94826e 🐛 fix(unix): parse user-dirs blank runs in linear time (#663)
  • 3b4cf5f 🐛 fix(unix): reject runtime dir symlink with trailing / (#665)
  • f5b537b 🐛 fix(dirs): treat a relative HOME as unset (#664)
  • Additional commits viewable in compare view

Updates python-discovery from 1.6.4 to 1.6.7

Release notes

Sourced from python-discovery's releases.

v1.6.7

Bug fixes

  • Rank uv's minor version links behind the concrete install on Windows too, where uv creates them as directory junctions that Path.is_symlink() does not report (#170) by @​darrenhuai and @​gaborbernat.
  • Stop a venv lookup from rewriting the executable of earlier results, PythonInfo.current() and PythonInfo.current_system() when they share its base interpreter (#171) by @​darrenhuai and @​gaborbernat.

PyPI release

Full Changelog

v1.6.6

Bug fixes

  • Treat version specifiers with an item that cannot be parsed, such as >=3.x, >=3.12 <4 or >=3.12,foo, as literal executable paths instead of raising a bare AssertionError or ignoring the item during discovery (#157) by @​darrenhuai and @​gaborbernat.
  • Accept relative interpreter paths that step up a directory, such as ../venv/bin/python, which were found and queried but never matched the spec (#158) by @​darrenhuai and @​gaborbernat.
  • Match ~=X.Y compatible-release specifiers against later minor versions, as PEP 440 defines, instead of only the same minor; ~=3.10 now accepts 3.11 and newer 3.x (#159) by @​darrenhuai and @​gaborbernat.

🐍 PyPI release

📜 Full Changelog

v1.6.5

Packaging

  • Releases now run on the shared tox-dev/github-workflows pipeline, with a locked release toolchain and generated GitHub Release notes (#164) by @​gaborbernat.

🐍 PyPI release

📜 Full Changelog

Changelog

Sourced from python-discovery's changelog.

################# Release History #################

.. towncrier-draft-entries::

.. towncrier release notes start

.. _release-1-9-0:


v1.9.0 (2026-10-30)


.. _release-1-9-0-added:

Added

  • Expose the 11 marker keys through MarkerEnvironment for callers that type-check PythonInfo.marker_environment (:pr:179) by :user:gaborbernat.

.. _release-1-8-0:


v1.8.0 (2026-10-30)


.. _release-1-8-0-added:

Added

  • Expose the selected interpreter's dependency marker values as PythonInfo.marker_environment (:pr:178) by :user:gaborbernat.

.. _release-1-7-0:


v1.7.0 (2026-10-30)


.. _release-1-7-0-added:

Added

  • Accept the free-threaded, debug, architecture and machine suffixes after a version specifier, as in >=3.13t or cpython>=3.11,<3.14-64, and raise ValueError for a spec that starts with a comparison operator but does not parse, such as >=3.13., instead of looking it up as an executable name (:pr:176) by :user:gabo...

    Description has been truncated

Bumps the python-dependencies group with 10 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [pytest](https://github.com/pytest-dev/pytest) | `9.1.1` | `9.2.0` |
| [mypy](https://github.com/python/mypy) | `2.4.0` | `2.4.1` |
| [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) | `1.4.0` | `1.4.1` |
| [ruff](https://github.com/astral-sh/ruff) | `0.17.1` | `0.17.3` |
| [uv](https://github.com/astral-sh/uv) | `0.13.5` | `0.13.6` |
| [multidict](https://github.com/aio-libs/multidict) | `7.1.0` | `7.2.1` |
| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.13.5` | `4.14.0` |
| [python-discovery](https://github.com/tox-dev/python-discovery) | `1.6.4` | `1.6.7` |
| [tzdata](https://github.com/python/tzdata) | `2026.5` | `2026.6` |
| [virtualenv](https://github.com/pypa/virtualenv) | `21.14.12` | `21.15.1` |



Updates `pytest` from 9.1.1 to 9.2.0
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](pytest-dev/pytest@9.1.1...9.2.0)

Updates `mypy` from 2.4.0 to 2.4.1
- [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md)
- [Commits](python/mypy@v2.4.0...v2.4.1)

Updates `pytest-asyncio` from 1.4.0 to 1.4.1
- [Release notes](https://github.com/pytest-dev/pytest-asyncio/releases)
- [Commits](pytest-dev/pytest-asyncio@v1.4.0...v1.4.1)

Updates `ruff` from 0.17.1 to 0.17.3
- [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.17.1...0.17.3)

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

Updates `multidict` from 7.1.0 to 7.2.1
- [Release notes](https://github.com/aio-libs/multidict/releases)
- [Changelog](https://github.com/aio-libs/multidict/blob/master/CHANGES.rst)
- [Commits](aio-libs/multidict@v7.1.0...v7.2.1)

Updates `platformdirs` from 4.13.5 to 4.14.0
- [Release notes](https://github.com/tox-dev/platformdirs/releases)
- [Changelog](https://github.com/tox-dev/platformdirs/blob/main/docs/changelog.rst)
- [Commits](tox-dev/platformdirs@4.13.5...4.14.0)

Updates `python-discovery` from 1.6.4 to 1.6.7
- [Release notes](https://github.com/tox-dev/python-discovery/releases)
- [Changelog](https://github.com/tox-dev/python-discovery/blob/main/docs/changelog.rst)
- [Commits](tox-dev/python-discovery@1.6.4...1.6.7)

Updates `tzdata` from 2026.5 to 2026.6
- [Release notes](https://github.com/python/tzdata/releases)
- [Changelog](https://github.com/python/tzdata/blob/master/NEWS.md)
- [Commits](python/tzdata@2026.5...2026.6)

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

---
updated-dependencies:
- dependency-name: pytest
  dependency-version: 9.2.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-dependencies
- dependency-name: mypy
  dependency-version: 2.4.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: python-dependencies
- dependency-name: pytest-asyncio
  dependency-version: 1.4.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: python-dependencies
- dependency-name: ruff
  dependency-version: 0.17.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: python-dependencies
- dependency-name: uv
  dependency-version: 0.13.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: python-dependencies
- dependency-name: multidict
  dependency-version: 7.2.1
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: python-dependencies
- dependency-name: platformdirs
  dependency-version: 4.14.0
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: python-dependencies
- dependency-name: python-discovery
  dependency-version: 1.6.7
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: python-dependencies
- dependency-name: tzdata
  dependency-version: '2026.6'
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: python-dependencies
- dependency-name: virtualenv
  dependency-version: 21.15.1
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: python-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code labels Nov 1, 2026
@codecov

codecov Bot commented Nov 1, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 97.48%. Comparing base (c048c4a) to head (934c7bc).

Additional details and impacted files
@@           Coverage Diff           @@
##              dev     #997   +/-   ##
=======================================
  Coverage   97.48%   97.48%           
=======================================
  Files          61       61           
  Lines       10870    10870           
=======================================
  Hits        10597    10597           
  Misses        273      273           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

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:uv Pull requests that update python:uv code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants