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

Call for your help to revive the PySNMP ecosystem together #429

Open
8 of 12 tasks
lextm opened this issue Nov 11, 2022 · 0 comments
Open
8 of 12 tasks

Call for your help to revive the PySNMP ecosystem together #429

lextm opened this issue Nov 11, 2022 · 0 comments

Comments

@lextm
Copy link

lextm commented Nov 11, 2022

Background

PySNMP ecosystem has been idle ever since 2020, and while many repos were forked by different parties, none of the authors showed a plan to completely take over the ecosystem as a whole and bring the repos forward,

  • https://github.com/pysnmp has forked several key components (Community Fork #416) and published several new releases mainly for a Splunk project. No documentation site was planned for this.
  • https://github.com/inexio has forked most of the components to maintain a documentation mirror (The sample address is not accessible #389) at https://snmplabs.thola.io/. However, contents on this site do not map to released versions of the packages, so you might hit breaking pieces here and there.

    Note that inexio GmbH was once the sponsor of Ilya.

  • https://github.com/pyasn1 has forked two ASN.1 related repos ([PSA] Transfer of ownership pyasn1#214) and taken over the PyPI packages pyasn1*. https://pyasn1.readthedocs.io/ was set up and matches the new releases.
  • Simon Fagerholm used his fork to create https://pysnmp.readthedocs.io/ but he made no other commits. Thus, this doc site while high in search engine results contains out-of-date information and does not really help much.
  • Other forks didn't show significant progress.
  • The primary domain name (snmplabs.com) was lost and fell into the hands of unknown. The current owner(s) never reveals the identity, so any connection to that domain can be risky for general public.
  • New Python releases (3.11 and 3.12 for example) introduced breaking changes that impact PySNMP 4.x users significantly (for example, changes related to asyncio and asyncore).

As Ilya passed away (#427), I think it is more important than ever to regroup all parties under the same banner.

My company LeXtudio Inc. has been active in SNMP field for more than a decade now, mainly focusing on its .NET ecosystem. But some clients asked if we can support PySNMP for them, so we asked ourselves why not take the lead to revive PySNMP.

Migration Plan

  • Fork all related repos under a single place (currently all under https://github.com/lextudio)

  • Set up a new documentation site (https://www.pysnmp.com) with up-to-date information.

  • Publish new releases of the Python packages.

    Name Downloads
    PyPI PyPI Downloads
    PyPI PyPI Downloads
    PyPI PyPI Downloads
    PyPI PyPI Downloads
    PyPI PyPI Downloads
    PyPI PyPI Downloads
    PyPI PyPI Downloads
    PyPI PyPI Downloads
  • Set up a new SNMP Simulator instance (demo.pysnmp.com) as documented here

  • Set up MIB site (https://mibs.pysnmp.com) based on this

  • Integrated with https://github.com/pyasn1.

    • PyPI
    • PyPI
  • Add unit test coverage to help reveal new/known bugs and ensure patches work as expected.

  • Add compatibility test to support all major Python releases (3.8+, in Feb 2024)

  • (in-progress) Help downstream projects upgrade to 6.0 releases (OpenStack, Home Assistant, etc).

  • (in-progress) PEP 541 request to take over the remaining 11 PyPI packages (pysnmp*/pysmi/snmp*) from Ilya. Please leave your comments and help move the slow PEP 541 process forward.

  • (in-progress) Review and cherry pick all existing patches (2020-2022)

  • (in-progress) Review and close most existing issues reported (2020-2022), tracked in Tracker of etingof/pysnmp opened issues lextudio/pysnmp#4

In the long run, LeXtudio Inc. plans to work with key stakeholders (projects that depend on pysnmp) and sponsors to set up the governing rules around the repos. Ideally there should be a PySNMP organization that supervises the development.

Known Projects Switched to LeXtudio Fork

This is not a complete list but can show you the momentum.

Name Comment
OpenStack
Checkmk
Home Assistant PyPI Downloads
Genie libs PyPI Downloads
brother PyPI Downloads
Proliantutils PyPI Downloads
labgrid PyPI Downloads
snimpy PyPI Downloads

You Can Help

What help is needed from you?

  • Spread the words.
  • Open new issues at https://github.com/lextudio/pysnmp/issues so that we can track what are needed to address in the coming weeks.
  • PEP 541 request was opened for us to take over the remaining PyPI packages (pysnmp*/pysmi/snmp*) from Ilya. Please leave your comments there and help move the slow PEP 541 process forward.
  • Sponsor this initiative to revive the ecosystem by contacting support@lextudio.com if you like to offer financial support to speed up the process.
  • Write to support@lextudio.com if you want to offer other kind of assistance (code review, documentation, and others).
JohnGarbutt pushed a commit to stackhpc/proliantutils that referenced this issue Nov 29, 2023
The pysnmp library is not maintained since 4 years now and it's
incompatible with recent libraries like pyasn1.
Its fork pysnmp-lextudio is regularly maintained, we should move
to that.
For more info see etingof/pysnmp#429

Change-Id: Ic37805b39054b1d6a4a4c69a8faf57b512d920a0
tanaypf9 pushed a commit to tanaypf9/pf9-requirements that referenced this issue May 20, 2024
The pysnmp library is not maintained since 4 years and it's
now incompatible with other related libraries like pyasn1.
Deprecate it and add its fork pysnmp-lextudio with its
dependency pyasn1-lextudio

For more info on the new pysnmp ecosystem please look at
etingof/pysnmp#429

[Q] Is the library actively maintained?
[A] Yes.

[Q] Is the library good code?
[A] Yes.

[Q] Is the library python 3 compatible?
[A] Yes.

[Q] Is the library license compatible?
[A] Yes. BSD

[Q] Is the library already packaged in the distros we target
    (Ubuntu latest / Fedora latest)?
[A] No.

[Q] Is the function of this library already covered by other
    libraries in global-requirements.txt?
[A] Yes, but they're unmaintained or not part of the same ecosystem,
    which brings incompatibility in the long term (see the issue with
    pyasn1 0.5.0 update that is incompatible with pysnmp, even if it
    is one of its dependencies!)

Change-Id: I90274181c1e027d9b17a556fa1ac4767cbf6b5d0
tanaypf9 pushed a commit to tanaypf9/pf9-requirements that referenced this issue May 20, 2024
The pysnmp library is not maintained since 4 years and it's
now incompatible with other related libraries like pyasn1.
Deprecate it and add its fork pysnmp-lextudio with its
dependencies pyasn1-lextudio and pyasn1-modules-lextudio

For more info on the new pysnmp ecosystem please look at
etingof/pysnmp#429

[Q] Is the library actively maintained?
[A] Yes.

[Q] Is the library good code?
[A] Yes.

[Q] Is the library python 3 compatible?
[A] Yes.

[Q] Is the library license compatible?
[A] Yes. BSD

[Q] Is the library already packaged in the distros we target
    (Ubuntu latest / Fedora latest)?
[A] No.

[Q] Is the function of this library already covered by other
    libraries in global-requirements.txt?
[A] Yes, but they're unmaintained or not part of the same ecosystem,
    which brings incompatibility in the long term (see the issue with
    pyasn1 0.5.0 update that is incompatible with pysnmp, even if it
    is one of its dependencies!)

Change-Id: I90274181c1e027d9b17a556fa1ac4767cbf6b5d0
tanaypf9 pushed a commit to tanaypf9/pf9-requirements that referenced this issue May 20, 2024
The pysnmp library is not maintained since 4 years and it's
now incompatible with other related libraries like pyasn1.
Deprecate it and add its fork pysnmp-lextudio with its
dependency pyasn1-lextudio

For more info on the new pysnmp ecosystem please look at
etingof/pysnmp#429

[Q] Is the library actively maintained?
[A] Yes.

[Q] Is the library good code?
[A] Yes.

[Q] Is the library python 3 compatible?
[A] Yes.

[Q] Is the library license compatible?
[A] Yes. BSD

[Q] Is the library already packaged in the distros we target
    (Ubuntu latest / Fedora latest)?
[A] No.

[Q] Is the function of this library already covered by other
    libraries in global-requirements.txt?
[A] Yes, but they're unmaintained or not part of the same ecosystem, which brings
    incompatibility in the long term (see the issue with pyasn1 0.5.0 update that
    is incompatible with pysnmp, even if it is one of its dependencies!)

Change-Id: I90274181c1e027d9b17a556fa1ac4767cbf6b5d0
tanaypf9 pushed a commit to tanaypf9/pf9-requirements that referenced this issue May 20, 2024
The pysnmp library is not maintained since 4 years and it's
now incompatible with other related libraries like pyasn1.
Deprecate it and add its fork pysnmp-lextudio with its
dependency pyasn1-lextudio

For more info on the new pysnmp ecosystem please look at
etingof/pysnmp#429

Change-Id: I90274181c1e027d9b17a556fa1ac4767cbf6b5d0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant