Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Chore(deps-dev): Update aiomqtt requirement from <=0.1.3 to <=2.4.0#246

Open
dependabot[bot] wants to merge 1 commit intomainaleph-im/aleph-sdk-python:mainfrom
dependabot/pip/aiomqtt-lte-2.4.0aleph-im/aleph-sdk-python:dependabot/pip/aiomqtt-lte-2.4.0Copy head branch name to clipboard
Open

Chore(deps-dev): Update aiomqtt requirement from <=0.1.3 to <=2.4.0#246
dependabot[bot] wants to merge 1 commit intomainaleph-im/aleph-sdk-python:mainfrom
dependabot/pip/aiomqtt-lte-2.4.0aleph-im/aleph-sdk-python:dependabot/pip/aiomqtt-lte-2.4.0Copy head branch name to clipboard

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Nov 3, 2025

Updates the requirements on aiomqtt to permit the latest version.

Release notes

Sourced from aiomqtt's releases.

v2.4.0

Added

Fixed

Changelog

Sourced from aiomqtt's changelog.

[2.4.0] - 2024-05-03

Added

Fixed

[2.3.2] - 2024-04-08

Added

Fixed

[2.3.1] - 2024-03-31

Changed

Fixed

  • Consistently use sock.fileno() to identify socket for monitoring (@​airtower-luna in #357)
  • Replace deprecated get_event_loop with get_running_loop

[2.3.0] - 2024-08-07

Added

  • Implement len(client.messages) to return number of messages in queue (@​empicano in #323)

Changed

[2.2.0] - 2024-07-02

Changed

Fixed

... (truncated)

Commits
  • afe9978 docs: Update CHANGELOG for release
  • afa0dbf Add proxy port
  • 8d75a54 Fix retained message delay on TLS
  • 5b7d564 test: Open websockets port on local development
  • 9a8c5a4 refactor: Adapt to new ruff rules
  • deb950d build: Bump ruff to latest version
  • 04fa87c docs: Update CHANGELOG for release
  • 3b31f11 fix: Add outdated version attributes after uv switch
  • 894f367 docs: Add missing Python version markers after uv switch
  • 3d1ceea build: Test for Python 3.13
  • Additional commits viewable in compare view

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Updates the requirements on [aiomqtt](https://github.com/empicano/aiomqtt) to permit the latest version.
- [Release notes](https://github.com/empicano/aiomqtt/releases)
- [Changelog](https://github.com/empicano/aiomqtt/blob/main/CHANGELOG.md)
- [Commits](empicano/aiomqtt@v0.1.0...v2.4.0)

---
updated-dependencies:
- dependency-name: aiomqtt
  dependency-version: 2.4.0
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file python Pull requests that update python code labels Nov 3, 2025
@github-actions
Copy link

github-actions bot commented Nov 3, 2025

Failed to retrieve llama text: Invalid URL '/completion': No scheme supplied. Perhaps you meant https:///completion?

Copy link

@foxpatch-aleph foxpatch-aleph left a comment

Choose a reason for hiding this comment

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

The PR bumps aiomqtt from <=0.1.3 to <=2.4.0, but aiomqtt v2.x introduced a completely redesigned async-first API that is incompatible with the existing usage in examples/mqtt.py. The example still uses the old paho-mqtt-style callback API (on_connect, on_disconnect, on_message, loop_forever, client.connect, client.reconnect) which no longer exists in aiomqtt 2.x. Allowing the new version without updating the example will result in runtime errors for anyone using that example. The constraint should either be kept at <=0.1.3 until the example is updated, or the example must be rewritten to use the async context manager / message iterator pattern introduced in aiomqtt 1.x+.

examples/mqtt.py (line 86): This line uses the old aiomqtt 0.x constructor signature (aiomqtt.Client(loop, userdata=userdata, transport=transport)). In aiomqtt 2.x the client is used as an async context manager (async with aiomqtt.Client(hostname, ...) as client:) and the loop and userdata parameters no longer exist. This will raise a TypeError at runtime with the newly allowed version.

examples/mqtt.py (line 87): The callback-based API (client.on_connect, client.on_disconnect, client.on_message) was removed in aiomqtt 1.x. Messages are now consumed via async for message in client.messages:. These three lines will silently do nothing or raise AttributeError.

examples/mqtt.py (line 96): client.loop_forever() does not exist in aiomqtt 2.x. The event loop integration is handled internally by the async context manager.

examples/mqtt.py (line 98): await client.connect(host, port, keepalive) was removed; connection is established by entering the async context manager (async with aiomqtt.Client(hostname=host, port=port, keepalive=keepalive) as client:).

examples/mqtt.py (line 102): await client.reconnect() no longer exists in aiomqtt 2.x. Reconnection logic must be implemented by re-entering the context manager, typically in a retry loop.

pyproject.toml (line 69): The jump from <=0.1.3 to <=2.4.0 crosses two major version boundaries with breaking API changes. If the intent is to keep backward compatibility while allowing a patch/minor bump, the constraint should be tightened (e.g. >=2.0,<=2.4.0) once the example is updated. As written, it also still allows the old 0.1.3 version due to the <= bound starting from whatever was previously installed.

Copy link

@foxpatch-aleph foxpatch-aleph left a comment

Choose a reason for hiding this comment

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

This PR updates the aiomqtt version constraint from <=0.1.3 to <=2.4.0, which is a major version jump spanning two breaking API rewrites. The aiomqtt library underwent a complete redesign between v0.x and v2.x: it moved from a paho-mqtt callback-based wrapper to a fully async context manager API. The existing examples/mqtt.py uses the old v0.x API (passing loop and userdata to the constructor, assigning on_connect/on_disconnect/on_message callbacks, calling client.connect(), client.loop_forever(), and client.reconnect() directly), all of which are absent in v2.x. Allowing <=2.4.0 means pip will resolve to v2.4.0 by default, breaking the example entirely. The example should be updated to the new async API, or the constraint should target a specific compatible range.

examples/mqtt.py (line 86): This file uses the aiomqtt v0.x API, which is completely incompatible with v2.x. aiomqtt.Client no longer accepts a loop or userdata argument — the constructor now only takes connection parameters (hostname, port, etc.). The callback-based pattern (client.on_connect, client.on_message, etc.) was removed; the v2.x API uses async with aiomqtt.Client(...) as client: and async for message in client.messages: instead. Methods like client.connect(), client.loop_forever(), and client.reconnect() no longer exist as standalone calls. This example will fail at runtime with any version of aiomqtt >= 1.0.

pyproject.toml (line 69): Changing the upper bound from <=0.1.3 to <=2.4.0 effectively causes pip to install v2.4.0 by default, which has a completely different public API. If the intent is to support the new API, examples/mqtt.py must be rewritten to match. If the intent is only to keep the dependency up-to-date without breaking changes, consider pinning to the v0.x line with >=0.1.3,<1.0 or rewriting the example alongside the version bump.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

Morty Proxy This is a proxified and sanitized view of the page, visit original site.