build(deps): replace the deprecated pysnmp-lextudio with pysnmp>=7.1 (#5470)
CI / lint (push) Successful in 2s
CI / integration (push) Successful in 1m27s
CI / unit (push) Successful in 1m28s
CI / publish (push) Successful in 1m27s

#5470 "pysnmp-lextudio is deprecated: every startup logs a RuntimeWarning".

Dependency change: the [snmp] extra now installs `pysnmp>=7.1` instead of
`pysnmp-lextudio>=6.2`. pysnmp is the same lextudio lineage under its maintained
name; the 7.1 floor is because below 7 the name is the abandoned 4.x line with
no asyncio API. The poller already finds either API shape (_api(), the engine
close probes), so no code changes; its docstring now names what the image ships.
Approved by the operator 2026-10-09 ("yes please do the swap").

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-09 14:37:06 -04:00
co-authored by Claude Opus 5.5
parent 0b2fbf13fc
commit cac65fa35c
2 changed files with 9 additions and 5 deletions
+5 -4
View File
@@ -1,10 +1,11 @@
# plugins/snmp/poller.py
"""Ask an SNMP device for its readings, and say in words why it didn't answer.
pysnmp-lextudio 6.x (what the image installs) and canonical pysnmp 7.x put the
asyncio API in different modules with different names; _api() finds whichever
is installed, so a dependency bump can't silently break polling. Without
pysnmp at all the poll reports that instead of raising.
pysnmp 7.x (what the image installs, #5470) and the deprecated
pysnmp-lextudio 6.x put the asyncio API in different modules with different
names; _api() finds whichever is installed, so a dependency change can't
silently break polling. Without pysnmp at all the poll reports that instead
of raising.
"""
from __future__ import annotations