Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pyproject.toml: move pysnmp -> pysnmp-lextudio, drop unnecessary pysnmp-mibs #1186

Merged

Conversation

Bastian-Krause
Copy link
Member

Description
The original author of pysnmp passed away and the lextudio folks took over maintenance [1]. A request to take over the pysnmp PyPi project is pending [2]. Let's move the the maintained fork rather now than later.

While at it, drop the pysnmp-mibs dependency altogether, because this is no longer required for pysnmp>=4.3 [3].

[1] etingof/pysnmp#429
[2] pypi/support#2420
[3] https://github.com/lextudio/pysnmp-mibs/blob/master/README.md

Checklist

  • PR has been tested (CI only)

…mp-mibs

The original author of pysnmp passed away and the lextudio folks took
over maintenance [1]. A request to take over the pysnmp PyPi project is
pending [2]. Let's move the the maintained fork rather now than later.

While at it, drop the pysnmp-mibs dependency altogether, because this is
no longer required for pysnmp>=4.3 [3].

[1] etingof/pysnmp#429
[2] pypi/support#2420
[3] https://github.com/lextudio/pysnmp-mibs/blob/master/README.md

Signed-off-by: Bastian Krause <bst@pengutronix.de>
@Bastian-Krause Bastian-Krause added the dependencies Pull requests that update a dependency file label May 19, 2023
@codecov
Copy link

codecov bot commented May 19, 2023

Codecov Report

Patch and project coverage have no change.

Comparison is base (c3253c4) 63.0% compared to head (aa2549c) 63.0%.

Additional details and impacted files
@@          Coverage Diff           @@
##           master   #1186   +/-   ##
======================================
  Coverage    63.0%   63.0%           
======================================
  Files         159     159           
  Lines       11658   11658           
======================================
  Hits         7353    7353           
  Misses       4305    4305           

☔ View full report in Codecov by Sentry.
📢 Do you have feedback about the report comment? Let us know in this issue.

@Bastian-Krause Bastian-Krause merged commit 0a19c6c into labgrid-project:master Jun 7, 2023
@Bastian-Krause Bastian-Krause deleted the bst/pysnmp-update branch June 7, 2023 11:32
Bastian-Krause added a commit to Bastian-Krause/labgrid that referenced this pull request Jul 31, 2024
The original author of pysnmp passed away and the lextudio folks took
over maintenance. While the request to take over the pysnmp PyPi project
was pending, the maintained fork was called pysnmp-lextudio (see labgrid-project#1186,
aa2549c). Now that the migration is complete, let's move back to the
original package name.

See: etingof/pysnmp#429

Signed-off-by: Bastian Krause <bst@pengutronix.de>
Bastian-Krause added a commit to Bastian-Krause/labgrid that referenced this pull request Oct 10, 2024
pysnmp depends on pyasn1. `pyasn1.compat.octets` was removed in pyasn1
0.6.1 [1] leading to ModuleNotFoundErrors in labgrid's "eaton" and
"poe_mib" power backends:

  _______________ TestNetworkPowerDriver.test_import_backend_eaton _______________

  self = <test_powerdriver.TestNetworkPowerDriver object at 0x7f84794bfdd0>

      def test_import_backend_eaton(self):
          pytest.importorskip("pysnmp")
  >       import labgrid.driver.power.eaton

  tests/test_powerdriver.py:295:
  _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  labgrid/driver/power/eaton.py:2: in <module>
      from ...util.snmp import SimpleSNMP
  labgrid/util/snmp.py:1: in <module>
      from pysnmp import hlapi
  /opt/hostedtoolcache/Python/3.12.5/x64/lib/python3.12/site-packages/pysnmp/hlapi/__init__.py:7: in <module>
      from pysnmp.proto.rfc1902 import *
  /opt/hostedtoolcache/Python/3.12.5/x64/lib/python3.12/site-packages/pysnmp/proto/rfc1902.py:8: in <module>
      from pysnmp.proto import rfc1155, error
  /opt/hostedtoolcache/Python/3.12.5/x64/lib/python3.12/site-packages/pysnmp/proto/rfc1155.py:10: in <module>
      from pysnmp.proto import error
  /opt/hostedtoolcache/Python/3.12.5/x64/lib/python3.12/site-packages/pysnmp/proto/error.py:9: in <module>
      from pysnmp import debug
  _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

      #
      # This file is part of pysnmp software.
      #
      # Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
      # License: https://www.pysnmp.com/pysnmp/license.html
      #
      import logging
  >   from pyasn1.compat.octets import octs2ints
  E   ModuleNotFoundError: No module named 'pyasn1.compat.octets'

  /opt/hostedtoolcache/Python/3.12.5/x64/lib/python3.12/site-packages/pysnmp/debug.py:8: ModuleNotFoundError
  ______________ TestNetworkPowerDriver.test_import_backend_poe_mib ______________

  self = <test_powerdriver.TestNetworkPowerDriver object at 0x7f84794bd910>

      def test_import_backend_poe_mib(self):
          pytest.importorskip("pysnmp")
  >       import labgrid.driver.power.poe_mib

  tests/test_powerdriver.py:307:
  _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
  labgrid/driver/power/poe_mib.py:4: in <module>
      from ...util.snmp import SimpleSNMP
  labgrid/util/snmp.py:1: in <module>
      from pysnmp import hlapi
  /opt/hostedtoolcache/Python/3.12.5/x64/lib/python3.12/site-packages/pysnmp/hlapi/__init__.py:7: in <module>
      from pysnmp.proto.rfc1902 import *
  /opt/hostedtoolcache/Python/3.12.5/x64/lib/python3.12/site-packages/pysnmp/proto/rfc1902.py:8: in <module>
      from pysnmp.proto import rfc1155, error
  /opt/hostedtoolcache/Python/3.12.5/x64/lib/python3.12/site-packages/pysnmp/proto/rfc1155.py:10: in <module>
      from pysnmp.proto import error
  /opt/hostedtoolcache/Python/3.12.5/x64/lib/python3.12/site-packages/pysnmp/proto/error.py:9: in <module>
      from pysnmp import debug
  _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

      #
      # This file is part of pysnmp software.
      #
      # Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
      # License: https://www.pysnmp.com/pysnmp/license.html
      #
      import logging
  >   from pyasn1.compat.octets import octs2ints
  E   ModuleNotFoundError: No module named 'pyasn1.compat.octets'

  /opt/hostedtoolcache/Python/3.12.5/x64/lib/python3.12/site-packages/pysnmp/debug.py:8: ModuleNotFoundError

The issue is documented upstream [2]. [3] limited the pysnmp version to
<6. pysnmp 6.1.4, 6.2.6, and 7.1.0 are not affected.

Limit compatible pyasn1 versions to <0.6.1 until [5]
switches labgrid to pysnmp's asyncio API, thereby dropping the upper
bound introduced by [3].

While at it, switch from "pysnmp-lextudio" to "pysnmp". The original
author of pysnmp passed away and the lextudio folks took over maintenanc.
While the request to take over the pysnmp PyPi project was pending, the
maintained fork was called pysnmp-lextudio (see labgrid-project#1186, aa2549c). Now that
the migration is complete, let's move back to the original package name.

See: [6]

[1] https://github.com/pyasn1/pyasn1/releases/tag/v0.6.1
[2] pyasn1/pyasn1#76
[3] labgrid-project#1332
[4] lextudio/pysnmp#113 (comment)
[5] labgrid-project#1497
[6] etingof/pysnmp#429

Signed-off-by: Bastian Krause <bst@pengutronix.de>
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
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants