Skip to content

build(deps): bump the python group across 1 directory with 66 updates#2818

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/uv/python-1397848036
Open

build(deps): bump the python group across 1 directory with 66 updates#2818
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/uv/python-1397848036

Conversation

@dependabot

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

Copy link
Copy Markdown
Contributor

Bumps the python group with 64 updates in the / directory:

Package From To
pin 3.8.0 4.0.0
pydantic 2.12.5 2.13.4
plum-dispatch 2.5.7 2.9.0
structlog 25.5.0 26.1.0
pydantic-settings 2.12.0 2.14.2
textual 3.7.1 8.2.8
terminaltexteffects 0.12.2 0.15.0
typer 0.23.1 0.26.8
numba 0.63.1 0.65.1
rerun-sdk 0.32.0 0.33.1
protobuf 6.33.5 7.35.1
cryptography 46.0.5 49.0.0
python-multipart 0.0.27 0.0.32
ipykernel 7.2.0 7.3.0
timm 1.0.24 1.0.27
open-clip-torch 3.2.0 3.3.0
gdown 6.0.0 6.1.0
tensorboard 2.20.0 2.21.0
xarm-python-sdk 1.17.3 1.18.4
portal 3.7.4 3.8.1
pyarrow 23.0.0 24.0.0
langchain-core 1.3.3 1.4.8
langchain-openai 1.1.6 1.3.3
langchain-huggingface 1.2.0 1.2.2
langchain-ollama 1.0.1 1.1.0
ollama 0.6.1 0.6.2
fastapi 0.129.0 0.139.0
sse-starlette 3.2.0 3.4.5
uvicorn 0.40.0 0.49.0
soundfile 0.13.1 0.14.0
ultralytics 8.4.14 8.4.84
pillow 12.2.0 12.3.0
lap 0.5.12 0.5.13
transformers[torch] 4.53.3 5.12.1
moondream 0.2.0 1.3.0
omegaconf 2.3.0 2.3.1
hydra-core 1.3.2 1.3.3
cyclonedds 0.10.5 11.0.1
mcap 1.3.1 1.4.0
pyrealsense2-extended 2.58.1.10581.post1 2.58.2.10647.post1
matplotlib 3.10.8 3.10.9
onnxruntime 1.24.1 1.24.3
cupy-cuda12x 13.6.0 14.1.1
onnxruntime-gpu 1.24.1 1.24.3
mujoco 3.5.0 3.10.0
gtsam-extended 4.3a1.post1 4.3a1.post202606301215
reportlab 4.5.0 5.0.0
ruff 0.14.3 0.15.20
torch 2.10.0 2.12.1
pytest 8.3.5 9.1.1
pytest-asyncio 0.26.0 1.4.0
pytest-mock 3.15.0 3.15.1
pytest-env 1.1.5 1.6.0
coverage 7.13.4 7.14.3
pre-commit 4.2.0 4.6.0
py-spy 0.4.1 0.4.2
maturin 1.13.3 1.14.1
python-lsp-ruff 2.3.0 2.3.1
mypy 1.19.0 2.1.0
ipython 8.38.0 8.39.0
python-socketio 5.16.1 5.16.3
types-pyyaml 6.0.12.20250915 6.0.12.20260518
types-reportlab 4.5.0.20260509 4.5.1.20260521
types-requests 2.32.4.20260107 2.33.0.20260518

Updates pin from 3.8.0 to 4.0.0

Changelog

Sourced from pin's changelog.

[4.0.0] - 2026-04-13

Highlights

  • lcaba algorithm:
    • Compute forward dynamics for constrained system with closed kinematics loops
    • Python example here
  • New constraint API:
    • PointContactConstraintModelTpl, PointAnchorConstraintModelTpl, FrameAnchorConstraintModelTpl, JointLimitConstraintModelTpl and JointFrictionConstraintModelTpl constraint models
    • Each constraint model is associated to its own constraint data
    • Variants ConstraintModelTpl/ConstraintDataTpl encapsulate all constraints models and data
    • Delassus operator API: DelassusOperatorDenseTpl, DelassusOperatorSparseTpl, DelassusOperatorCholeskyExpressionTpl, DelassusOperatorRigidBodyTpl
    • These operators are tightly linked to the new constraints API All these operators compute the same mathematical operator $J M^{-1} J^T$ ($J$ is the constraints jacobian, $M^{-1}$ is the inverse of the mass matrix), but with different algorithms and internal optimizations
  • ADMMConstraintSolverTpl and PGSConstraintSolverTpl algorithms:
    • Solve constrained dynamics expressed with the new constraint API
    • Python examples here and here. These examples show how to use each constraint model, how to build a constraint problem, how to compute the associated Delassus operator and how to solve it
  • New header convention
    • Introduce omnibus headers:
      • pinocchio/math.hpp
      • pinocchio/spatial.hpp
      • pinocchio/mutlibody.hpp
      • ...

Added

  • Add lcaba algorithm in pinocchio/algorithm/loop-constrained-aba.hpp
    • Compute forward dynamics for constrained system with closed kinematics loops
  • Add computeJointMinimalOrdering in pinocchio/constraints.hpp
    • Compute joint processing order for lcaba
  • Add new constraint API in pinocchio/constraints.hpp
    • PointContactConstraintModel: models a unilateral contact constraint with coulomb friction cone
    • PointAnchorConstraintModel: models a point-wise equality constraint (bilateral constraint)
    • FrameAnchorConstraintModel: models a frame-wise equality constraint (bilateral constraint)
    • JointLimitConstraintModel: models a component-wise joint limit lower/upper bound constraint
    • JointFrictionConstraintModel: models a component-wise joint friction lower/upper bound constraint
  • Add new Delassus API in pinocchio/algorithm/delassus.hpp
  • Add ADMMConstraintSolverTpl in pinocchio/algorithm/solvers/admm-solver.hpp
    • Solve constrained dynamics using an ADMM algorithm
  • Add PGSConstraintSolverTpl in pinocchio/algorithm/solvers/pgs-solver.hpp
    • Solve constrained dynamics using a projected Gauss Siedel algorithm
  • Add new functions in pinocchio/multibody/liegroup.hpp
    • tangentMap: transforms a configuration variation into a small variation expressed in the parametric space
    • tangentMapProduct and tangentMapTransport: apply tangentMap while exploiting sparsity
  • Add mimic joint support for all Lie group related algorithms
  • Add new methods to JointModelBase:
    • jointQrows and jointQcols that make selections of size NQ
    • jointQVMap that make selections of size NQ x NV
    • lieGroup that returns the Lie group instance associated to a joint

... (truncated)

Commits

Updates pydantic from 2.12.5 to 2.13.4

Release notes

Sourced from pydantic's releases.

v2.13.4 2026-05-06

v2.13.4 (2026-05-06)

What's Changed

Packaging

Fixes

Full Changelog: pydantic/pydantic@v2.13.3...v2.13.4

v2.13.3 2026-04-20

v2.13.3 (2026-04-20)

What's Changed

Fixes

Full Changelog: pydantic/pydantic@v2.13.2...v2.13.3

v2.13.2 2026-04-17

v2.13.2 (2026-04-17)

What's Changed

Fixes

  • Fix ValidationInfo.field_name missing with model_validate_json() by @​Viicos in #13084

Full Changelog: pydantic/pydantic@v2.13.1...v2.13.2

v2.13.1 2026-04-15

v2.13.1 (2026-04-15)

What's Changed

Fixes

Full Changelog: pydantic/pydantic@v2.13.0...v2.13.1

v2.13.0 2026-04-13

... (truncated)

Changelog

Sourced from pydantic's changelog.

v2.13.4 (2026-05-06)

GitHub release

What's Changed

Packaging

Fixes

v2.13.3 (2026-04-20)

GitHub release

What's Changed

Fixes

v2.13.2 (2026-04-17)

GitHub release

What's Changed

Fixes

  • Fix ValidationInfo.field_name missing with model_validate_json() by @​Viicos in #13084

v2.13.1 (2026-04-15)

GitHub release

What's Changed

Fixes

v2.13.0 (2026-04-13)

GitHub release

The highlights of the v2.13 release are available in the blog post.

... (truncated)

Commits
  • cf67d4b Fix linting
  • f0d8a21 Prepare release v2.13.4
  • 5e3fe1d Check for pydantic tag pattern in CI
  • 7f9edcc Document tagging conventions
  • b46a0c9 Adapt pydantic-core linker flags on macOS
  • 50629c8 Update to PyPy 7.3.22
  • 8522ebb Preserve RootModel core metadata
  • a37f3af Adapt MISSING sentinel test to work with unreleased typing_extensions ver...
  • 909259a Remove Logfire example in documentation
  • 2c4174c Bump libc from 0.2.155 to 0.2.185
  • Additional commits viewable in compare view

Updates plum-dispatch from 2.5.7 to 2.9.0

Release notes

Sourced from plum-dispatch's releases.

v2.9.0

  • Support union aliases in Python 3.14 and later (@​nstarman).

v2.8.0

Starting this release, Plum will be available on PyPI as both plum-dispatch and plum.

v2.7.1

  • Add faithful keyword to ModuleType.

v2.7.0

Note: All imports should now go through plum directly! That is, not plum.signature.Signature, but plum.Signature. Please do open an issue if this release breaks something that shouldn't break.

Changes:

v2.6.1

This release features numerous very helpful contributions and improvements by @​nstarman!

  • Use dependency groups (#195).
  • Treat typing_extensions as standard library and make more use of it (#226 and #232).
  • Complete deprecation cycles (#230 and #236).
  • Turn various arguments into positional-only (#229).
  • Remove unnecessary path manipulation (#233).
  • Rework tests with a dispatch fixture (#234).
  • Avoid using a deprecated NumPy module (#231).
  • Drops support for Python 3.9 (#228).
  • Import exports from methods.py (#237).
  • Fixes an incorrect overload (#238).
  • Use nox for testing (#235 and #240).

#228 also fixes an important bug to do with the handling of unions (CC @​davidwyld).

v2.6.0

  • Add keyword argument condition to ModuleType.

v2.5.8

  • Fix precedence keyword argument (thanks @​nstarman!).
  • Fix complex method override.
  • Drop support for Python 8 and use e.g. list instead of typing.List (thanks @​nstarman!).
Commits
  • 485380d Minor style and linter changes
  • 28f5a4a Minor style changes
  • b85f8e7 Remove duplicate sections
  • 863138d Enable py3.14 and deprecate some alias functionality (#225)
  • ad54d37 build(deps-dev): bump uv from 0.9.16 to 0.11.6 (#265)
  • 562f3e2 build(deps-dev): bump pytest from 9.0.2 to 9.0.3 (#267)
  • 6b239db build(deps): bump cryptography from 46.0.6 to 46.0.7 (#264)
  • 0ddc2db Potential fix for code scanning alert no. 3: Workflow does not contain permis...
  • d4581ce Potential fix for code scanning alert no. 2: Workflow does not contain permis...
  • 3dd2386 Potential fix for code scanning alert no. 8: Workflow does not contain permis...
  • Additional commits viewable in compare view

Updates structlog from 25.5.0 to 26.1.0

Release notes

Sourced from structlog's releases.

26.1.0

Highlights

Given how long this release took, it's pretty thicc with nice things all over the board! Apologies for the long release cycle; it's been a victim of the slopocalypse and me trying to navigate my way thru the new normal. Extra big thanks to my sponsors for not abandoning me in these unironically trying times. ❤️

Full changelog below!

Special Thanks

This release would not be possible without my generous sponsors! Thank you to all of you making sustainable maintenance possible! If you would like to join them, go to https://github.com/sponsors/hynek and check out the sweet perks!

Above and Beyond

Variomedia AG (@variomedia), Tidelift (@tidelift), Kraken Tech (@kraken-tech), Klaviyo (@klaviyo), Privacy Solutions GmbH (@privacy-solutions), FilePreviews (@filepreviews), Ecosystems (@ecosyste-ms), TestMu AI Open Source Office (Formerly LambdaTest) (@LambdaTest-Inc), GitHub (@github), Doist (@Doist), Daniel Fortunov (@asqui), and Kevin P. Fleming (@kpfleming).

Maintenance Sustainers

Buttondown (@buttondown), Christopher Dignam (@chdsbd), Magnus Watn (@magnuswatn), David Cramer (@dcramer), Rivo Laks (@rivol), Polar (@polarsource), Mike Fiedler (@miketheman), Duncan Hill (@cricalix), Colin Marquardt (@cmarqu), Pieter Swinkels (@swinkels), Nick Libertini (@libertininick), Brian M. Dennis (@crossjam), Al Sweigart (@asweigart), Celebrity News AG (@celebritynewsag), The Westervelt Company (@westerveltco), Sławomir Ehlert (@slafs), Mostafa Khalil (@khadrawy), Filip Mularczyk (@mukiblejlok), Thomas Klinger (@thmsklngr), Andreas Poehlmann (@ap--), August Trapper Bigelow (@atbigelow), Carlton Gibson (@carltongibson), and Roboflow (@roboflow).

Full Changelog

Removed

  • Python 3.8 and 3.9 support.

Deprecated

  • Support for better-exceptions is deprecated and will be removed within a year. Use our Rich integration or copy-paste the one line of code you need. #802

Added

  • Python 3.15 support. #813

  • structlog.dev.rich_monochrome_traceback for Rich-based monochrome exception rendering and add support for it throughout structlog.dev.ConsoleRenderer when the user asks for no colors. #794

  • structlog.BytesLogger now has a name attribute which allows you to use it with the structlog.stdlib.add_logger_name() processor without using the standard library integration. #786

  • structlog.processors.CallsiteParameterAdder now supports CallsiteParameter.QUAL_MODULE that adds the qualified import name of the module of the callsite, or __main__ if the module is the entry point. This is only available for structlog-originated events since the standard library has no equivalent (except for the convention of setting the logger's name to __name__). #812

  • structlog.stdlib.BoundLogger now has is_enabled_for() and get_effective_level() methods that are snake_case aliases for its isEnabledFor() and getEffectiveLevel() methods. This makes it more compatible with the native structlog.typing.FilteringBoundLogger, so you can swap configurations without changing your call sites. #818

Changed

  • structlog.dev.ConsoleRenderer does not warn anymore when the exception key has a rendered value despite having a fancy formatter configured. #790

... (truncated)

Changelog

Sourced from structlog's changelog.

26.1.0 - 2026-06-06

Removed

  • Python 3.8 and 3.9 support.

Deprecated

  • Support for better-exceptions is deprecated and will be removed within a year. Use our Rich integration or copy-paste the one line of code you need. #802

Added

  • Python 3.15 support. #813

  • structlog.dev.rich_monochrome_traceback for Rich-based monochrome exception rendering and add support for it throughout structlog.dev.ConsoleRenderer when the user asks for no colors. #794

  • structlog.BytesLogger now has a name attribute which allows you to use it with the structlog.stdlib.add_logger_name() processor without using the standard library integration. #786

  • structlog.processors.CallsiteParameterAdder now supports CallsiteParameter.QUAL_MODULE that adds the qualified import name of the module of the callsite, or __main__ if the module is the entry point. This is only available for structlog-originated events since the standard library has no equivalent (except for the convention of setting the logger's name to __name__). #812

  • structlog.stdlib.BoundLogger now has is_enabled_for() and get_effective_level() methods that are snake_case aliases for its isEnabledFor() and getEffectiveLevel() methods. This makes it more compatible with the native structlog.typing.FilteringBoundLogger, so you can swap configurations without changing your call sites. #818

Changed

  • structlog.dev.ConsoleRenderer does not warn anymore when the exception key has a rendered value despite having a fancy formatter configured. #790

Fixed

  • structlog.BytesLogger, structlog.PrintLogger, and structlog.WriteLogger now hold weak references to the files they use for output. This prevents their leakage in long-running processes that open many logfiles, such as task executors that create a per-task BytesLogger or WriteLogger. #807

  • structlog.WriteLogger is usable after unpickling. #787

  • structlog.processors.CallsiteParameterAdder now reports the calling thread's id and name for async log methods, instead of the thread from the executor pool that runs the underlying sync logger.

... (truncated)

Commits

Updates pydantic-settings from 2.12.0 to 2.14.2

Release notes

Sourced from pydantic-settings's releases.

v2.14.2

What's Changed

This is a security patch release.

Security

Fixes GHSA-4xgf-cpjx-pc3j: NestedSecretsSettingsSource with secrets_nested_subdir=True could follow a symbolic link inside secrets_dir pointing outside it, reading out-of-tree files into settings values and bypassing the secrets_dir_max_size cap. Affected versions: >= 2.12.0, < 2.14.2.

Full Changelog: pydantic/pydantic-settings@v2.14.1...v2.14.2

v2.14.1

What's Changed

Full Changelog: pydantic/pydantic-settings@v2.14.0...v2.14.1

v2.14.0

What's Changed

... (truncated)

Commits
  • d703bd7 Prepare release 2.14.2 (#890)
  • e95c30b Prepare release 2.14.1 (#859)
  • 0c87345 Fix field named cls conflicting with classmethod parameter (#858)
  • 7bd0072 Bump the python-packages group with 2 updates (#856)
  • b03e573 Bump the github-actions group with 3 updates (#853)
  • eaa3b43 Bump the python-packages group with 5 updates (#854)
  • 9f95615 Bump the python-packages group with 4 updates (#850)
  • 8916bee Prepare release 2.14.0 (#848)
  • 39e551c Fix CLI descriptions lost under python -OO by falling back to `json_schema_...
  • 9ed7f48 Bump the python-packages group with 4 updates (#847)
  • Additional commits viewable in compare view

Updates textual from 3.7.1 to 8.2.8

Release notes

Sourced from textual's releases.

The more super release

Fixes for extended key processing, and a crash bug for clicking the screen padding area.

[8.2.8] - 2026-06-30

Fixed

Changed

The more Kitty Release

This release adds additional support for the Kitty key protocol. Which enables some additional keys on some terminals. Additionally, Textual will report modifier keys as separate key events.

Additionally there are a few more shortcuts to the Text Area.

This release sponsored by Mistral AI. See release notes for detail.

[8.2.7] - 2026-05-19

Added

  • Added support for Kitty key protocol "Report all keys as escape codes" which enabled alt+backspace on Warp Textualize/textual#6544
  • Added support for detecting separate modifier keys for terminals that support the Kitty key protocol Textualize/textual#6544
  • Added TEXTUAL_DISABLE_KITTY_KEY env var to disable Kitty key protocol support (debug aid). Textualize/textual#6544

Changed

The more selective release

Improved text select logic. You can select text without first clicking on a content area.

May break snapshots without affecting appearance.

[8.2.6] - 2026-04-13

Fixed

  • Fixed selection to the right of code fence blocks (may break some snapshots)
  • Fixed Markdown code fences losing content when switching themes Textualize/textual#6537

Added

... (truncated)

Changelog

Sourced from textual's changelog.

[8.2.8] - 2026-06-30

Fixed

Changed

[8.2.7] - 2026-05-19

Added

  • Added support for Kitty key protocol "Report all keys as escape codes" which enabled alt+backspace on Warp Textualize/textual#6544
  • Added support for detecting separate modifier keys for terminals that support the Kitty key protocol Textualize/textual#6544
  • Added TEXTUAL_DISABLE_KITTY_KEY env var to disable Kitty key protocol support (debug aid). Textualize/textual#6544

Changed

Fixed

[8.2.6] - 2026-05-13

Fixed

  • Fixed selection to the right of code fence blocks (may break some snapshots)
  • Fixed Markdown code fences losing content when switching themes Textualize/textual#6537

Added

[8.2.5] - 2026-04-30

Added

Changed

... (truncated)

Commits

Updates terminaltexteffects from 0.12.2 to 0.15.0

Release notes

Sourced from terminaltexteffects's releases.

0.15.0 - Go Fetch

0.15.0


New Features (0.15.0)


  • Added effect discovery support for user provided effects. Effects should be Python files located at XDG_CONFIG_HOME/terminaltexteffects/effects. (e.g. /home/me/.config/terminaltexteffects/effects/effect_custom.py)
  • Added shell completion generation for bash and zsh via tte --print-completion {bash,zsh}.

Application Changes (0.15.0)


  • The CLI parser is now built through a shared parser-construction path so runtime argument parsing, help text, and generated shell completions all use the same discovered effect and option definitions.
  • Generated shell completions now include user-provided effects discovered from XDG_CONFIG_HOME/terminaltexteffects/effects at completion-generation time.
  • The zsh completion script now self-initializes compinit and bashcompinit when needed so eval "$(tte --print-completion zsh)" works with less shell setup friction.
  • The CLI version flag now falls back to the local pyproject.toml version when running from a source checkout without installed package metadata.

Engine Changes (0.15.0)


  • Added shared gradient argument helpers (FinalGradientStopsArg, FinalGradientStepsArg, FinalGradientFramesArg, FinalGradientDirectionArg) for effect configs to standardize CLI defaults and parsing.
  • Updated all effects to use gradient argument helpers.
  • Updated all effects parser epilog example help text to reflect up to date defaults.
  • SpanningTreeGenerator.get_neighbors() now honors unlinked_only=False by returning linked and unlinked neighbors, matching the documented API.
  • Added focused unit test coverage for spanning-tree generators, including SpanningTreeGenerator, RecursiveBacktracker, PrimsSimple, PrimsWeighted, BreadthFirst, and AldousBroder.
  • Clarified RecursiveBacktracker documentation to describe the depth-first spanning-tree behavior, initialized state, and delayed completion semantics accurately.
  • PrimsSimple now applies limit_to_text_boundary consistently when deciding whether a newly linked character remains in the edge set, and its documentation now reflects the generator's actual state transitions.
  • PrimsWeighted now limits random starting-character selection to the text boundary when requested, and its documentation now explains the per-character weighting model and completion behavior more accurately.
  • BreadthFirst now initializes correctly when starting_char is omitted, records each discovered character only once with the correct parent frontier node, and has updated traversal documentation.
  • AldousBroder now returns immediately once all characters are linked, and its documentation now matches the generator's state transitions and project docstring style.
  • existing_color_handling="always" is now applied consistently by the animation engine for input-derived characters, including when the parsed input has no colors. Helper and fill characters remain effect-colored instead of being cleared by the engine.
  • Terminal input preprocessing now supports common fetch-application layout sequences by interpreting cursor movement CSI sequences (A, B, C, D, E, F, G, H, and f) into TTE's virtual input canvas instead of rendering the escape sequences as text.
  • Terminal input preprocessing now accepts common fetch-application DEC private mode toggles for cursor visibility and line wrapping (?25h, ?25l, ?7h, and ?7l) as no-op input state while continuing to reject unsupported terminal control sequences.
  • Existing ANSI color parsing now supports 3-bit and 4-bit SGR foreground/background colors, reset sequences, and mixed style/color SGR sequences used by applications such as neofetch and fastfetch.
  • Parsed input bold state is now preserved for existing_color_handling="always", and bold standard ANSI foreground colors now resolve to their bright color equivalents for closer visual parity with normal terminal-rendered fetch output.
  • Added manual visual sequence tests for mixed ANSI color input and fetch-style layout/style input across existing_color_handling modes dynamic, always, and ignore, with printed parameter headers to make captured visual output easier to identify.
  • Updated engine.motion documentation to accurately describe waypoint fields, bezier control handling, path runtime state, activation-side path mutation, looping behavior, and documented exceptions.
  • Updated engine.animation documentation to accurately describe scene lookup behavior, scene sync and completion semantics, frame/color override rules, activation/reset expectations, and current TODO-backed gaps around dim formatting, duplicate scene IDs, and unused scene-step tracking.
  • Updated engine.terminal documentation to better describe canvas sizing and anchoring, input preprocessing, character/fill tracking, rendering state, cursor management, and sort/lookup behavior, and hardened enforce_framerate() so a configured frame rate of 0 safely disables frame limiting even when the method is called directly.
  • Updated engine.base_effect documentation to clarify iterator creation semantics, frame retrieval and active-character lifecycle behavior, preexisting input-color detection, and terminal-output restoration behavior, plus fixed a small module docstring typo.
  • motion.deactivate_path() now accepts a Path, a path ID string, or no argument, with the no-argument form deactivating the current active path when present.
  • EventHandler.Action.DEACTIVATE_PATH event registrations now support a Path, a path ID string, or None, and focused engine tests cover the expanded deactivation behavior.
  • animation.deactivate_scene() now accepts a Scene, a scene ID string, or no argument, with the no-argument form deactivating the current active scene when present.

... (truncated)

Changelog

Sourced from Description has been truncated

Bumps the python group with 64 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [pin](https://github.com/cmake-wheel/pinocchio) | `3.8.0` | `4.0.0` |
| [pydantic](https://github.com/pydantic/pydantic) | `2.12.5` | `2.13.4` |
| [plum-dispatch](https://github.com/beartype/plum) | `2.5.7` | `2.9.0` |
| [structlog](https://github.com/hynek/structlog) | `25.5.0` | `26.1.0` |
| [pydantic-settings](https://github.com/pydantic/pydantic-settings) | `2.12.0` | `2.14.2` |
| [textual](https://github.com/Textualize/textual) | `3.7.1` | `8.2.8` |
| [terminaltexteffects](https://github.com/ChrisBuilds/terminaltexteffects) | `0.12.2` | `0.15.0` |
| [typer](https://github.com/fastapi/typer) | `0.23.1` | `0.26.8` |
| [numba](https://github.com/numba/numba) | `0.63.1` | `0.65.1` |
| [rerun-sdk](https://github.com/rerun-io/rerun) | `0.32.0` | `0.33.1` |
| [protobuf](https://github.com/protocolbuffers/protobuf) | `6.33.5` | `7.35.1` |
| [cryptography](https://github.com/pyca/cryptography) | `46.0.5` | `49.0.0` |
| [python-multipart](https://github.com/Kludex/python-multipart) | `0.0.27` | `0.0.32` |
| [ipykernel](https://github.com/ipython/ipykernel) | `7.2.0` | `7.3.0` |
| [timm](https://github.com/huggingface/pytorch-image-models) | `1.0.24` | `1.0.27` |
| [open-clip-torch](https://github.com/mlfoundations/open_clip) | `3.2.0` | `3.3.0` |
| [gdown](https://github.com/wkentaro/gdown) | `6.0.0` | `6.1.0` |
| [tensorboard](https://github.com/tensorflow/tensorboard) | `2.20.0` | `2.21.0` |
| [xarm-python-sdk](https://github.com/xArm-Developer/xArm-Python-SDK) | `1.17.3` | `1.18.4` |
| [portal](https://github.com/danijar/portal) | `3.7.4` | `3.8.1` |
| [pyarrow](https://github.com/apache/arrow) | `23.0.0` | `24.0.0` |
| [langchain-core](https://github.com/langchain-ai/langchain) | `1.3.3` | `1.4.8` |
| [langchain-openai](https://github.com/langchain-ai/langchain) | `1.1.6` | `1.3.3` |
| [langchain-huggingface](https://github.com/langchain-ai/langchain) | `1.2.0` | `1.2.2` |
| [langchain-ollama](https://github.com/langchain-ai/langchain) | `1.0.1` | `1.1.0` |
| [ollama](https://github.com/ollama/ollama-python) | `0.6.1` | `0.6.2` |
| [fastapi](https://github.com/fastapi/fastapi) | `0.129.0` | `0.139.0` |
| [sse-starlette](https://github.com/sysid/sse-starlette) | `3.2.0` | `3.4.5` |
| [uvicorn](https://github.com/Kludex/uvicorn) | `0.40.0` | `0.49.0` |
| [soundfile](https://github.com/bastibe/python-soundfile) | `0.13.1` | `0.14.0` |
| [ultralytics](https://github.com/ultralytics/ultralytics) | `8.4.14` | `8.4.84` |
| [pillow](https://github.com/python-pillow/Pillow) | `12.2.0` | `12.3.0` |
| [lap](https://github.com/gatagat/lap) | `0.5.12` | `0.5.13` |
| [transformers[torch]](https://github.com/huggingface/transformers) | `4.53.3` | `5.12.1` |
| [moondream](https://github.com/vikhyat/moondream) | `0.2.0` | `1.3.0` |
| [omegaconf](https://github.com/omry/omegaconf) | `2.3.0` | `2.3.1` |
| [hydra-core](https://github.com/facebookresearch/hydra) | `1.3.2` | `1.3.3` |
| [cyclonedds](https://github.com/eclipse-cyclonedds/cyclonedds-python) | `0.10.5` | `11.0.1` |
| [mcap](https://github.com/foxglove/mcap) | `1.3.1` | `1.4.0` |
| [pyrealsense2-extended](https://github.com/realsenseai/librealsense) | `2.58.1.10581.post1` | `2.58.2.10647.post1` |
| [matplotlib](https://github.com/matplotlib/matplotlib) | `3.10.8` | `3.10.9` |
| [onnxruntime](https://github.com/microsoft/onnxruntime) | `1.24.1` | `1.24.3` |
| [cupy-cuda12x](https://github.com/cupy/cupy) | `13.6.0` | `14.1.1` |
| [onnxruntime-gpu](https://github.com/microsoft/onnxruntime) | `1.24.1` | `1.24.3` |
| [mujoco](https://github.com/google-deepmind/mujoco) | `3.5.0` | `3.10.0` |
| [gtsam-extended](https://gtsam.org/) | `4.3a1.post1` | `4.3a1.post202606301215` |
| [reportlab](https://www.reportlab.com/) | `4.5.0` | `5.0.0` |
| [ruff](https://github.com/astral-sh/ruff) | `0.14.3` | `0.15.20` |
| [torch](https://github.com/pytorch/pytorch) | `2.10.0` | `2.12.1` |
| [pytest](https://github.com/pytest-dev/pytest) | `8.3.5` | `9.1.1` |
| [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) | `0.26.0` | `1.4.0` |
| [pytest-mock](https://github.com/pytest-dev/pytest-mock) | `3.15.0` | `3.15.1` |
| [pytest-env](https://github.com/pytest-dev/pytest-env) | `1.1.5` | `1.6.0` |
| [coverage](https://github.com/coveragepy/coveragepy) | `7.13.4` | `7.14.3` |
| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.2.0` | `4.6.0` |
| [py-spy](https://github.com/benfred/py-spy) | `0.4.1` | `0.4.2` |
| [maturin](https://github.com/pyo3/maturin) | `1.13.3` | `1.14.1` |
| [python-lsp-ruff](https://github.com/python-lsp/python-lsp-ruff) | `2.3.0` | `2.3.1` |
| [mypy](https://github.com/python/mypy) | `1.19.0` | `2.1.0` |
| [ipython](https://github.com/ipython/ipython) | `8.38.0` | `8.39.0` |
| [python-socketio](https://github.com/miguelgrinberg/python-socketio) | `5.16.1` | `5.16.3` |
| [types-pyyaml](https://github.com/python/typeshed) | `6.0.12.20250915` | `6.0.12.20260518` |
| [types-reportlab](https://github.com/python/typeshed) | `4.5.0.20260509` | `4.5.1.20260521` |
| [types-requests](https://github.com/python/typeshed) | `2.32.4.20260107` | `2.33.0.20260518` |



Updates `pin` from 3.8.0 to 4.0.0
- [Release notes](https://github.com/cmake-wheel/pinocchio/releases)
- [Changelog](https://github.com/cmake-wheel/pinocchio/blob/cmeel/CHANGELOG.md)
- [Commits](https://github.com/cmake-wheel/pinocchio/commits)

Updates `pydantic` from 2.12.5 to 2.13.4
- [Release notes](https://github.com/pydantic/pydantic/releases)
- [Changelog](https://github.com/pydantic/pydantic/blob/main/HISTORY.md)
- [Commits](pydantic/pydantic@v2.12.5...v2.13.4)

Updates `plum-dispatch` from 2.5.7 to 2.9.0
- [Release notes](https://github.com/beartype/plum/releases)
- [Commits](beartype/plum@v2.5.7...v2.9.0)

Updates `structlog` from 25.5.0 to 26.1.0
- [Release notes](https://github.com/hynek/structlog/releases)
- [Changelog](https://github.com/hynek/structlog/blob/main/CHANGELOG.md)
- [Commits](hynek/structlog@25.5.0...26.1.0)

Updates `pydantic-settings` from 2.12.0 to 2.14.2
- [Release notes](https://github.com/pydantic/pydantic-settings/releases)
- [Commits](pydantic/pydantic-settings@v2.12.0...v2.14.2)

Updates `textual` from 3.7.1 to 8.2.8
- [Release notes](https://github.com/Textualize/textual/releases)
- [Changelog](https://github.com/Textualize/textual/blob/main/CHANGELOG.md)
- [Commits](Textualize/textual@v3.7.1...v8.2.8)

Updates `terminaltexteffects` from 0.12.2 to 0.15.0
- [Release notes](https://github.com/ChrisBuilds/terminaltexteffects/releases)
- [Changelog](https://github.com/ChrisBuilds/terminaltexteffects/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ChrisBuilds/terminaltexteffects/commits/release-0.15.0)

Updates `typer` from 0.23.1 to 0.26.8
- [Release notes](https://github.com/fastapi/typer/releases)
- [Changelog](https://github.com/fastapi/typer/blob/master/docs/release-notes.md)
- [Commits](fastapi/typer@0.23.1...0.26.8)

Updates `numba` from 0.63.1 to 0.65.1
- [Release notes](https://github.com/numba/numba/releases)
- [Commits](numba/numba@0.63.1...0.65.1)

Updates `llvmlite` from 0.46.0 to 0.47.0
- [Release notes](https://github.com/numba/llvmlite/releases)
- [Commits](numba/llvmlite@v0.46.0...v0.47.0)

Updates `rerun-sdk` from 0.32.0 to 0.33.1
- [Release notes](https://github.com/rerun-io/rerun/releases)
- [Changelog](https://github.com/rerun-io/rerun/blob/main/CHANGELOG.md)
- [Commits](rerun-io/rerun@0.32.0...0.33.1)

Updates `protobuf` from 6.33.5 to 7.35.1
- [Release notes](https://github.com/protocolbuffers/protobuf/releases)
- [Commits](https://github.com/protocolbuffers/protobuf/commits)

Updates `cryptography` from 46.0.5 to 49.0.0
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](pyca/cryptography@46.0.5...49.0.0)

Updates `python-multipart` from 0.0.27 to 0.0.32
- [Release notes](https://github.com/Kludex/python-multipart/releases)
- [Changelog](https://github.com/Kludex/python-multipart/blob/main/CHANGELOG.md)
- [Commits](Kludex/python-multipart@0.0.27...0.0.32)

Updates `ipykernel` from 7.2.0 to 7.3.0
- [Release notes](https://github.com/ipython/ipykernel/releases)
- [Changelog](https://github.com/ipython/ipykernel/blob/main/CHANGELOG.md)
- [Commits](ipython/ipykernel@v7.2.0...v7.3.0)

Updates `timm` from 1.0.24 to 1.0.27
- [Release notes](https://github.com/huggingface/pytorch-image-models/releases)
- [Commits](huggingface/pytorch-image-models@v1.0.24...v1.0.27)

Updates `open-clip-torch` from 3.2.0 to 3.3.0
- [Release notes](https://github.com/mlfoundations/open_clip/releases)
- [Changelog](https://github.com/mlfoundations/open_clip/blob/main/HISTORY.md)
- [Commits](mlfoundations/open_clip@v3.2.0...v3.3.0)

Updates `gdown` from 6.0.0 to 6.1.0
- [Release notes](https://github.com/wkentaro/gdown/releases)
- [Commits](wkentaro/gdown@v6.0.0...v6.1.0)

Updates `tensorboard` from 2.20.0 to 2.21.0
- [Release notes](https://github.com/tensorflow/tensorboard/releases)
- [Changelog](https://github.com/tensorflow/tensorboard/blob/master/RELEASE.md)
- [Commits](tensorflow/tensorboard@2.20.0...2.21.0)

Updates `xarm-python-sdk` from 1.17.3 to 1.18.4
- [Changelog](https://github.com/xArm-Developer/xArm-Python-SDK/blob/master/ReleaseNotes.md)
- [Commits](xArm-Developer/xArm-Python-SDK@v1.17.3...v1.18.4)

Updates `portal` from 3.7.4 to 3.8.1
- [Commits](https://github.com/danijar/portal/commits)

Updates `pyarrow` from 23.0.0 to 24.0.0
- [Release notes](https://github.com/apache/arrow/releases)
- [Commits](apache/arrow@apache-arrow-23.0.0...apache-arrow-24.0.0)

Updates `langchain-core` from 1.3.3 to 1.4.8
- [Release notes](https://github.com/langchain-ai/langchain/releases)
- [Commits](langchain-ai/langchain@langchain-core==1.3.3...langchain-core==1.4.8)

Updates `langchain-openai` from 1.1.6 to 1.3.3
- [Release notes](https://github.com/langchain-ai/langchain/releases)
- [Commits](langchain-ai/langchain@langchain-openai==1.1.6...langchain-openai==1.3.3)

Updates `langchain-huggingface` from 1.2.0 to 1.2.2
- [Release notes](https://github.com/langchain-ai/langchain/releases)
- [Commits](langchain-ai/langchain@langchain-huggingface==1.2.0...langchain-huggingface==1.2.2)

Updates `langchain-ollama` from 1.0.1 to 1.1.0
- [Release notes](https://github.com/langchain-ai/langchain/releases)
- [Commits](langchain-ai/langchain@langchain-ollama==1.0.1...langchain-ollama==1.1.0)

Updates `ollama` from 0.6.1 to 0.6.2
- [Release notes](https://github.com/ollama/ollama-python/releases)
- [Commits](ollama/ollama-python@v0.6.1...v0.6.2)

Updates `openai` from 2.21.0 to 2.44.0
- [Release notes](https://github.com/openai/openai-python/releases)
- [Changelog](https://github.com/openai/openai-python/blob/main/CHANGELOG.md)
- [Commits](openai/openai-python@v2.21.0...v2.44.0)

Updates `fastapi` from 0.129.0 to 0.139.0
- [Release notes](https://github.com/fastapi/fastapi/releases)
- [Commits](fastapi/fastapi@0.129.0...0.139.0)

Updates `sse-starlette` from 3.2.0 to 3.4.5
- [Release notes](https://github.com/sysid/sse-starlette/releases)
- [Commits](sysid/sse-starlette@v3.2.0...v3.4.5)

Updates `uvicorn` from 0.40.0 to 0.49.0
- [Release notes](https://github.com/Kludex/uvicorn/releases)
- [Changelog](https://github.com/Kludex/uvicorn/blob/main/docs/release-notes.md)
- [Commits](Kludex/uvicorn@0.40.0...0.49.0)

Updates `soundfile` from 0.13.1 to 0.14.0
- [Release notes](https://github.com/bastibe/python-soundfile/releases)
- [Commits](bastibe/python-soundfile@0.13.1...0.14.0)

Updates `ultralytics` from 8.4.14 to 8.4.84
- [Release notes](https://github.com/ultralytics/ultralytics/releases)
- [Commits](ultralytics/ultralytics@v8.4.14...v8.4.84)

Updates `pillow` from 12.2.0 to 12.3.0
- [Release notes](https://github.com/python-pillow/Pillow/releases)
- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst)
- [Commits](python-pillow/Pillow@12.2.0...12.3.0)

Updates `lap` from 0.5.12 to 0.5.13
- [Commits](gatagat/lap@v0.5.12...v0.5.13)

Updates `transformers[torch]` from 4.53.3 to 5.12.1
- [Release notes](https://github.com/huggingface/transformers/releases)
- [Commits](huggingface/transformers@v4.53.3...v5.12.1)

Updates `moondream` from 0.2.0 to 1.3.0
- [Commits](https://github.com/vikhyat/moondream/commits)

Updates `omegaconf` from 2.3.0 to 2.3.1
- [Release notes](https://github.com/omry/omegaconf/releases)
- [Changelog](https://github.com/omry/omegaconf/blob/v2.3.1/NEWS.md)
- [Commits](omry/omegaconf@v2.3.0...v2.3.1)

Updates `hydra-core` from 1.3.2 to 1.3.3
- [Release notes](https://github.com/facebookresearch/hydra/releases)
- [Changelog](https://github.com/facebookresearch/hydra/blob/v1.3.3/NEWS.md)
- [Commits](facebookresearch/hydra@v1.3.2...v1.3.3)

Updates `cyclonedds` from 0.10.5 to 11.0.1
- [Release notes](https://github.com/eclipse-cyclonedds/cyclonedds-python/releases)
- [Commits](eclipse-cyclonedds/cyclonedds-python@0.10.5...11.0.1)

Updates `mcap` from 1.3.1 to 1.4.0
- [Release notes](https://github.com/foxglove/mcap/releases)
- [Commits](foxglove/mcap@go/mcap/v1.3.1...go/mcap/v1.4.0)

Updates `pyrealsense2-extended` from 2.58.1.10581.post1 to 2.58.2.10647.post1
- [Release notes](https://github.com/realsenseai/librealsense/releases)
- [Commits](https://github.com/realsenseai/librealsense/commits)

Updates `matplotlib` from 3.10.8 to 3.10.9
- [Release notes](https://github.com/matplotlib/matplotlib/releases)
- [Commits](matplotlib/matplotlib@v3.10.8...v3.10.9)

Updates `onnxruntime` from 1.24.1 to 1.24.3
- [Release notes](https://github.com/microsoft/onnxruntime/releases)
- [Changelog](https://github.com/microsoft/onnxruntime/blob/main/docs/ReleaseManagement.md)
- [Commits](microsoft/onnxruntime@v1.24.1...v1.24.3)

Updates `cupy-cuda12x` from 13.6.0 to 14.1.1
- [Release notes](https://github.com/cupy/cupy/releases)
- [Commits](cupy/cupy@v13.6.0...v14.1.1)

Updates `onnxruntime-gpu` from 1.24.1 to 1.24.3
- [Release notes](https://github.com/microsoft/onnxruntime/releases)
- [Changelog](https://github.com/microsoft/onnxruntime/blob/main/docs/ReleaseManagement.md)
- [Commits](microsoft/onnxruntime@v1.24.1...v1.24.3)

Updates `mujoco` from 3.5.0 to 3.10.0
- [Release notes](https://github.com/google-deepmind/mujoco/releases)
- [Changelog](https://github.com/google-deepmind/mujoco/blob/main/doc/changelog.rst)
- [Commits](google-deepmind/mujoco@3.5.0...3.10.0)

Updates `gtsam-extended` from 4.3a1.post1 to 4.3a1.post202606301215

Updates `reportlab` from 4.5.0 to 5.0.0

Updates `ruff` from 0.14.3 to 0.15.20
- [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.14.3...0.15.20)

Updates `torch` from 2.10.0 to 2.12.1
- [Release notes](https://github.com/pytorch/pytorch/releases)
- [Changelog](https://github.com/pytorch/pytorch/blob/main/RELEASE.md)
- [Commits](pytorch/pytorch@v2.10.0...v2.12.1)

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

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

Updates `pytest-mock` from 3.15.0 to 3.15.1
- [Release notes](https://github.com/pytest-dev/pytest-mock/releases)
- [Changelog](https://github.com/pytest-dev/pytest-mock/blob/main/CHANGELOG.rst)
- [Commits](pytest-dev/pytest-mock@v3.15.0...v3.15.1)

Updates `pytest-env` from 1.1.5 to 1.6.0
- [Release notes](https://github.com/pytest-dev/pytest-env/releases)
- [Commits](pytest-dev/pytest-env@1.1.5...1.6.0)

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

Updates `pre-commit` from 4.2.0 to 4.6.0
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](pre-commit/pre-commit@v4.2.0...v4.6.0)

Updates `py-spy` from 0.4.1 to 0.4.2
- [Release notes](https://github.com/benfred/py-spy/releases)
- [Changelog](https://github.com/benfred/py-spy/blob/master/CHANGELOG.md)
- [Commits](benfred/py-spy@v0.4.1...v0.4.2)

Updates `maturin` from 1.13.3 to 1.14.1
- [Release notes](https://github.com/pyo3/maturin/releases)
- [Changelog](https://github.com/PyO3/maturin/blob/main/Changelog.md)
- [Commits](PyO3/maturin@v1.13.3...v1.14.1)

Updates `python-lsp-ruff` from 2.3.0 to 2.3.1
- [Release notes](https://github.com/python-lsp/python-lsp-ruff/releases)
- [Commits](python-lsp/python-lsp-ruff@v2.3.0...v2.3.1)

Updates `mypy` from 1.19.0 to 2.1.0
- [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md)
- [Commits](python/mypy@v1.19.0...v2.1.0)

Updates `ipython` from 8.38.0 to 8.39.0
- [Release notes](https://github.com/ipython/ipython/releases)
- [Commits](ipython/ipython@8.38.0...8.39.0)

Updates `python-socketio` from 5.16.1 to 5.16.3
- [Release notes](https://github.com/miguelgrinberg/python-socketio/releases)
- [Changelog](https://github.com/miguelgrinberg/python-socketio/blob/main/CHANGES.md)
- [Commits](miguelgrinberg/python-socketio@v5.16.1...v5.16.3)

Updates `types-pyyaml` from 6.0.12.20250915 to 6.0.12.20260518
- [Commits](https://github.com/python/typeshed/commits)

Updates `types-reportlab` from 4.5.0.20260509 to 4.5.1.20260521
- [Commits](https://github.com/python/typeshed/commits)

Updates `types-requests` from 2.32.4.20260107 to 2.33.0.20260518
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: pin
  dependency-version: 4.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: python
- dependency-name: pydantic
  dependency-version: 2.13.4
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python
- dependency-name: plum-dispatch
  dependency-version: 2.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python
- dependency-name: structlog
  dependency-version: 26.1.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: python
- dependency-name: pydantic-settings
  dependency-version: 2.14.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python
- dependency-name: textual
  dependency-version: 8.2.8
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: python
- dependency-name: terminaltexteffects
  dependency-version: 0.15.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python
- dependency-name: typer
  dependency-version: 0.26.8
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python
- dependency-name: numba
  dependency-version: 0.65.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python
- dependency-name: llvmlite
  dependency-version: 0.47.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python
- dependency-name: rerun-sdk
  dependency-version: 0.33.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python
- dependency-name: protobuf
  dependency-version: 7.35.1
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: python
- dependency-name: cryptography
  dependency-version: 49.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: python
- dependency-name: python-multipart
  dependency-version: 0.0.32
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python
- dependency-name: ipykernel
  dependency-version: 7.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python
- dependency-name: timm
  dependency-version: 1.0.27
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python
- dependency-name: open-clip-torch
  dependency-version: 3.3.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python
- dependency-name: gdown
  dependency-version: 6.1.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python
- dependency-name: tensorboard
  dependency-version: 2.21.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python
- dependency-name: xarm-python-sdk
  dependency-version: 1.18.4
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python
- dependency-name: portal
  dependency-version: 3.8.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python
- dependency-name: pyarrow
  dependency-version: 24.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: python
- dependency-name: langchain-core
  dependency-version: 1.4.8
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python
- dependency-name: langchain-openai
  dependency-version: 1.3.3
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python
- dependency-name: langchain-huggingface
  dependency-version: 1.2.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python
- dependency-name: langchain-ollama
  dependency-version: 1.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python
- dependency-name: ollama
  dependency-version: 0.6.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: python
- dependency-name: openai
  dependency-version: 2.44.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python
- dependency-name: fastapi
  dependency-version: 0.139.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python
- dependency-name: sse-starlette
  dependency-version: 3.4.5
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python
- dependency-name: uvicorn
  dependency-version: 0.49.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python
- dependency-name: soundfile
  dependency-version: 0.14.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python
- dependency-name: ultralytics
  dependency-version: 8.4.84
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: python
- dependency-name: pillow
  dependency-version: 12.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python
- dependency-name: lap
  dependency-version: 0.5.13
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: python
- dependency-name: transformers[torch]
  dependency-version: 5.12.1
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: python
- dependency-name: moondream
  dependency-version: 1.3.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: python
- dependency-name: omegaconf
  dependency-version: 2.3.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python
- dependency-name: hydra-core
  dependency-version: 1.3.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: python
- dependency-name: cyclonedds
  dependency-version: 11.0.1
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: python
- dependency-name: mcap
  dependency-version: 1.4.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python
- dependency-name: pyrealsense2-extended
  dependency-version: 2.58.2.10647.post1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python
- dependency-name: matplotlib
  dependency-version: 3.10.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python
- dependency-name: onnxruntime
  dependency-version: 1.24.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python
- dependency-name: cupy-cuda12x
  dependency-version: 14.1.1
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: python
- dependency-name: onnxruntime-gpu
  dependency-version: 1.24.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python
- dependency-name: mujoco
  dependency-version: 3.10.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python
- dependency-name: gtsam-extended
  dependency-version: 4.3a1.post202606301215
  dependency-type: direct:production
  dependency-group: python
- dependency-name: reportlab
  dependency-version: 5.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: python
- dependency-name: ruff
  dependency-version: 0.15.20
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python
- dependency-name: torch
  dependency-version: 2.12.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python
- dependency-name: pytest
  dependency-version: 9.1.1
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: python
- dependency-name: pytest-asyncio
  dependency-version: 1.4.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: python
- dependency-name: pytest-mock
  dependency-version: 3.15.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: python
- dependency-name: pytest-env
  dependency-version: 1.6.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python
- dependency-name: coverage
  dependency-version: 7.14.3
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python
- dependency-name: pre-commit
  dependency-version: 4.6.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python
- dependency-name: py-spy
  dependency-version: 0.4.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: python
- dependency-name: maturin
  dependency-version: 1.14.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python
- dependency-name: python-lsp-ruff
  dependency-version: 2.3.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: python
- dependency-name: mypy
  dependency-version: 2.1.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: python
- dependency-name: ipython
  dependency-version: 8.39.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python
- dependency-name: python-socketio
  dependency-version: 5.16.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: python
- dependency-name: types-pyyaml
  dependency-version: 6.0.12.20260518
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: python
- dependency-name: types-reportlab
  dependency-version: 4.5.1.20260521
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: python
- dependency-name: types-requests
  dependency-version: 2.33.0.20260518
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python
...

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 Jul 8, 2026
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code labels Jul 8, 2026
@github-actions github-actions Bot enabled auto-merge (squash) July 8, 2026 23:18
@codecov

codecov Bot commented Jul 8, 2026

Copy link
Copy Markdown

❌ 2 Tests Failed:

Tests completed Failed Passed Skipped
2345 2 2343 168
View the top 2 failed test(s) by shortest run time
::dimos.control.tasks.eef_twist_task.test_eef_twist_task
Stack Traces | 0s run time
ImportError while importing test module '.../tasks/eef_twist_task/test_eef_twist_task.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
.../tasks/eef_twist_task/test_eef_twist_task.py:24: in <module>
    from dimos.control.tasks.eef_twist_task.eef_twist_task import EEFTwistTask, EEFTwistTaskConfig
.../tasks/eef_twist_task/eef_twist_task.py:24: in <module>
    import pinocchio
.venv/lib/python3.12/site-packages/cmeel.prefix/lib/python3.12.../site-packages/pinocchio/__init__.py:19: in <module>
    from .pinocchio_pywrap_default import *
E   ImportError: libtinyxml2.so.11: cannot open shared object file: No such file or directory
dimos.control.tasks.test_registry::test_declared_task_factory_paths_resolve
Stack Traces | 0.016s run time
def test_declared_task_factory_paths_resolve() -> None:
        for name, factory_path in sorted(control_task_registry._factory_paths.items()):
            module_name, attr = factory_path.split(":", maxsplit=1)
            try:
>               module = importlib.import_module(module_name)
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

attr       = 'create_task'
factory_path = 'dimos.control.tasks.cartesian_ik_task.cartesian_ik_task:create_task'
module_name = 'dimos.control.tasks.cartesian_ik_task.cartesian_ik_task'
name       = 'cartesian_ik'

.../control/tasks/test_registry.py:64: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
........./usr/lib/python3.12/importlib/__init__.py:90: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        level      = 0
        name       = 'dimos.control.tasks.cartesian_ik_task.cartesian_ik_task'
        package    = None
<frozen importlib._bootstrap>:1387: in _gcd_import
    ???
        level      = 0
        name       = 'dimos.control.tasks.cartesian_ik_task.cartesian_ik_task'
        package    = None
<frozen importlib._bootstrap>:1360: in _find_and_load
    ???
        import_    = <function _gcd_import at 0xffd77fb4c0e0>
        module     = <object object at 0xffd77fb20060>
        name       = 'dimos.control.tasks.cartesian_ik_task.cartesian_ik_task'
<frozen importlib._bootstrap>:1331: in _find_and_load_unlocked
    ???
        child      = 'cartesian_ik_task'
        import_    = <function _gcd_import at 0xffd77fb4c0e0>
        name       = 'dimos.control.tasks.cartesian_ik_task.cartesian_ik_task'
        parent     = 'dimos.control.tasks.cartesian_ik_task'
        parent_module = <module 'dimos.control.tasks.cartesian_ik_task' (namespace) from ['.../control/tasks/cartesian_ik_task']>
        parent_spec = ModuleSpec(name='dimos.control.tasks.cartesian_ik_task', loader=<_frozen_importlib_external.NamespaceLoader object at ...0>, submodule_search_locations=_NamespacePath(['.../control/tasks/cartesian_ik_task']))
        path       = _NamespacePath(['.../control/tasks/cartesian_ik_task'])
        spec       = ModuleSpec(name='dimos.control.tasks.cartesian_ik_task.cartesian_ik_task', loader=<_frozen_importlib_external.SourceFi... at 0xffd5e19365a0>, origin='.../control/tasks/cartesian_ik_task/cartesian_ik_task.py')
<frozen importlib._bootstrap>:935: in _load_unlocked
    ???
        module     = <module 'dimos.control.tasks.cartesian_ik_task.cartesian_ik_task' from '.../control/tasks/cartesian_ik_task/cartesian_ik_task.py'>
        spec       = ModuleSpec(name='dimos.control.tasks.cartesian_ik_task.cartesian_ik_task', loader=<_frozen_importlib_external.SourceFi... at 0xffd5e19365a0>, origin='.../control/tasks/cartesian_ik_task/cartesian_ik_task.py')
<frozen importlib._bootstrap_external>:995: in exec_module
    ???
        code       = <code object <module> at 0xffd5f91ee8e0, file ".../control/tasks/cartesian_ik_task/cartesian_ik_task.py", line 1>
        module     = <module 'dimos.control.tasks.cartesian_ik_task.cartesian_ik_task' from '.../control/tasks/cartesian_ik_task/cartesian_ik_task.py'>
        self       = <_frozen_importlib_external.SourceFileLoader object at 0xffd5e19365a0>
<frozen importlib._bootstrap>:488: in _call_with_frames_removed
    ???
        args       = (<code object <module> at 0xffd5f91ee8e0, file ".../control/tasks/cartesian_ik_task/ca...l.tasks.cartesian_ik_task', '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0xffd5e19365a0>, ...})
        f          = <built-in function exec>
        kwds       = {}
.../tasks/cartesian_ik_task/cartesian_ik_task.py:38: in <module>
    from dimos.manipulation.planning.kinematics.pinocchio_ik import (
        Any        = typing.Any
        BaseControlTask = <class 'dimos.control.task.BaseControlTask'>
        ControlMode = <enum 'ControlMode'>
        CoordinatorState = <class 'dimos.control.task.CoordinatorState'>
        JointCommandOutput = <class 'dimos.control.task.JointCommandOutput'>
        Path       = <class 'pathlib.Path'>
        ResourceClaim = <class 'dimos.control.task.ResourceClaim'>
        TYPE_CHECKING = False
        __builtins__ = <builtins>
        __cached__ = '.../control/tasks/cartesian_ik_task/__pycache__/cartesian_ik_task.cpython-312.pyc'
        __doc__    = 'Cartesian control task with internal Pinocchio IK solver.\n\nAccepts streaming cartesian poses (e.g., from teleoperat...ing)\nand computes inverse kinematics internally to output joint commands.\nParticipates in joint-level arbitration.\n'
        __file__   = '.../control/tasks/cartesian_ik_task/cartesian_ik_task.py'
        __loader__ = <_frozen_importlib_external.SourceFileLoader object at 0xffd5e19365a0>
        __name__   = 'dimos.control.tasks.cartesian_ik_task.cartesian_ik_task'
        __package__ = 'dimos.control.tasks.cartesian_ik_task'
        __spec__   = ModuleSpec(name='dimos.control.tasks.cartesian_ik_task.cartesian_ik_task', loader=<_frozen_importlib_external.SourceFi... at 0xffd5e19365a0>, origin='.../control/tasks/cartesian_ik_task/cartesian_ik_task.py')
        annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216)
        dataclass  = <function dataclass at 0xffd77f204040>
        np         = <module 'numpy' from '.../dimos/dimos/.venv/lib/python3.12........./site-packages/numpy/__init__.py'>
        threading  = <module 'threading' from '........./usr/lib/python3.12/threading.py'>
.../planning/kinematics/pinocchio_ik.py:40: in <module>
    import pinocchio
        Any        = typing.Any
        Path       = <class 'pathlib.Path'>
        TYPE_CHECKING = False
        __builtins__ = <builtins>
        __cached__ = '.../kinematics/__pycache__/pinocchio_ik.cpython-312.pyc'
        __doc__    = 'Pinocchio-based inverse kinematics solver.\n\nStandalone IK solver using Pinocchio for forward kinematics and Jacobia...>>> q_solution, converged, error = ik.solve(target_se3, q_init)\n    >>> ee_pose = ik.forward_kinematics(q_solution)\n'
        __file__   = '/home/runner/work/dimos/dimos/.../planning/kinematics/pinocchio_ik.py'
        __loader__ = <_frozen_importlib_external.SourceFileLoader object at 0xffd5e1934740>
        __name__   = 'dimos.manipulation.planning.kinematics.pinocchio_ik'
        __package__ = 'dimos.manipulation.planning.kinematics'
        __spec__   = ModuleSpec(name='dimos.manipulation.planning.kinematics.pinocchio_ik', loader=<_frozen_importlib_external.SourceFileLo...ject at 0xffd5e1934740>, origin='/home/runner/work/dimos/dimos/.../planning/kinematics/pinocchio_ik.py')
        annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216)
        dataclass  = <function dataclass at 0xffd77f204040>
        norm       = <function norm at 0xffd768afddf0>
        np         = <module 'numpy' from '.../dimos/dimos/.venv/lib/python3.12........./site-packages/numpy/__init__.py'>
        solve      = <function solve at 0xffd768afc2b0>
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

    #
    # Copyright (c) 2015-2021 CNRS INRIA
    #
    # ruff: noqa: E402, F401, F403, F405
    
    import numpy
    
    # On Windows, if pinocchio.dll is not in the same directory than
    # the .pyd, it will not be loaded.
    # We first try to load pinocchio, then, if it fail and we are on Windows:
    #  1. We add all paths inside PINOCCHIO_WINDOWS_DLL_PATH to DllDirectory
    #  2. If PINOCCHIO_WINDOWS_DLL_PATH we add the relative path from the
    #     package directory to the bin directory to DllDirectory
    # This solution is inspired from:
    #  - https://github..../pull/1511/files
    #  - https://stackoverflow..../questions/65334494/python-c-extension-packaging-dll-along-with-pyd
    # More resources on https://github..../pyobjcryst/issues/33
    try:
>       from .pinocchio_pywrap_default import *
E       ImportError: libtinyxml2.so.11: cannot open shared object file: No such file or directory

__builtins__ = <builtins>
__cached__ = '.../dimos/dimos/.venv/lib/python3.12/site-packages/cmeel.prefix/lib/python3.12.../pinocchio/__pycache__/__init__.cpython-312.pyc'
__doc__    = None
__file__   = '.../dimos/dimos/.venv/lib/python3.12/site-packages/cmeel.prefix/lib/python3.12....../site-packages/pinocchio/__init__.py'
__loader__ = <_frozen_importlib_external.SourceFileLoader object at 0xffd5e19357c0>
__name__   = 'pinocchio'
__package__ = 'pinocchio'
__path__   = ['.../dimos/dimos/.venv/lib/python3.12/site-packages/cmeel.prefix/lib/python3.12/site-packages/pinocchio']
__spec__   = ModuleSpec(name='pinocchio', loader=<_frozen_importlib_external.SourceFileLoader object at 0xffd5e19357c0>, origin='/h....../dimos/dimos/.venv/lib/python3.12/site-packages/cmeel.prefix/lib/python3.12/site-packages/pinocchio'])
numpy      = <module 'numpy' from '.../dimos/dimos/.venv/lib/python3.12........./site-packages/numpy/__init__.py'>
platform   = <module 'platform' from '........./usr/lib/python3.12/platform.py'>

.venv/lib/python3.12/site-packages/cmeel.prefix/lib/python3.12....../site-packages/pinocchio/__init__.py:19: ImportError

To view more test analytics, go to the Test Analytics Dashboard
📋 Got 3 mins? Take this short survey to help us improve Test Analytics.

@greptile-apps

greptile-apps Bot commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

Dependabot dependency bump across 66 Python packages, including 11+ major-version jumps (transformers 4→5, textual 3→8, cyclonedds 0.10→11, protobuf 6→7, mypy 1→2, pytest 8→9, pytest-asyncio 0.x→1.x, reportlab 4→5, plum-dispatch 2.5→2.9, mujoco 3.5→3.10, cupy 13→14). The pydantic-settings upgrade to 2.14.2 includes a path-traversal security fix (GHSA-4xgf-cpjx-pc3j) for NestedSecretsSettingsSource.

  • The most significant risk is the transformers bump from 4.53.3 to 5.12.1: TF/JAX support was removed and several Trainer/tokenizer APIs changed, though the dimos code uses only AutoModelForCausalLM / AutoProcessor with trust_remote_code=True, which are still present in v5.
  • moondream moves from 0.2.0 to 1.3.0 (local ONNX inference removed, cloud-client API preserved); moondream_hosted.py uses the cloud md.vl(api_key=...) pattern which is still valid, and moondream.py loads the HuggingFace model directly via transformers without touching the moondream client package.
  • textual jumps 3.7→8.2.8 but all imports used by the CLI tools (App, Color, DataTable, RichLog, VerticalScroll, etc.) are still present; the only documented v8 API break (Select.BLANKSelect.NULL) is not used in the codebase.

Confidence Score: 3/5

This PR carries meaningful risk due to 11+ major-version jumps touching core ML, UI, and robotics middleware stacks — the transformers 4→5 jump and the rerun-sdk/dimos-viewer version skew are the two paths most likely to surface runtime failures that tests alone may not catch.

The sheer number of simultaneous major-version bumps makes it difficult to gain high confidence without a full integration test run. Most API usages in the codebase appear compatible with the new versions, and the pydantic-settings security fix is a clear positive. The transformers 4→5 gap is the highest-risk change: Florence-2 loads custom modeling code via trust_remote_code that was authored against transformers 4.x, so inference breakage would not be caught at import time. The rerun-sdk/dimos-viewer version mismatch creates a potential wire-protocol gap. The mypy 1→2 bump may silently change what the lint job reports as clean.

pyproject.toml — transformers version constraint change (line 236), rerun-sdk vs dimos-viewer version gap (lines 138-139), and mypy major version bump (line 428). uv.lock reflects all resolved versions and confirms no solver conflicts.

Important Files Changed

Filename Overview
pyproject.toml Version constraints updated for 66 packages with 11+ major-version jumps. Key constraint changes: transformers <4.54 → <5.13, protobuf <7 → <8, structlog <26 → <27, textual pinned at 8.2.8 (was 3.7.1). The rerun-sdk pin moves to 0.33.1 while dimos-viewer stays at 0.32.0a1 (resolved successfully by uv). Multiple major tool bumps (mypy 1→2, pytest 8→9, pytest-asyncio 0→1) may require CI validation.
uv.lock Lock file regenerated to capture all 66 updated packages. uv successfully resolved the full dependency graph including the dimos-viewer==0.32.0a1 / rerun-sdk==0.33.1 combination. cyclonedds jumps from 0.10.5 to 11.0.1 (large version number increase but Python API structure is maintained).

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[66 Package Updates] --> B[Major Version Bumps]
    A --> C[Minor/Patch Updates]

    B --> D[transformers 4→5\nAutoModelForCausalLM still present\ntrust_remote_code still works]
    B --> E[textual 3→8\nAll CLI imports compatible\nSelect.BLANK→NULL not used]
    B --> F[cyclonedds 0.10→11\nPython API structure maintained\nC-layer improvements only]
    B --> G[protobuf 6→7\nFieldDescriptor.label removed\nnot used in codebase]
    B --> H[pytest 8→9 / pytest-asyncio 0→1\nevent_loop fixture removed\nnot used as fixture here]
    B --> I[mypy 1→2\nLint CI may need validation]

    C --> J[pydantic-settings 2.12→2.14.2\n✅ Security fix GHSA-4xgf-cpjx-pc3j]
    C --> K[rerun-sdk 0.32→0.33\ndimos-viewer still at 0.32.0a1\nuv resolved without conflict]
    C --> L[moondream 0.2→1.3\nhosted client API compatible\nlocal model uses transformers directly]
Loading
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
    A[66 Package Updates] --> B[Major Version Bumps]
    A --> C[Minor/Patch Updates]

    B --> D[transformers 4→5\nAutoModelForCausalLM still present\ntrust_remote_code still works]
    B --> E[textual 3→8\nAll CLI imports compatible\nSelect.BLANK→NULL not used]
    B --> F[cyclonedds 0.10→11\nPython API structure maintained\nC-layer improvements only]
    B --> G[protobuf 6→7\nFieldDescriptor.label removed\nnot used in codebase]
    B --> H[pytest 8→9 / pytest-asyncio 0→1\nevent_loop fixture removed\nnot used as fixture here]
    B --> I[mypy 1→2\nLint CI may need validation]

    C --> J[pydantic-settings 2.12→2.14.2\n✅ Security fix GHSA-4xgf-cpjx-pc3j]
    C --> K[rerun-sdk 0.32→0.33\ndimos-viewer still at 0.32.0a1\nuv resolved without conflict]
    C --> L[moondream 0.2→1.3\nhosted client API compatible\nlocal model uses transformers directly]
Loading

Reviews (1): Last reviewed commit: "build(deps): bump the python group acros..." | Re-trigger Greptile

Comment thread pyproject.toml
Comment on lines 236 to 240
"ultralytics>=8.3.70",
"Pillow",
"lap>=0.5.12",
"transformers[torch]>=4.53.0,<4.54",
"transformers[torch]>=4.53.0,<5.13",
# Florence2 (dimos/models/vl/florence.py) loads via transformers trust_remote_code;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P2 transformers 4→5 major-version gap needs runtime validation

The perception extra's upper bound is relaxed from <4.54 to <5.13, and the project-deps group now pins transformers==5.12.1. Transformers 5.0 dropped TF/JAX, removed deprecated Trainer arguments, and finalized tokenizer unification (no more slow/fast split). The dimos code only calls AutoModelForCausalLM.from_pretrained(..., trust_remote_code=True) and AutoProcessor.from_pretrained(...), which are still present in v5 — but Florence-2 loads a custom modeling file via trust_remote_code that was written against transformers 4.x internals. If that downloaded modeling code references any removed v4 private APIs (e.g. deprecated batch_decode signatures, removed torchscript path, or deleted config attributes), it will fail silently at inference time rather than at import time. Worth running a smoke test with the Florence-2 and moondream2 model paths against the newly pinned version before merging.

Comment thread pyproject.toml
Comment on lines +140 to 143
"protobuf>=6.33.5,<8",
"psutil>=7.0.0",
# >=0.1.7: the 0.1.6 linux-aarch64 wheel shipped a 32-bit armv7 vec0.so
# (wrong ELF class), which fails to load on aarch64. Fixed from 0.1.7 on.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P2 rerun-sdk bumped while dimos-viewer remains at a matching older alpha

rerun-sdk is now pinned to 0.33.1 in both the core dependencies and the visualization extra, but dimos-viewer stays at 0.32.0a1. The uv resolver accepted this combination, so there is no Python-level dependency conflict. However, dimos-viewer is a pre-built wheel that embeds the Rerun viewer binary compiled against the 0.32 wire protocol, and rerun-sdk 0.33 may emit log data in a format the bundled viewer binary cannot fully parse (Rerun uses versioned Blueprint and Chunk encoding). If the data recording and viewing paths ever run simultaneously in the same process, mismatched binary protocols could cause viewer rendering artifacts or silent data loss. Consider bumping dimos-viewer to a 0.33-compatible alpha, or verifying that the two wire-format versions remain backward-compatible.

Comment thread pyproject.toml
Comment on lines 427 to 432
# Lint / format / type-check tooling for the dedicated `lint` CI job.
lint = [
# Lint / format / type-check
"ruff==0.14.3",
"mypy==1.19.0",
"ruff==0.15.20",
"mypy==2.1.0",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P2 mypy 1→2 jump may silently tighten type-checking rules in CI

mypy==2.1.0 is a major release that historically ships stricter defaults and completes several deprecation cycles (e.g., around --ignore-missing-imports scoping and TypeVar inference). If the lint job is green on 1.19.0 today, it could start failing under 2.1.0 without any source change — or conversely, real errors previously missed by 1.x could surface. Worth a dedicated lint run with the new mypy before treating the CI as a clean signal.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

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