Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-pysnmpcrypto for 
openSUSE:Factory checked in at 2025-05-13 20:06:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pysnmpcrypto (Old)
 and      /work/SRC/openSUSE:Factory/.python-pysnmpcrypto.new.30101 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-pysnmpcrypto"

Tue May 13 20:06:59 2025 rev:2 rq:1277014 version:0.1.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pysnmpcrypto/python-pysnmpcrypto.changes  
2023-08-01 15:38:16.129723318 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-pysnmpcrypto.new.30101/python-pysnmpcrypto.changes
       2025-05-13 20:07:08.519050801 +0200
@@ -1,0 +2,9 @@
+Mon May 12 14:11:00 UTC 2025 - Nico Krapp <[email protected]>
+
+- Update to 0.1.0
+  * Drop support for Python older than 3.8
+  * Drop support for PyCryptodome
+- Build backend is now poetry-core
+- use github tarball to include tests
+
+-------------------------------------------------------------------

Old:
----
  pysnmpcrypto-0.0.4.tar.gz

New:
----
  pysnmpcrypto-0.1.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-pysnmpcrypto.spec ++++++
--- /var/tmp/diff_new_pack.LiMr2h/_old  2025-05-13 20:07:10.539135786 +0200
+++ /var/tmp/diff_new_pack.LiMr2h/_new  2025-05-13 20:07:10.555136458 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package python-pysnmpcrypto
 #
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2025 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,16 +17,16 @@
 
 
 Name:           python-pysnmpcrypto
-Version:        0.0.4
+Version:        0.1.0
 Release:        0
 Summary:        Strong cryptography support for PySNMP (SNMP library for 
Python)
 License:        BSD-2-Clause
-URL:            https://github.com/etingof/pysnmpcrypto
-Source:         
https://files.pythonhosted.org/packages/source/p/pysnmpcrypto/pysnmpcrypto-%{version}.tar.gz
+URL:            https://github.com/lextudio/pysnmpcrypto
+Source:         
https://github.com/lextudio/pysnmpcrypto/archive/refs/tags/v%{version}.tar.gz#/pysnmpcrypto-%{version}.tar.gz
 BuildRequires:  %{python_module cryptography}
 BuildRequires:  %{python_module pip}
+BuildRequires:  %{python_module poetry-core}
 BuildRequires:  %{python_module pytest}
-BuildRequires:  %{python_module setuptools}
 BuildRequires:  %{python_module wheel}
 BuildRequires:  fdupes
 BuildRequires:  python-rpm-macros

++++++ pysnmpcrypto-0.0.4.tar.gz -> pysnmpcrypto-0.1.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pysnmpcrypto-0.0.4/.github/workflows/build-test.yml 
new/pysnmpcrypto-0.1.0/.github/workflows/build-test.yml
--- old/pysnmpcrypto-0.0.4/.github/workflows/build-test.yml     1970-01-01 
01:00:00.000000000 +0100
+++ new/pysnmpcrypto-0.1.0/.github/workflows/build-test.yml     2024-09-09 
17:42:40.000000000 +0200
@@ -0,0 +1,49 @@
+name: CI
+
+on:
+  push:
+    branches:
+      - "master"
+      - "release-*"
+  pull_request:
+    branches: [master]
+
+jobs:
+  build:
+    name: build
+    runs-on: ${{ matrix.os }}
+    strategy:
+      matrix:
+        os: [ubuntu-latest, windows-latest, macos-latest]
+        python-version: ['3.8', '3.9', '3.10', '3.11', '3.12', '3.13.0-rc.1']
+    steps:
+      - uses: actions/checkout@v4
+      - name: Setup python
+        uses: actions/setup-python@v5
+        with:
+          python-version: ${{ matrix.python-version }}
+          cache: 'pip'
+      - name: Run image
+        uses: abatilo/actions-poetry@v2
+        with:
+          poetry-version: "1.6.1"
+      - name: Build
+        run: |
+          poetry install
+          poetry build
+      - name: Test
+        run: |
+          poetry run pytest --junitxml=junit/test-results-${{ 
matrix.python-version }}.xml
+      - name: Test summary
+        uses: test-summary/action@v2
+        with:
+          paths: "junit/*.xml"
+        if: always()
+      # - uses: actions/upload-artifact@v4
+      #   with:
+      #     name: dist
+      #     path: dist
+      # - uses: actions/upload-artifact@v4
+      #   with:
+      #     name: output
+      #     path: output
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pysnmpcrypto-0.0.4/.gitignore 
new/pysnmpcrypto-0.1.0/.gitignore
--- old/pysnmpcrypto-0.0.4/.gitignore   1970-01-01 01:00:00.000000000 +0100
+++ new/pysnmpcrypto-0.1.0/.gitignore   2024-09-09 17:42:40.000000000 +0200
@@ -0,0 +1,123 @@
+# Byte-compiled / optimized / DLL files
+__pycache__/
+*.py[cod]
+*$py.class
+
+# C extensions
+*.so
+
+# Distribution / packaging
+.Python
+env/
+build/
+develop-eggs/
+dist/
+downloads/
+eggs/
+.eggs/
+lib/
+lib64/
+parts/
+sdist/
+var/
+wheels/
+*.egg-info/
+.installed.cfg
+*.egg
+
+# PyInstaller
+#  Usually these files are written by a python script from a template
+#  before PyInstaller builds the exe, so as to inject date/other infos into it.
+*.manifest
+*.spec
+
+# Installer logs
+pip-log.txt
+pip-delete-this-directory.txt
+
+# Unit test / coverage reports
+htmlcov/
+.tox/
+.coverage
+.coverage.*
+.cache
+nosetests.xml
+coverage.xml
+*.cover
+.hypothesis/
+
+# Translations
+*.mo
+*.pot
+
+# Django stuff:
+*.log
+local_settings.py
+
+# Flask stuff:
+instance/
+.webassets-cache
+
+# Scrapy stuff:
+.scrapy
+
+# Sphinx documentation
+docs/_build/
+
+# PyBuilder
+target/
+
+# Jupyter Notebook
+.ipynb_checkpoints
+
+# pyenv
+.python-version
+
+# celery beat schedule file
+celerybeat-schedule
+
+# SageMath parsed files
+*.sage.py
+
+# dotenv
+.env
+
+# virtualenv
+.venv*
+venv*
+ENV*
+
+# Spyder project settings
+.spyderproject
+.spyproject
+
+# Rope project settings
+.ropeproject
+
+# mkdocs documentation
+/site
+
+# mypy
+.mypy_cache/
+
+# vim swapfiles
+*.sw?
+
+# python packaging
+MANIFEST
+dist/
+build/
+*.egg-info/
+
+# PyCharm stuff
+.idea/
+
+# Eclipse stuff
+.project
+.pydevproject
+
+# Tox
+.tox/
+
+# Pyenv
+.python-version
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pysnmpcrypto-0.0.4/.vscode/settings.json 
new/pysnmpcrypto-0.1.0/.vscode/settings.json
--- old/pysnmpcrypto-0.0.4/.vscode/settings.json        1970-01-01 
01:00:00.000000000 +0100
+++ new/pysnmpcrypto-0.1.0/.vscode/settings.json        2024-09-09 
17:42:40.000000000 +0200
@@ -0,0 +1,11 @@
+{
+    "python.testing.unittestArgs": [
+        "-v",
+        "-s",
+        "./tests",
+        "-p",
+        "test_*.py"
+    ],
+    "python.testing.pytestEnabled": false,
+    "python.testing.unittestEnabled": true
+}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pysnmpcrypto-0.0.4/CHANGES.txt 
new/pysnmpcrypto-0.1.0/CHANGES.txt
--- old/pysnmpcrypto-0.0.4/CHANGES.txt  2018-12-30 00:05:51.000000000 +0100
+++ new/pysnmpcrypto-0.1.0/CHANGES.txt  2024-09-09 17:42:40.000000000 +0200
@@ -1,4 +1,9 @@
 
+Revision 0.1.0, released 2019-03-XX
+-----------------------------------
+
+- Drop support for Python older than 2.6
+
 Revision 0.0.4, released 2018-12-29
 -----------------------------------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pysnmpcrypto-0.0.4/LICENSE.rst 
new/pysnmpcrypto-0.1.0/LICENSE.rst
--- old/pysnmpcrypto-0.0.4/LICENSE.rst  2018-12-30 00:05:51.000000000 +0100
+++ new/pysnmpcrypto-0.1.0/LICENSE.rst  2024-09-09 17:42:40.000000000 +0200
@@ -1,4 +1,5 @@
 Copyright (c) 2018-2019, Ilya Etingof <[email protected]>
+Copyright (c) 2024, LeXtudio Inc. <[email protected]>
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pysnmpcrypto-0.0.4/MANIFEST.in 
new/pysnmpcrypto-0.1.0/MANIFEST.in
--- old/pysnmpcrypto-0.0.4/MANIFEST.in  2018-07-07 00:03:11.000000000 +0200
+++ new/pysnmpcrypto-0.1.0/MANIFEST.in  1970-01-01 01:00:00.000000000 +0100
@@ -1,4 +0,0 @@
-include *.rst *.md *.txt
-recursive-include tests *.py
-prune docs/build
-prune docs/source/.templates
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pysnmpcrypto-0.0.4/PKG-INFO 
new/pysnmpcrypto-0.1.0/PKG-INFO
--- old/pysnmpcrypto-0.0.4/PKG-INFO     2018-12-30 00:06:13.000000000 +0100
+++ new/pysnmpcrypto-0.1.0/PKG-INFO     1970-01-01 01:00:00.000000000 +0100
@@ -1,46 +0,0 @@
-Metadata-Version: 1.2
-Name: pysnmpcrypto
-Version: 0.0.4
-Summary: Strong cryptography support for PySNMP (SNMP library for Python)
-Home-page: https://github.com/etingof/pysnmpcrypto
-Author: Ilya Etingof
-Author-email: [email protected]
-Maintainer: Ilya Etingof <[email protected]>
-License: BSD
-Description: 
-        The pysnmpcrypto package is an optional extension to SNMP library
-        for Python -- pysnmp 5.0+. The pysnmpcrypto library provides
-        stronger authentication and encryption features to the SNMP
-        library by way of invoking stronger crypto algorithms.
-        
-        The pysnmpcrypto library runs on Python 2.4 through 3.7 and has a
-        dependency on either PyCryptodomex (for Python versions 2.4-2.6
-        and 3.2-3.3) or Cryptography (for Python versions 2.7 and 3.4+).
-        
-Platform: any
-Classifier: Development Status :: 5 - Production/Stable
-Classifier: Environment :: Console
-Classifier: Intended Audience :: Developers
-Classifier: Intended Audience :: Education
-Classifier: Intended Audience :: Information Technology
-Classifier: Intended Audience :: System Administrators
-Classifier: Intended Audience :: Telecommunications Industry
-Classifier: License :: OSI Approved :: BSD License
-Classifier: Natural Language :: English
-Classifier: Operating System :: OS Independent
-Classifier: Programming Language :: Python :: 2
-Classifier: Programming Language :: Python :: 2.4
-Classifier: Programming Language :: Python :: 2.5
-Classifier: Programming Language :: Python :: 2.6
-Classifier: Programming Language :: Python :: 2.7
-Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.2
-Classifier: Programming Language :: Python :: 3.3
-Classifier: Programming Language :: Python :: 3.4
-Classifier: Programming Language :: Python :: 3.5
-Classifier: Programming Language :: Python :: 3.6
-Classifier: Programming Language :: Python :: 3.7
-Classifier: Topic :: Communications
-Classifier: Topic :: System :: Monitoring
-Classifier: Topic :: System :: Networking :: Monitoring
-Classifier: Topic :: Software Development :: Libraries :: Python Modules
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pysnmpcrypto-0.0.4/README.md 
new/pysnmpcrypto-0.1.0/README.md
--- old/pysnmpcrypto-0.0.4/README.md    2018-12-30 00:05:51.000000000 +0100
+++ new/pysnmpcrypto-0.1.0/README.md    2024-09-09 17:42:40.000000000 +0200
@@ -3,20 +3,15 @@
 --------------------------------
 
[![PyPI](https://img.shields.io/pypi/v/pysnmpcrypto.svg?maxAge=2592000)](https://pypi.org/project/pysnmpcrypto)
 [![Python 
Versions](https://img.shields.io/pypi/pyversions/pysnmpcrypto.svg)](https://pypi.org/project/pysnmpcrypto/)
-[![Build 
status](https://travis-ci.org/etingof/pysnmpcrypto.svg?branch=master)](https://travis-ci.org/etingof/pysnmpcrypto)
-[![Coverage 
Status](https://img.shields.io/codecov/c/github/etingof/pysnmpcrypto.svg)](https://codecov.io/github/etingof/pysnmpcrypto)
-[![GitHub 
license](https://img.shields.io/badge/license-BSD-blue.svg)](https://raw.githubusercontent.com/etingof/pysnmpcrypto/master/LICENSE.rst)
+[![GitHub 
license](https://img.shields.io/badge/license-BSD-blue.svg)](https://raw.githubusercontent.com/lextudio/pysnmpcrypto/master/LICENSE.rst)
 
 The `pysnmpcrypto` package is an optional extension to SNMP library for
-Python [pysnmp](http://snmplabs.com/pysnmp/) 5.0+. The `pysnmpcrypto` library
+Python [pysnmp](http://snmplabs.com/pysnmp/) 6.0+. The `pysnmpcrypto` library
 provides stronger authentication and encryption features to the SNMP library
 by way of invoking stronger crypto algorithms.
 
-The `pysnmpcrypto` library runs on Python 2.4 through 3.7 and has a dependency
-on either [PyCryptodomex](https://github.com/Legrandin/pycryptodome) (for 
Python
-versions 2.4-2.6 and 3.2-3.3) or
-[Cryptography](https://github.com/pyca/cryptography) (for Python versions
-2.7 and 3.4+).
+The `pysnmpcrypto` library runs on Python 3.8+ and has a dependency
+on [Cryptography](https://github.com/pyca/cryptography).
 
 The `pysnmpcrypto` package is distributed under terms and conditions of the
 2-clause [BSD license](http://snmplabs.com/pysnmpcrypto/license.html).
@@ -26,14 +21,14 @@
 
 The `pysnmpcrypto` package is freely available for download from
 [PyPI](https://pypi.org/project/pysnmpcrypto)
-and [GitHub](https://github.com/etingof/pysnmpcrypto.git).
+and [GitHub](https://github.com/lextudio/pysnmpcrypto).
 
 Just run:
 
 ```bash
 $ pip install pysnmp pysnmpcrypto
 ```
-    
+
 to download and install both `pysnmp` and `pysnmpcrypto`.
 
 Documentation
@@ -41,9 +36,11 @@
 
 The `pysnmpcrypto` library does not expose any user-intended API. Documentation
 and usage examples on the `pysnmp` library use can be found at the
-[pysnmp project site](http://snmplabs.com/pysnmp/).
+[pysnmp project site](https://www.pysnmp.com/pysnmp/).
 
 If something does not work as expected with `pysnmpcrypto`, please
-[open an issue](https://github.com/etingof/pysnmpcrypto/issues) at GitHub.
+[open an issue](https://github.com/lextudio/pysnmp/issues) at GitHub.
 
-Copyright (c) 2018-2019, [Ilya Etingof](mailto:[email protected]). All rights 
reserved.
+Copyright (c) 2018-2019, Ilya Etingof. All rights reserved.
+Copyright (c) 2024, [LeXtudio Inc](mailto:[email protected]).
+Copyright (c) 2018-2024, [Other 
contributors](https://github.com/lextudio/pysnmpcrypto/AUTHORS.txt).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pysnmpcrypto-0.0.4/poetry.lock 
new/pysnmpcrypto-0.1.0/poetry.lock
--- old/pysnmpcrypto-0.0.4/poetry.lock  1970-01-01 01:00:00.000000000 +0100
+++ new/pysnmpcrypto-0.1.0/poetry.lock  2024-09-09 17:42:40.000000000 +0200
@@ -0,0 +1,240 @@
+# This file is automatically @generated by Poetry 1.8.3 and should not be 
changed by hand.
+
+[[package]]
+name = "cffi"
+version = "1.17.1"
+description = "Foreign Function Interface for Python calling C code."
+optional = false
+python-versions = ">=3.8"
+files = [
+    {file = "cffi-1.17.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = 
"sha256:df8b1c11f177bc2313ec4b2d46baec87a5f3e71fc8b45dab2ee7cae86d9aba14"},
+    {file = "cffi-1.17.1-cp310-cp310-macosx_11_0_arm64.whl", hash = 
"sha256:8f2cdc858323644ab277e9bb925ad72ae0e67f69e804f4898c070998d50b1a67"},
+    {file = 
"cffi-1.17.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
 hash = 
"sha256:edae79245293e15384b51f88b00613ba9f7198016a5948b5dddf4917d4d26382"},
+    {file = 
"cffi-1.17.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", 
hash = 
"sha256:45398b671ac6d70e67da8e4224a065cec6a93541bb7aebe1b198a61b58c7b702"},
+    {file = 
"cffi-1.17.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", 
hash = 
"sha256:ad9413ccdeda48c5afdae7e4fa2192157e991ff761e7ab8fdd8926f40b160cc3"},
+    {file = 
"cffi-1.17.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = 
"sha256:5da5719280082ac6bd9aa7becb3938dc9f9cbd57fac7d2871717b1feb0902ab6"},
+    {file = 
"cffi-1.17.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash 
= "sha256:2bb1a08b8008b281856e5971307cc386a8e9c5b625ac297e853d36da6efe9c17"},
+    {file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = 
"sha256:045d61c734659cc045141be4bae381a41d89b741f795af1dd018bfb532fd0df8"},
+    {file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_i686.whl", hash = 
"sha256:6883e737d7d9e4899a8a695e00ec36bd4e5e4f18fabe0aca0efe0a4b44cdb13e"},
+    {file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = 
"sha256:6b8b4a92e1c65048ff98cfe1f735ef8f1ceb72e3d5f0c25fdb12087a23da22be"},
+    {file = "cffi-1.17.1-cp310-cp310-win32.whl", hash = 
"sha256:c9c3d058ebabb74db66e431095118094d06abf53284d9c81f27300d0e0d8bc7c"},
+    {file = "cffi-1.17.1-cp310-cp310-win_amd64.whl", hash = 
"sha256:0f048dcf80db46f0098ccac01132761580d28e28bc0f78ae0d58048063317e15"},
+    {file = "cffi-1.17.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = 
"sha256:a45e3c6913c5b87b3ff120dcdc03f6131fa0065027d0ed7ee6190736a74cd401"},
+    {file = "cffi-1.17.1-cp311-cp311-macosx_11_0_arm64.whl", hash = 
"sha256:30c5e0cb5ae493c04c8b42916e52ca38079f1b235c2f8ae5f4527b963c401caf"},
+    {file = 
"cffi-1.17.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
 hash = 
"sha256:f75c7ab1f9e4aca5414ed4d8e5c0e303a34f4421f8a0d47a4d019ceff0ab6af4"},
+    {file = 
"cffi-1.17.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", 
hash = 
"sha256:a1ed2dd2972641495a3ec98445e09766f077aee98a1c896dcb4ad0d303628e41"},
+    {file = 
"cffi-1.17.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", 
hash = 
"sha256:46bf43160c1a35f7ec506d254e5c890f3c03648a4dbac12d624e4490a7046cd1"},
+    {file = 
"cffi-1.17.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = 
"sha256:a24ed04c8ffd54b0729c07cee15a81d964e6fee0e3d4d342a27b020d22959dc6"},
+    {file = 
"cffi-1.17.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash 
= "sha256:610faea79c43e44c71e1ec53a554553fa22321b65fae24889706c0a84d4ad86d"},
+    {file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = 
"sha256:a9b15d491f3ad5d692e11f6b71f7857e7835eb677955c00cc0aefcd0669adaf6"},
+    {file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_i686.whl", hash = 
"sha256:de2ea4b5833625383e464549fec1bc395c1bdeeb5f25c4a3a82b5a8c756ec22f"},
+    {file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = 
"sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b"},
+    {file = "cffi-1.17.1-cp311-cp311-win32.whl", hash = 
"sha256:85a950a4ac9c359340d5963966e3e0a94a676bd6245a4b55bc43949eee26a655"},
+    {file = "cffi-1.17.1-cp311-cp311-win_amd64.whl", hash = 
"sha256:caaf0640ef5f5517f49bc275eca1406b0ffa6aa184892812030f04c2abf589a0"},
+    {file = "cffi-1.17.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = 
"sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4"},
+    {file = "cffi-1.17.1-cp312-cp312-macosx_11_0_arm64.whl", hash = 
"sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c"},
+    {file = 
"cffi-1.17.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
 hash = 
"sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36"},
+    {file = 
"cffi-1.17.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", 
hash = 
"sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5"},
+    {file = 
"cffi-1.17.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", 
hash = 
"sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff"},
+    {file = 
"cffi-1.17.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = 
"sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99"},
+    {file = 
"cffi-1.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash 
= "sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93"},
+    {file = "cffi-1.17.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = 
"sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3"},
+    {file = "cffi-1.17.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = 
"sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8"},
+    {file = "cffi-1.17.1-cp312-cp312-win32.whl", hash = 
"sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65"},
+    {file = "cffi-1.17.1-cp312-cp312-win_amd64.whl", hash = 
"sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903"},
+    {file = "cffi-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = 
"sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e"},
+    {file = "cffi-1.17.1-cp313-cp313-macosx_11_0_arm64.whl", hash = 
"sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2"},
+    {file = 
"cffi-1.17.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
 hash = 
"sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3"},
+    {file = 
"cffi-1.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", 
hash = 
"sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683"},
+    {file = 
"cffi-1.17.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", 
hash = 
"sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5"},
+    {file = 
"cffi-1.17.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = 
"sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4"},
+    {file = 
"cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash 
= "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd"},
+    {file = "cffi-1.17.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = 
"sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed"},
+    {file = "cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = 
"sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9"},
+    {file = "cffi-1.17.1-cp313-cp313-win32.whl", hash = 
"sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d"},
+    {file = "cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = 
"sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a"},
+    {file = "cffi-1.17.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = 
"sha256:636062ea65bd0195bc012fea9321aca499c0504409f413dc88af450b57ffd03b"},
+    {file = 
"cffi-1.17.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
 hash = 
"sha256:c7eac2ef9b63c79431bc4b25f1cd649d7f061a28808cbc6c47b534bd789ef964"},
+    {file = 
"cffi-1.17.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash 
= "sha256:e221cf152cff04059d011ee126477f0d9588303eb57e88923578ace7baad17f9"},
+    {file = 
"cffi-1.17.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash 
= "sha256:31000ec67d4221a71bd3f67df918b1f88f676f1c3b535a7eb473255fdc0b83fc"},
+    {file = 
"cffi-1.17.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = 
"sha256:6f17be4345073b0a7b8ea599688f692ac3ef23ce28e5df79c04de519dbc4912c"},
+    {file = 
"cffi-1.17.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = 
"sha256:0e2b1fac190ae3ebfe37b979cc1ce69c81f4e4fe5746bb401dca63a9062cdaf1"},
+    {file = "cffi-1.17.1-cp38-cp38-win32.whl", hash = 
"sha256:7596d6620d3fa590f677e9ee430df2958d2d6d6de2feeae5b20e82c00b76fbf8"},
+    {file = "cffi-1.17.1-cp38-cp38-win_amd64.whl", hash = 
"sha256:78122be759c3f8a014ce010908ae03364d00a1f81ab5c7f4a7a5120607ea56e1"},
+    {file = "cffi-1.17.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = 
"sha256:b2ab587605f4ba0bf81dc0cb08a41bd1c0a5906bd59243d56bad7668a6fc6c16"},
+    {file = "cffi-1.17.1-cp39-cp39-macosx_11_0_arm64.whl", hash = 
"sha256:28b16024becceed8c6dfbc75629e27788d8a3f9030691a1dbf9821a128b22c36"},
+    {file = 
"cffi-1.17.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
 hash = 
"sha256:1d599671f396c4723d016dbddb72fe8e0397082b0a77a4fab8028923bec050e8"},
+    {file = 
"cffi-1.17.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash 
= "sha256:ca74b8dbe6e8e8263c0ffd60277de77dcee6c837a3d0881d8c1ead7268c9e576"},
+    {file = 
"cffi-1.17.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash 
= "sha256:f7f5baafcc48261359e14bcd6d9bff6d4b28d9103847c9e136694cb0501aef87"},
+    {file = 
"cffi-1.17.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = 
"sha256:98e3969bcff97cae1b2def8ba499ea3d6f31ddfdb7635374834cf89a1a08ecf0"},
+    {file = 
"cffi-1.17.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = 
"sha256:cdf5ce3acdfd1661132f2a9c19cac174758dc2352bfe37d98aa7512c6b7178b3"},
+    {file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = 
"sha256:9755e4345d1ec879e3849e62222a18c7174d65a6a92d5b346b1863912168b595"},
+    {file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_i686.whl", hash = 
"sha256:f1e22e8c4419538cb197e4dd60acc919d7696e5ef98ee4da4e01d3f8cfa4cc5a"},
+    {file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = 
"sha256:c03e868a0b3bc35839ba98e74211ed2b05d2119be4e8a0f224fba9384f1fe02e"},
+    {file = "cffi-1.17.1-cp39-cp39-win32.whl", hash = 
"sha256:e31ae45bc2e29f6b2abd0de1cc3b9d5205aa847cafaecb8af1476a609a2f6eb7"},
+    {file = "cffi-1.17.1-cp39-cp39-win_amd64.whl", hash = 
"sha256:d016c76bdd850f3c626af19b0542c9677ba156e4ee4fccfdd7848803533ef662"},
+    {file = "cffi-1.17.1.tar.gz", hash = 
"sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824"},
+]
+
+[package.dependencies]
+pycparser = "*"
+
+[[package]]
+name = "colorama"
+version = "0.4.6"
+description = "Cross-platform colored terminal text."
+optional = false
+python-versions = 
"!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7"
+files = [
+    {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = 
"sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"},
+    {file = "colorama-0.4.6.tar.gz", hash = 
"sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"},
+]
+
+[[package]]
+name = "cryptography"
+version = "43.0.1"
+description = "cryptography is a package which provides cryptographic recipes 
and primitives to Python developers."
+optional = false
+python-versions = ">=3.7"
+files = [
+    {file = "cryptography-43.0.1-cp37-abi3-macosx_10_9_universal2.whl", hash = 
"sha256:8385d98f6a3bf8bb2d65a73e17ed87a3ba84f6991c155691c51112075f9ffc5d"},
+    {file = 
"cryptography-43.0.1-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
 hash = 
"sha256:27e613d7077ac613e399270253259d9d53872aaf657471473ebfc9a52935c062"},
+    {file = 
"cryptography-43.0.1-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", 
hash = 
"sha256:68aaecc4178e90719e95298515979814bda0cbada1256a4485414860bd7ab962"},
+    {file = "cryptography-43.0.1-cp37-abi3-manylinux_2_28_aarch64.whl", hash = 
"sha256:de41fd81a41e53267cb020bb3a7212861da53a7d39f863585d13ea11049cf277"},
+    {file = "cryptography-43.0.1-cp37-abi3-manylinux_2_28_x86_64.whl", hash = 
"sha256:f98bf604c82c416bc829e490c700ca1553eafdf2912a91e23a79d97d9801372a"},
+    {file = "cryptography-43.0.1-cp37-abi3-musllinux_1_2_aarch64.whl", hash = 
"sha256:61ec41068b7b74268fa86e3e9e12b9f0c21fcf65434571dbb13d954bceb08042"},
+    {file = "cryptography-43.0.1-cp37-abi3-musllinux_1_2_x86_64.whl", hash = 
"sha256:014f58110f53237ace6a408b5beb6c427b64e084eb451ef25a28308270086494"},
+    {file = "cryptography-43.0.1-cp37-abi3-win32.whl", hash = 
"sha256:2bd51274dcd59f09dd952afb696bf9c61a7a49dfc764c04dd33ef7a6b502a1e2"},
+    {file = "cryptography-43.0.1-cp37-abi3-win_amd64.whl", hash = 
"sha256:666ae11966643886c2987b3b721899d250855718d6d9ce41b521252a17985f4d"},
+    {file = "cryptography-43.0.1-cp39-abi3-macosx_10_9_universal2.whl", hash = 
"sha256:ac119bb76b9faa00f48128b7f5679e1d8d437365c5d26f1c2c3f0da4ce1b553d"},
+    {file = 
"cryptography-43.0.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
 hash = 
"sha256:1bbcce1a551e262dfbafb6e6252f1ae36a248e615ca44ba302df077a846a8806"},
+    {file = 
"cryptography-43.0.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", 
hash = 
"sha256:58d4e9129985185a06d849aa6df265bdd5a74ca6e1b736a77959b498e0505b85"},
+    {file = "cryptography-43.0.1-cp39-abi3-manylinux_2_28_aarch64.whl", hash = 
"sha256:d03a475165f3134f773d1388aeb19c2d25ba88b6a9733c5c590b9ff7bbfa2e0c"},
+    {file = "cryptography-43.0.1-cp39-abi3-manylinux_2_28_x86_64.whl", hash = 
"sha256:511f4273808ab590912a93ddb4e3914dfd8a388fed883361b02dea3791f292e1"},
+    {file = "cryptography-43.0.1-cp39-abi3-musllinux_1_2_aarch64.whl", hash = 
"sha256:80eda8b3e173f0f247f711eef62be51b599b5d425c429b5d4ca6a05e9e856baa"},
+    {file = "cryptography-43.0.1-cp39-abi3-musllinux_1_2_x86_64.whl", hash = 
"sha256:38926c50cff6f533f8a2dae3d7f19541432610d114a70808f0926d5aaa7121e4"},
+    {file = "cryptography-43.0.1-cp39-abi3-win32.whl", hash = 
"sha256:a575913fb06e05e6b4b814d7f7468c2c660e8bb16d8d5a1faf9b33ccc569dd47"},
+    {file = "cryptography-43.0.1-cp39-abi3-win_amd64.whl", hash = 
"sha256:d75601ad10b059ec832e78823b348bfa1a59f6b8d545db3a24fd44362a1564cb"},
+    {file = "cryptography-43.0.1-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", 
hash = 
"sha256:ea25acb556320250756e53f9e20a4177515f012c9eaea17eb7587a8c4d8ae034"},
+    {file = 
"cryptography-43.0.1-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = 
"sha256:c1332724be35d23a854994ff0b66530119500b6053d0bd3363265f7e5e77288d"},
+    {file = 
"cryptography-43.0.1-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = 
"sha256:fba1007b3ef89946dbbb515aeeb41e30203b004f0b4b00e5e16078b518563289"},
+    {file = "cryptography-43.0.1-pp310-pypy310_pp73-win_amd64.whl", hash = 
"sha256:5b43d1ea6b378b54a1dc99dd8a2b5be47658fe9a7ce0a58ff0b55f4b43ef2b84"},
+    {file = "cryptography-43.0.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", 
hash = 
"sha256:88cce104c36870d70c49c7c8fd22885875d950d9ee6ab54df2745f83ba0dc365"},
+    {file = "cryptography-43.0.1-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", 
hash = 
"sha256:9d3cdb25fa98afdd3d0892d132b8d7139e2c087da1712041f6b762e4f807cc96"},
+    {file = "cryptography-43.0.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", 
hash = 
"sha256:e710bf40870f4db63c3d7d929aa9e09e4e7ee219e703f949ec4073b4294f6172"},
+    {file = "cryptography-43.0.1-pp39-pypy39_pp73-win_amd64.whl", hash = 
"sha256:7c05650fe8023c5ed0d46793d4b7d7e6cd9c04e68eabe5b0aeea836e37bdcec2"},
+    {file = "cryptography-43.0.1.tar.gz", hash = 
"sha256:203e92a75716d8cfb491dc47c79e17d0d9207ccffcbcb35f598fbe463ae3444d"},
+]
+
+[package.dependencies]
+cffi = {version = ">=1.12", markers = "platform_python_implementation != 
\"PyPy\""}
+
+[package.extras]
+docs = ["sphinx (>=5.3.0)", "sphinx-rtd-theme (>=1.1.1)"]
+docstest = ["pyenchant (>=1.6.11)", "readme-renderer", "sphinxcontrib-spelling 
(>=4.0.1)"]
+nox = ["nox"]
+pep8test = ["check-sdist", "click", "mypy", "ruff"]
+sdist = ["build"]
+ssh = ["bcrypt (>=3.1.5)"]
+test = ["certifi", "cryptography-vectors (==43.0.1)", "pretend", "pytest 
(>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-xdist"]
+test-randomorder = ["pytest-randomly"]
+
+[[package]]
+name = "exceptiongroup"
+version = "1.2.2"
+description = "Backport of PEP 654 (exception groups)"
+optional = false
+python-versions = ">=3.7"
+files = [
+    {file = "exceptiongroup-1.2.2-py3-none-any.whl", hash = 
"sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b"},
+    {file = "exceptiongroup-1.2.2.tar.gz", hash = 
"sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc"},
+]
+
+[package.extras]
+test = ["pytest (>=6)"]
+
+[[package]]
+name = "iniconfig"
+version = "2.0.0"
+description = "brain-dead simple config-ini parsing"
+optional = false
+python-versions = ">=3.7"
+files = [
+    {file = "iniconfig-2.0.0-py3-none-any.whl", hash = 
"sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"},
+    {file = "iniconfig-2.0.0.tar.gz", hash = 
"sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"},
+]
+
+[[package]]
+name = "packaging"
+version = "24.1"
+description = "Core utilities for Python packages"
+optional = false
+python-versions = ">=3.8"
+files = [
+    {file = "packaging-24.1-py3-none-any.whl", hash = 
"sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124"},
+    {file = "packaging-24.1.tar.gz", hash = 
"sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002"},
+]
+
+[[package]]
+name = "pluggy"
+version = "1.5.0"
+description = "plugin and hook calling mechanisms for python"
+optional = false
+python-versions = ">=3.8"
+files = [
+    {file = "pluggy-1.5.0-py3-none-any.whl", hash = 
"sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669"},
+    {file = "pluggy-1.5.0.tar.gz", hash = 
"sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1"},
+]
+
+[package.extras]
+dev = ["pre-commit", "tox"]
+testing = ["pytest", "pytest-benchmark"]
+
+[[package]]
+name = "pycparser"
+version = "2.22"
+description = "C parser in Python"
+optional = false
+python-versions = ">=3.8"
+files = [
+    {file = "pycparser-2.22-py3-none-any.whl", hash = 
"sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc"},
+    {file = "pycparser-2.22.tar.gz", hash = 
"sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6"},
+]
+
+[[package]]
+name = "pytest"
+version = "7.4.4"
+description = "pytest: simple powerful testing with Python"
+optional = false
+python-versions = ">=3.7"
+files = [
+    {file = "pytest-7.4.4-py3-none-any.whl", hash = 
"sha256:b090cdf5ed60bf4c45261be03239c2c1c22df034fbffe691abe93cd80cea01d8"},
+    {file = "pytest-7.4.4.tar.gz", hash = 
"sha256:2cf0005922c6ace4a3e2ec8b4080eb0d9753fdc93107415332f50ce9e7994280"},
+]
+
+[package.dependencies]
+colorama = {version = "*", markers = "sys_platform == \"win32\""}
+exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < 
\"3.11\""}
+iniconfig = "*"
+packaging = "*"
+pluggy = ">=0.12,<2.0"
+tomli = {version = ">=1.0.0", markers = "python_version < \"3.11\""}
+
+[package.extras]
+testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", 
"nose", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"]
+
+[[package]]
+name = "tomli"
+version = "2.0.1"
+description = "A lil' TOML parser"
+optional = false
+python-versions = ">=3.7"
+files = [
+    {file = "tomli-2.0.1-py3-none-any.whl", hash = 
"sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"},
+    {file = "tomli-2.0.1.tar.gz", hash = 
"sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"},
+]
+
+[metadata]
+lock-version = "2.0"
+python-versions = "^3.8"
+content-hash = 
"f2c02dc4d04146c26bfae5961db8babacde90a1cb1523ad459baa64a1cb870f4"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pysnmpcrypto-0.0.4/pyproject.toml 
new/pysnmpcrypto-0.1.0/pyproject.toml
--- old/pysnmpcrypto-0.0.4/pyproject.toml       1970-01-01 01:00:00.000000000 
+0100
+++ new/pysnmpcrypto-0.1.0/pyproject.toml       2024-09-09 17:42:40.000000000 
+0200
@@ -0,0 +1,33 @@
+[tool.poetry]
+name = "pysnmpcrypto"
+version = "0.1.0"
+description = "Strong cryptography support for PySNMP (SNMP library for 
Python)"
+authors = ["Ilya Etingof <[email protected]>", "LeXtudio Inc. 
<[email protected]>"]
+license = "BSD-2-Clause"
+repository = "https://github.com/lextudio/pysnmpcrypto";
+classifiers = [
+    "Development Status :: 5 - Production/Stable",
+    "Environment :: Console",
+    "Intended Audience :: Developers",
+    "Intended Audience :: Information Technology",
+    "Intended Audience :: System Administrators",
+    "Intended Audience :: Telecommunications Industry",
+    "Natural Language :: English",
+    "Operating System :: OS Independent",
+    "Topic :: Communications",
+    "Topic :: Software Development :: Libraries :: Python Modules",
+]
+readme = "README.md"
+
+[tool.poetry.dependencies]
+python = "^3.8"
+cryptography = ">=43.0.1"
+
+[tool.poetry.group.dev.dependencies]
+pytest = "^7.2.0"
+
+[tool.poetry_bumpversion.file."pysnmpcrypto/__init__.py"]
+
+[build-system]
+requires = ["poetry-core>=1.0.0"]
+build-backend = "poetry.core.masonry.api"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pysnmpcrypto-0.0.4/pysnmpcrypto/__init__.py 
new/pysnmpcrypto-0.1.0/pysnmpcrypto/__init__.py
--- old/pysnmpcrypto-0.0.4/pysnmpcrypto/__init__.py     2018-09-08 
20:12:42.000000000 +0200
+++ new/pysnmpcrypto-0.1.0/pysnmpcrypto/__init__.py     2024-09-09 
17:42:40.000000000 +0200
@@ -1,5 +1,5 @@
 # http://www.python.org/dev/peps/pep-0396/
-__version__ = '0.0.4'
+__version__ = '0.1.0'
 
 # Backend-selecting cryptographic logic to allow migration to
 # pyca/cryptography without immediately dropping support for legacy
@@ -7,26 +7,15 @@
 # On installation, the correct backend dependency is selected based
 # on the Python version. Versions that are supported by
 # pyca/cryptography use that backend; all other versions
-# (currently 2.4, 2.5, 2.6, 3.2, and 3.3) fall back to Pycryptodome.
+# (currently  2.6, 3.2, and 3.3) fall back to Pycryptodome.
 
 CRYPTOGRAPHY = 'cryptography'
-CRYPTODOME = 'Cryptodome'
 
 # Determine the available backend. Always prefer cryptography if
 # it is available.
-try:
-    import cryptography
+import cryptography
 
-    backend = CRYPTOGRAPHY
-
-except ImportError:
-    try:
-        import Cryptodome
-
-        backend = CRYPTODOME
-
-    except ImportError:
-        backend = None
+backend = CRYPTOGRAPHY
 
 
 class PysnmpCryptoError(Exception):
@@ -36,8 +25,8 @@
 def _cryptodome_encrypt(cipher_factory, plaintext, key, iv):
     """Use a Pycryptodome cipher factory to encrypt data.
 
-    :param cipher_factory: Factory callable that builds a Pycryptodome Cipher 
instance based
-    on the key and IV
+    :param cipher_factory: Factory callable that builds a Pycryptodome Cipher
+        instance based on the key and IV
     :type cipher_factory: callable
     :param bytes plaintext: Plaintext data to encrypt
     :param bytes key: Encryption key
@@ -52,8 +41,8 @@
 def _cryptodome_decrypt(cipher_factory, ciphertext, key, iv):
     """Use a Pycryptodome cipher factory to decrypt data.
 
-    :param cipher_factory: Factory callable that builds a Pycryptodome Cipher 
instance based
-    on the key and IV
+    :param cipher_factory: Factory callable that builds a Pycryptodome Cipher
+        instance based on the key and IV
     :type cipher_factory: callable
     :param bytes ciphertext: Ciphertext data to decrypt
     :param bytes key: Encryption key
@@ -68,8 +57,8 @@
 def _cryptography_encrypt(cipher_factory, plaintext, key, iv):
     """Use a cryptography cipher factory to encrypt data.
 
-    :param cipher_factory: Factory callable that builds a cryptography Cipher 
instance based
-    on the key and IV
+    :param cipher_factory: Factory callable that builds a cryptography Cipher
+        instance based on the key and IV
     :type cipher_factory: callable
     :param bytes plaintext: Plaintext data to encrypt
     :param bytes key: Encryption key
@@ -84,8 +73,8 @@
 def _cryptography_decrypt(cipher_factory, ciphertext, key, iv):
     """Use a cryptography cipher factory to decrypt data.
 
-    :param cipher_factory: Factory callable that builds a cryptography Cipher 
instance based
-    on the key and IV
+    :param cipher_factory: Factory callable that builds a cryptography Cipher
+        instance based on the key and IV
     :type cipher_factory: callable
     :param bytes ciphertext: Ciphertext data to decrypt
     :param bytes key: Encryption key
@@ -99,19 +88,17 @@
 
 _DECRYPT_MAP = {
     CRYPTOGRAPHY: _cryptography_decrypt,
-    CRYPTODOME: _cryptodome_decrypt
 }
 _ENCRYPT_MAP = {
     CRYPTOGRAPHY: _cryptography_encrypt,
-    CRYPTODOME: _cryptodome_encrypt
 }
 
 
 def generic_encrypt(cipher_factory_map, plaintext, key, iv):
     """Encrypt data using the available backend.
 
-    :param dict cipher_factory_map: Dictionary that maps the backend name to a 
cipher factory
-    callable for that backend
+    :param dict cipher_factory_map: Dictionary that maps the backend name to
+        a cipher factory callable for that backend
     :param bytes plaintext: Plaintext data to encrypt
     :param bytes key: Encryption key
     :param bytes IV: Initialization vector
@@ -121,14 +108,15 @@
     if backend is None:
         raise PysnmpCryptoError('Crypto backend not available')
 
-    return _ENCRYPT_MAP[backend](cipher_factory_map[backend], plaintext, key, 
iv)
+    return _ENCRYPT_MAP[backend](cipher_factory_map[backend],
+                                 plaintext, key, iv)
 
 
 def generic_decrypt(cipher_factory_map, ciphertext, key, iv):
     """Decrypt data using the available backend.
 
-    :param dict cipher_factory_map: Dictionary that maps the backend name to a 
cipher factory
-    callable for that backend
+    :param dict cipher_factory_map: Dictionary that maps the backend name
+        to a cipher factory callable for that backend
     :param bytes ciphertext: Ciphertext data to decrypt
     :param bytes key: Encryption key
     :param bytes IV: Initialization vector
@@ -138,4 +126,5 @@
     if backend is None:
         raise PysnmpCryptoError('Crypto backend not available')
 
-    return _DECRYPT_MAP[backend](cipher_factory_map[backend], ciphertext, key, 
iv)
+    return _DECRYPT_MAP[backend](cipher_factory_map[backend],
+                                 ciphertext, key, iv)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pysnmpcrypto-0.0.4/pysnmpcrypto/aes.py 
new/pysnmpcrypto-0.1.0/pysnmpcrypto/aes.py
--- old/pysnmpcrypto-0.0.4/pysnmpcrypto/aes.py  2018-02-19 00:45:55.000000000 
+0100
+++ new/pysnmpcrypto-0.1.0/pysnmpcrypto/aes.py  2024-09-09 17:42:40.000000000 
+0200
@@ -3,32 +3,18 @@
 
 https://tools.ietf.org/html/rfc3826
 """
-from pysnmpcrypto import (backend, CRYPTODOME, CRYPTOGRAPHY,
-                          generic_decrypt, generic_encrypt)
+from pysnmpcrypto import (
+    backend, CRYPTOGRAPHY, generic_decrypt, generic_encrypt)
 
-if backend == CRYPTOGRAPHY:
-    from cryptography.hazmat.backends import default_backend
-    from cryptography.hazmat.primitives.ciphers import algorithms, Cipher, 
modes
-
-elif backend == CRYPTODOME:
-    from Cryptodome.Cipher import AES
-
-
-def _cryptodome_cipher(key, iv):
-    """Build a Pycryptodome AES Cipher object.
-
-    :param bytes key: Encryption key
-    :param bytes IV: Initialization vector
-    :returns: AES Cipher instance
-    """
-    return AES.new(key, AES.MODE_CFB, iv, segment_size=128)
+from cryptography.hazmat.backends import default_backend
+from cryptography.hazmat.primitives.ciphers import algorithms, Cipher, modes
 
 
 def _cryptography_cipher(key, iv):
     """Build a cryptography AES Cipher object.
 
     :param bytes key: Encryption key
-    :param bytes IV: Initialization vector
+    :param bytes iv: Initialization vector
     :returns: AES Cipher instance
     :rtype: cryptography.hazmat.primitives.ciphers.Cipher
     """
@@ -41,7 +27,6 @@
 
 _CIPHER_FACTORY_MAP = {
     CRYPTOGRAPHY: _cryptography_cipher,
-    CRYPTODOME: _cryptodome_cipher
 }
 
 
@@ -50,7 +35,7 @@
 
     :param bytes plaintext: Plaintext data to encrypt
     :param bytes key: Encryption key
-    :param bytes IV: Initialization vector
+    :param bytes iv: Initialization vector
     :returns: Encrypted ciphertext
     :rtype: bytes
     """
@@ -62,7 +47,7 @@
 
     :param bytes ciphertext: Ciphertext data to decrypt
     :param bytes key: Encryption key
-    :param bytes IV: Initialization vector
+    :param bytes iv: Initialization vector
     :returns: Decrypted plaintext
     :rtype: bytes
     """
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pysnmpcrypto-0.0.4/pysnmpcrypto/des.py 
new/pysnmpcrypto-0.1.0/pysnmpcrypto/des.py
--- old/pysnmpcrypto-0.0.4/pysnmpcrypto/des.py  2018-02-19 00:45:55.000000000 
+0100
+++ new/pysnmpcrypto-0.1.0/pysnmpcrypto/des.py  2024-09-09 17:42:40.000000000 
+0200
@@ -3,25 +3,17 @@
 
 https://tools.ietf.org/html/rfc3414
 """
-from pysnmpcrypto import (backend, CRYPTODOME, CRYPTOGRAPHY,
-                          generic_decrypt, generic_encrypt)
 
-if backend == CRYPTOGRAPHY:
-    from cryptography.hazmat.backends import default_backend
-    from cryptography.hazmat.primitives.ciphers import algorithms, Cipher, 
modes
-
-elif backend == CRYPTODOME:
-    from Cryptodome.Cipher import DES
-
-
-def _cryptodome_cipher(key, iv):
-    """Build a Pycryptodome DES Cipher object.
-
-    :param bytes key: Encryption key
-    :param bytes IV: Initialization vector
-    :returns: DES Cipher instance
-    """
-    return DES.new(key, DES.MODE_CBC, iv)
+from pysnmpcrypto import (
+    CRYPTOGRAPHY,
+    backend,
+    generic_decrypt,
+    generic_encrypt,
+)
+
+from cryptography.hazmat.backends import default_backend
+from cryptography.hazmat.decrepit.ciphers import algorithms
+from cryptography.hazmat.primitives.ciphers import Cipher, modes
 
 
 def _cryptography_cipher(key, iv):
@@ -29,26 +21,28 @@
 
     .. note::
 
-        pyca/cryptography does not support DES directly because it is a 
seriously old, insecure,
-        and deprecated algorithm. However, triple DES is just three rounds of 
DES (encrypt,
-        decrypt, encrypt) done by taking a key three times the size of a DES 
key and breaking
-        it into three pieces. So triple DES with des_key * 3 is equivalent to 
DES.
+        pyca/cryptography does not support DES directly because it is a
+        seriously old, insecure, and deprecated algorithm. However,
+        triple DES is just three rounds of DES (encrypt, decrypt, encrypt)
+        done by taking a key three times the size of a DES key and breaking
+        it into three pieces. So triple DES with des_key * 3 is equivalent
+        to DES.
 
     :param bytes key: Encryption key
-    :param bytes IV: Initialization vector
-    :returns: TripleDES Cipher instance providing DES behavior by using 
provided DES key
+    :param bytes iv: Initialization vector
+    :returns: TripleDES Cipher instance providing DES behavior by using
+        provided DES key
     :rtype: cryptography.hazmat.primitives.ciphers.Cipher
     """
     return Cipher(
         algorithm=algorithms.TripleDES(key * 3),
         mode=modes.CBC(iv),
-        backend=default_backend()
+        backend=default_backend(),
     )
 
 
 _CIPHER_FACTORY_MAP = {
     CRYPTOGRAPHY: _cryptography_cipher,
-    CRYPTODOME: _cryptodome_cipher
 }
 
 
@@ -57,7 +51,7 @@
 
     :param bytes plaintext: Plaintext data to encrypt
     :param bytes key: Encryption key
-    :param bytes IV: Initialization vector
+    :param bytes iv: Initialization vector
     :returns: Encrypted ciphertext
     :rtype: bytes
     """
@@ -69,7 +63,7 @@
 
     :param bytes ciphertext: Ciphertext data to decrypt
     :param bytes key: Encryption key
-    :param bytes IV: Initialization vector
+    :param bytes iv: Initialization vector
     :returns: Decrypted plaintext
     :rtype: bytes
     """
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pysnmpcrypto-0.0.4/pysnmpcrypto/des3.py 
new/pysnmpcrypto-0.1.0/pysnmpcrypto/des3.py
--- old/pysnmpcrypto-0.0.4/pysnmpcrypto/des3.py 2018-02-19 00:45:55.000000000 
+0100
+++ new/pysnmpcrypto-0.1.0/pysnmpcrypto/des3.py 2024-09-09 17:42:40.000000000 
+0200
@@ -3,45 +3,38 @@
 
 https://tools.ietf.org/html/draft-reeder-snmpv3-usm-3desede-00
 """
-from pysnmpcrypto import (backend, CRYPTODOME, CRYPTOGRAPHY,
-                          generic_decrypt, generic_encrypt)
 
-if backend == CRYPTOGRAPHY:
-    from cryptography.hazmat.backends import default_backend
-    from cryptography.hazmat.primitives.ciphers import algorithms, Cipher, 
modes
+from pysnmpcrypto import (
+    CRYPTOGRAPHY,
+    backend,
+    generic_decrypt,
+    generic_encrypt,
+)
 
-elif backend == CRYPTODOME:
-    from Cryptodome.Cipher import DES3
 
+from cryptography.hazmat.backends import default_backend
+from cryptography.hazmat.decrepit.ciphers import algorithms
+from cryptography.hazmat.primitives.ciphers import Cipher, modes
 
-def _cryptodome_cipher(key, iv):
-    """Build a Pycryptodome DES3 Cipher object.
-
-    :param bytes key: Encryption key
-    :param bytes IV: Initialization vector
-    :returns: DES3 Cipher instance
-    """
-    return DES3.new(key, DES3.MODE_CBC, iv)
 
 
 def _cryptography_cipher(key, iv):
     """Build a cryptography TripleDES Cipher object.
 
     :param bytes key: Encryption key
-    :param bytes IV: Initialization vector
+    :param bytesiv iv: Initialization vector
     :returns: TripleDES Cipher instance
     :rtype: cryptography.hazmat.primitives.ciphers.Cipher
     """
     return Cipher(
         algorithm=algorithms.TripleDES(key),
         mode=modes.CBC(iv),
-        backend=default_backend()
+        backend=default_backend(),
     )
 
 
 _CIPHER_FACTORY_MAP = {
     CRYPTOGRAPHY: _cryptography_cipher,
-    CRYPTODOME: _cryptodome_cipher
 }
 
 
@@ -50,7 +43,7 @@
 
     :param bytes plaintext: Plaintext data to encrypt
     :param bytes key: Encryption key
-    :param bytes IV: Initialization vector
+    :param bytes iv: Initialization vector
     :returns: Encrypted ciphertext
     :rtype: bytes
     """
@@ -62,7 +55,7 @@
 
     :param bytes ciphertext: Ciphertext data to decrypt
     :param bytes key: Encryption key
-    :param bytes IV: Initialization vector
+    :param bytes iv: Initialization vector
     :returns: Decrypted plaintext
     :rtype: bytes
     """
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pysnmpcrypto-0.0.4/pysnmpcrypto.egg-info/PKG-INFO 
new/pysnmpcrypto-0.1.0/pysnmpcrypto.egg-info/PKG-INFO
--- old/pysnmpcrypto-0.0.4/pysnmpcrypto.egg-info/PKG-INFO       2018-12-30 
00:06:13.000000000 +0100
+++ new/pysnmpcrypto-0.1.0/pysnmpcrypto.egg-info/PKG-INFO       1970-01-01 
01:00:00.000000000 +0100
@@ -1,46 +0,0 @@
-Metadata-Version: 1.2
-Name: pysnmpcrypto
-Version: 0.0.4
-Summary: Strong cryptography support for PySNMP (SNMP library for Python)
-Home-page: https://github.com/etingof/pysnmpcrypto
-Author: Ilya Etingof
-Author-email: [email protected]
-Maintainer: Ilya Etingof <[email protected]>
-License: BSD
-Description: 
-        The pysnmpcrypto package is an optional extension to SNMP library
-        for Python -- pysnmp 5.0+. The pysnmpcrypto library provides
-        stronger authentication and encryption features to the SNMP
-        library by way of invoking stronger crypto algorithms.
-        
-        The pysnmpcrypto library runs on Python 2.4 through 3.7 and has a
-        dependency on either PyCryptodomex (for Python versions 2.4-2.6
-        and 3.2-3.3) or Cryptography (for Python versions 2.7 and 3.4+).
-        
-Platform: any
-Classifier: Development Status :: 5 - Production/Stable
-Classifier: Environment :: Console
-Classifier: Intended Audience :: Developers
-Classifier: Intended Audience :: Education
-Classifier: Intended Audience :: Information Technology
-Classifier: Intended Audience :: System Administrators
-Classifier: Intended Audience :: Telecommunications Industry
-Classifier: License :: OSI Approved :: BSD License
-Classifier: Natural Language :: English
-Classifier: Operating System :: OS Independent
-Classifier: Programming Language :: Python :: 2
-Classifier: Programming Language :: Python :: 2.4
-Classifier: Programming Language :: Python :: 2.5
-Classifier: Programming Language :: Python :: 2.6
-Classifier: Programming Language :: Python :: 2.7
-Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.2
-Classifier: Programming Language :: Python :: 3.3
-Classifier: Programming Language :: Python :: 3.4
-Classifier: Programming Language :: Python :: 3.5
-Classifier: Programming Language :: Python :: 3.6
-Classifier: Programming Language :: Python :: 3.7
-Classifier: Topic :: Communications
-Classifier: Topic :: System :: Monitoring
-Classifier: Topic :: System :: Networking :: Monitoring
-Classifier: Topic :: Software Development :: Libraries :: Python Modules
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pysnmpcrypto-0.0.4/pysnmpcrypto.egg-info/SOURCES.txt 
new/pysnmpcrypto-0.1.0/pysnmpcrypto.egg-info/SOURCES.txt
--- old/pysnmpcrypto-0.0.4/pysnmpcrypto.egg-info/SOURCES.txt    2018-12-30 
00:06:13.000000000 +0100
+++ new/pysnmpcrypto-0.1.0/pysnmpcrypto.egg-info/SOURCES.txt    1970-01-01 
01:00:00.000000000 +0100
@@ -1,23 +0,0 @@
-AUTHORS.txt
-CHANGES.txt
-LICENSE.rst
-MANIFEST.in
-README.md
-requirements.txt
-setup.cfg
-setup.py
-pysnmpcrypto/__init__.py
-pysnmpcrypto/aes.py
-pysnmpcrypto/des.py
-pysnmpcrypto/des3.py
-pysnmpcrypto.egg-info/PKG-INFO
-pysnmpcrypto.egg-info/SOURCES.txt
-pysnmpcrypto.egg-info/dependency_links.txt
-pysnmpcrypto.egg-info/requires.txt
-pysnmpcrypto.egg-info/top_level.txt
-pysnmpcrypto.egg-info/zip-safe
-tests/__init__.py
-tests/__main__.py
-tests/test_aes.py
-tests/test_des.py
-tests/test_des3.py
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pysnmpcrypto-0.0.4/pysnmpcrypto.egg-info/dependency_links.txt 
new/pysnmpcrypto-0.1.0/pysnmpcrypto.egg-info/dependency_links.txt
--- old/pysnmpcrypto-0.0.4/pysnmpcrypto.egg-info/dependency_links.txt   
2018-12-30 00:06:13.000000000 +0100
+++ new/pysnmpcrypto-0.1.0/pysnmpcrypto.egg-info/dependency_links.txt   
1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pysnmpcrypto-0.0.4/pysnmpcrypto.egg-info/requires.txt 
new/pysnmpcrypto-0.1.0/pysnmpcrypto.egg-info/requires.txt
--- old/pysnmpcrypto-0.0.4/pysnmpcrypto.egg-info/requires.txt   2018-12-30 
00:06:13.000000000 +0100
+++ new/pysnmpcrypto-0.1.0/pysnmpcrypto.egg-info/requires.txt   1970-01-01 
01:00:00.000000000 +0100
@@ -1,21 +0,0 @@
-
-[:python_version < "2.7"]
-pycryptodomex
-
-[:python_version == "2.7"]
-cryptography
-
-[:python_version == "3.0"]
-pycryptodomex
-
-[:python_version == "3.1"]
-pycryptodomex
-
-[:python_version == "3.2"]
-pycryptodomex
-
-[:python_version == "3.3"]
-pycryptodomex
-
-[:python_version >= "3.4"]
-cryptography
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pysnmpcrypto-0.0.4/pysnmpcrypto.egg-info/top_level.txt 
new/pysnmpcrypto-0.1.0/pysnmpcrypto.egg-info/top_level.txt
--- old/pysnmpcrypto-0.0.4/pysnmpcrypto.egg-info/top_level.txt  2018-12-30 
00:06:13.000000000 +0100
+++ new/pysnmpcrypto-0.1.0/pysnmpcrypto.egg-info/top_level.txt  1970-01-01 
01:00:00.000000000 +0100
@@ -1 +0,0 @@
-pysnmpcrypto
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pysnmpcrypto-0.0.4/pysnmpcrypto.egg-info/zip-safe 
new/pysnmpcrypto-0.1.0/pysnmpcrypto.egg-info/zip-safe
--- old/pysnmpcrypto-0.0.4/pysnmpcrypto.egg-info/zip-safe       2018-02-19 
00:46:05.000000000 +0100
+++ new/pysnmpcrypto-0.1.0/pysnmpcrypto.egg-info/zip-safe       1970-01-01 
01:00:00.000000000 +0100
@@ -1 +0,0 @@
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pysnmpcrypto-0.0.4/requirements.txt 
new/pysnmpcrypto-0.1.0/requirements.txt
--- old/pysnmpcrypto-0.0.4/requirements.txt     2018-08-06 16:37:02.000000000 
+0200
+++ new/pysnmpcrypto-0.1.0/requirements.txt     1970-01-01 01:00:00.000000000 
+0100
@@ -1,7 +0,0 @@
-pycryptodomex; python_version < '2.7'
-cryptography; python_version == '2.7'
-pycryptodomex; python_version == '3.0'
-pycryptodomex; python_version == '3.1'
-pycryptodomex; python_version == '3.2'
-pycryptodomex; python_version == '3.3'
-cryptography; python_version >= '3.4'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pysnmpcrypto-0.0.4/setup.cfg 
new/pysnmpcrypto-0.1.0/setup.cfg
--- old/pysnmpcrypto-0.0.4/setup.cfg    2018-12-30 00:06:13.000000000 +0100
+++ new/pysnmpcrypto-0.1.0/setup.cfg    1970-01-01 01:00:00.000000000 +0100
@@ -1,10 +0,0 @@
-[bdist_wheel]
-universal = 1
-
-[metadata]
-license_file = LICENSE.rst
-
-[egg_info]
-tag_build = 
-tag_date = 0
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pysnmpcrypto-0.0.4/setup.py 
new/pysnmpcrypto-0.1.0/setup.py
--- old/pysnmpcrypto-0.0.4/setup.py     2018-09-08 20:12:42.000000000 +0200
+++ new/pysnmpcrypto-0.1.0/setup.py     1970-01-01 01:00:00.000000000 +0100
@@ -1,179 +0,0 @@
-#!/usr/bin/env python
-"""Strong cryptography support for PySNMP (SNMP library for Python)
-
-The pysnmpcrypto package is an optional extension to SNMP library
-for Python -- pysnmp 5.0+. The pysnmpcrypto library provides
-stronger authentication and encryption features to the SNMP
-library by way of invoking stronger crypto algorithms.
-
-The pysnmpcrypto library runs on Python 2.4 through 3.7 and has a
-dependency on either PyCryptodomex (for Python versions 2.4-2.6
-and 3.2-3.3) or Cryptography (for Python versions 2.7 and 3.4+).
-"""
-
-import sys
-import os
-import re
-
-# handle unittest discovery feature
-try:
-    import unittest2 as unittest
-
-except ImportError:
-    import unittest
-
-classifiers = """\
-Development Status :: 5 - Production/Stable
-Environment :: Console
-Intended Audience :: Developers
-Intended Audience :: Education
-Intended Audience :: Information Technology
-Intended Audience :: System Administrators
-Intended Audience :: Telecommunications Industry
-License :: OSI Approved :: BSD License
-Natural Language :: English
-Operating System :: OS Independent
-Programming Language :: Python :: 2
-Programming Language :: Python :: 2.4
-Programming Language :: Python :: 2.5
-Programming Language :: Python :: 2.6
-Programming Language :: Python :: 2.7
-Programming Language :: Python :: 3
-Programming Language :: Python :: 3.2
-Programming Language :: Python :: 3.3
-Programming Language :: Python :: 3.4
-Programming Language :: Python :: 3.5
-Programming Language :: Python :: 3.6
-Programming Language :: Python :: 3.7
-Topic :: Communications
-Topic :: System :: Monitoring
-Topic :: System :: Networking :: Monitoring
-Topic :: Software Development :: Libraries :: Python Modules
-"""
-
-
-def howto_install_setuptools():
-    print("""
-   Error: You need setuptools Python package!
-
-   It's very easy to install it, just type:
-
-   wget https://bootstrap.pypa.io/ez_setup.py
-   python ez_setup.py
-
-   Then you could make eggs from this package.
-""")
-
-
-py_version = sys.version_info[:2]
-if py_version < (2, 4):
-    print("ERROR: this package requires Python 2.4 or later!")
-    sys.exit(1)
-
-requires = [ln.strip() for ln in open('requirements.txt').readlines()]
-
-resolved_requires = []
-
-# NOTE(etingof): older setuptools fail at parsing python_version
-for requirement in requires:
-    match = re.match(
-        r'(.*?)\s*;\s*python_version\s*([<>=!~]+)\s*\'(.*?)\'', requirement)
-
-    if not match:
-        resolved_requires.append(requirement)
-        continue
-
-    package, condition, expected_py = match.groups()
-
-    expected_py = tuple([int(x) for x in expected_py.split('.')])
-
-    if py_version == expected_py and condition in ('<=', '==', '>='):
-        resolved_requires.append(package)
-
-    elif py_version < expected_py and condition in ('<=', '<'):
-        resolved_requires.append(package)
-
-    elif py_version > expected_py and condition in ('>=', '>'):
-        resolved_requires.append(package)
-
-try:
-    import setuptools
-
-    setup, Command = setuptools.setup, setuptools.Command
-
-    observed_version = [int(x) for x in setuptools.__version__.split('.')]
-    required_version = [36, 2, 0]
-
-    # NOTE(etingof): require fresh setuptools to build proper wheels
-    # See also: https://hynek.me/articles/conditional-python-dependencies/
-    if ('bdist_wheel' in sys.argv and
-            observed_version < required_version):
-        print("ERROR: your wheels won't come out round with setuptools %s! "
-              "Upgrade to %s and try again." % (
-                '.'.join([str(x) for x in observed_version]),
-                '.'.join([str(x) for x in required_version])))
-        sys.exit(1)
-
-    if observed_version < required_version:
-        requires = resolved_requires
-
-    params = {
-        'install_requires': requires,
-        'zip_safe': True
-    }
-
-except ImportError:
-    if 'bdist_wheel' in sys.argv or 'bdist_egg' in sys.argv:
-        howto_install_setuptools()
-        sys.exit(1)
-
-    from distutils.core import setup, Command
-
-    params = {}
-
-    if py_version > (2, 4):
-        params['requires'] = [
-            re.sub(r'(.*?)([<>=!~]+)(.*)', r'\g<1>\g<2>(\g<3>)', r)
-            for r in resolved_requires
-        ]
-
-doclines = [x.strip() for x in (__doc__ or '').split('\n')]
-
-params.update({
-    'name': 'pysnmpcrypto',
-    'version': open(os.path.join('pysnmpcrypto', 
'__init__.py')).read().split('\'')[1],
-    'description': doclines[0],
-    'long_description': '\n'.join(doclines[1:]),
-    'maintainer': 'Ilya Etingof <[email protected]>',
-    'author': 'Ilya Etingof',
-    'author_email': '[email protected]',
-    'url': 'https://github.com/etingof/pysnmpcrypto',
-    'classifiers': [x for x in classifiers.split('\n') if x],
-    'platforms': ['any'],
-    'license': 'BSD',
-    'packages': ['pysnmpcrypto']
-})
-
-
-class pytest(Command):
-    user_options = []
-
-    def initialize_options(self):
-        pass
-
-    def finalize_options(self):
-        pass
-
-    def run(self):
-        suite = unittest.TestLoader().loadTestsFromNames(
-            ['tests.__main__.suite']
-        )
-
-        unittest.TextTestRunner(verbosity=2).run(suite)
-
-params['cmdclass'] = {
-    'test': pytest,
-    'tests': pytest,
-}
-
-setup(**params)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pysnmpcrypto-0.0.4/tests/__init__.py 
new/pysnmpcrypto-0.1.0/tests/__init__.py
--- old/pysnmpcrypto-0.0.4/tests/__init__.py    2018-07-07 00:03:11.000000000 
+0200
+++ new/pysnmpcrypto-0.1.0/tests/__init__.py    2024-09-09 17:42:40.000000000 
+0200
@@ -1 +1,3 @@
-# This file is necessary to make this directory a package.
+from tests import test_aes
+from tests import test_des
+from tests import test_des3
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pysnmpcrypto-0.0.4/tests/__main__.py 
new/pysnmpcrypto-0.1.0/tests/__main__.py
--- old/pysnmpcrypto-0.0.4/tests/__main__.py    2018-12-30 00:05:51.000000000 
+0100
+++ new/pysnmpcrypto-0.1.0/tests/__main__.py    2024-09-09 17:42:40.000000000 
+0200
@@ -4,11 +4,7 @@
 # Copyright (c) 2018-2019, Ilya Etingof <[email protected]>
 # License: http://snmplabs.com/pysnmp/license.html
 #
-try:
-    import unittest2 as unittest
-
-except ImportError:
-    import unittest
+import unittest
 
 suite = unittest.TestLoader().loadTestsFromNames(
     ['tests.test_aes.suite',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pysnmpcrypto-0.0.4/tests/test_aes.py 
new/pysnmpcrypto-0.1.0/tests/test_aes.py
--- old/pysnmpcrypto-0.0.4/tests/test_aes.py    2018-12-30 00:05:51.000000000 
+0100
+++ new/pysnmpcrypto-0.1.0/tests/test_aes.py    2024-09-09 17:42:40.000000000 
+0200
@@ -5,28 +5,17 @@
 # License: http://snmplabs.com/pysnmp/license.html
 #
 import sys
-
-try:
-    import unittest2 as unittest
-
-except ImportError:
-    import unittest
+import unittest
 
 from pysnmpcrypto import aes
 
 
 class AesCaseBase(unittest.TestCase):
     def setUp(self):
-        if sys.version_info < (2, 6):
-            self.plaintext = 'quick brown fox'
-            self.ciphertext = '\x19g*A\xad\x84\xb8c\xe4\xfa\x95J\xd1\xbe\xc1'
-            self.key = 'testkey123456789'
-            self.iv = '0123456789012345'
-        else:
-            self.plaintext = b'quick brown fox'
-            self.ciphertext = b'\x19g*A\xad\x84\xb8c\xe4\xfa\x95J\xd1\xbe\xc1'
-            self.key = b'testkey123456789'
-            self.iv = b'0123456789012345'
+        self.plaintext = b'quick brown fox'
+        self.ciphertext = b'\x19g*A\xad\x84\xb8c\xe4\xfa\x95J\xd1\xbe\xc1'
+        self.key = b'testkey123456789'
+        self.iv = b'0123456789012345'
 
     def testEncrypt(self):
         ciphertext = aes.encrypt(self.plaintext, self.key, self.iv)
@@ -36,8 +25,8 @@
         plaintext = aes.decrypt(self.ciphertext, self.key, self.iv)
         self.assertEqual(plaintext, self.plaintext)
 
-suite = unittest.TestLoader().loadTestsFromModule(sys.modules[__name__])
 
+suite = unittest.TestLoader().loadTestsFromModule(sys.modules[__name__])
 
 if __name__ == '__main__':
     unittest.TextTestRunner(verbosity=2).run(suite)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pysnmpcrypto-0.0.4/tests/test_des.py 
new/pysnmpcrypto-0.1.0/tests/test_des.py
--- old/pysnmpcrypto-0.0.4/tests/test_des.py    2018-12-30 00:05:51.000000000 
+0100
+++ new/pysnmpcrypto-0.1.0/tests/test_des.py    2024-09-09 17:42:40.000000000 
+0200
@@ -5,30 +5,18 @@
 # License: http://snmplabs.com/pysnmp/license.html
 #
 import sys
-
-try:
-    import unittest2 as unittest
-
-except ImportError:
-    import unittest
+import unittest
 
 from pysnmpcrypto import des
 
 
 class DesCaseBase(unittest.TestCase):
     def setUp(self):
-        if sys.version_info < (2, 6):
-            self.plaintext = 'quick brown fox'
-            self.plaintext += '!' * (8 - len(self.plaintext) % 8)
-            self.ciphertext = '^\xccf4G\xe4\xdck\x7f\x93\x15\xf6#\x0b\x81\xb7'
-            self.key = 'testkey1'
-            self.iv = '01234567'
-        else:
-            self.plaintext = b'quick brown fox'
-            self.plaintext += b'!' * (8 - len(self.plaintext) % 8)
-            self.ciphertext = b'^\xccf4G\xe4\xdck\x7f\x93\x15\xf6#\x0b\x81\xb7'
-            self.key = b'testkey1'
-            self.iv = b'01234567'
+        self.plaintext = b'quick brown fox'
+        self.plaintext += b'!' * (8 - len(self.plaintext) % 8)
+        self.ciphertext = b'^\xccf4G\xe4\xdck\x7f\x93\x15\xf6#\x0b\x81\xb7'
+        self.key = b'testkey1'
+        self.iv = b'01234567'
 
     def testEncrypt(self):
         ciphertext = des.encrypt(self.plaintext, self.key, self.iv)
@@ -38,8 +26,8 @@
         plaintext = des.decrypt(self.ciphertext, self.key, self.iv)
         self.assertEqual(plaintext, self.plaintext)
 
-suite = unittest.TestLoader().loadTestsFromModule(sys.modules[__name__])
 
+suite = unittest.TestLoader().loadTestsFromModule(sys.modules[__name__])
 
 if __name__ == '__main__':
     unittest.TextTestRunner(verbosity=2).run(suite)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pysnmpcrypto-0.0.4/tests/test_des3.py 
new/pysnmpcrypto-0.1.0/tests/test_des3.py
--- old/pysnmpcrypto-0.0.4/tests/test_des3.py   2018-12-30 00:05:51.000000000 
+0100
+++ new/pysnmpcrypto-0.1.0/tests/test_des3.py   2024-09-09 17:42:40.000000000 
+0200
@@ -5,30 +5,18 @@
 # License: http://snmplabs.com/pysnmp/license.html
 #
 import sys
-
-try:
-    import unittest2 as unittest
-
-except ImportError:
-    import unittest
+import unittest
 
 from pysnmpcrypto import des3
 
 
 class Des3CaseBase(unittest.TestCase):
     def setUp(self):
-        if sys.version_info < (2, 6):
-            self.plaintext = 'quick brown fox'
-            self.plaintext += '!' * (16 - len(self.plaintext) % 16)
-            self.ciphertext = 'XO9\xe8H\x11Try\x1b\xfe)\x07{\x8bu'
-            self.key = 'testkey123456789'
-            self.iv = '01234567'
-        else:
-            self.plaintext = b'quick brown fox'
-            self.plaintext += b'!' * (16 - len(self.plaintext) % 16)
-            self.ciphertext = b'XO9\xe8H\x11Try\x1b\xfe)\x07{\x8bu'
-            self.key = b'testkey123456789'
-            self.iv = b'01234567'
+        self.plaintext = b'quick brown fox'
+        self.plaintext += b'!' * (16 - len(self.plaintext) % 16)
+        self.ciphertext = b'XO9\xe8H\x11Try\x1b\xfe)\x07{\x8bu'
+        self.key = b'testkey123456789'
+        self.iv = b'01234567'
 
     def testEncrypt(self):
         ciphertext = des3.encrypt(self.plaintext, self.key, self.iv)
@@ -38,8 +26,8 @@
         plaintext = des3.decrypt(self.ciphertext, self.key, self.iv)
         self.assertEqual(plaintext, self.plaintext)
 
-suite = unittest.TestLoader().loadTestsFromModule(sys.modules[__name__])
 
+suite = unittest.TestLoader().loadTestsFromModule(sys.modules[__name__])
 
 if __name__ == '__main__':
     unittest.TextTestRunner(verbosity=2).run(suite)

Reply via email to