From 796c5b1ad508dd75e98b480b1c6750b4d84a0149 Mon Sep 17 00:00:00 2001 From: Scott K Logan Date: Fri, 17 Jan 2025 13:49:13 -0600 Subject: [PATCH] Raise minimum required Python version to 3.6 --- doc/developers_guide.rst | 4 ---- setup.py | 2 +- src/rospkg/manifest.py | 4 +--- src/rospkg/os_detect.py | 3 --- src/rospkg/rosversion.py | 2 -- stdeb.cfg | 4 ++-- test/test_rospkg_catkin_packages.py | 2 -- test/test_rospkg_common.py | 2 -- test/test_rospkg_manifest.py | 2 -- test/test_rospkg_os_detect.py | 8 +------- test/test_rospkg_packages.py | 2 -- test/test_rospkg_stacks.py | 3 --- 12 files changed, 5 insertions(+), 33 deletions(-) diff --git a/doc/developers_guide.rst b/doc/developers_guide.rst index f5a75203..2650ac4e 100644 --- a/doc/developers_guide.rst +++ b/doc/developers_guide.rst @@ -46,7 +46,6 @@ Setup :: pip install pytest - pip install mock rospkg uses `pytest `_ @@ -54,9 +53,6 @@ for testing, which is a fairly simple and straightfoward test framework. You just have to write a function start with the name ``test`` and use normal ``assert`` statements for your tests. -rospkg also uses `mock `_ to -create mocks for testing. - You can run the tests, including coverage, as follows: :: diff --git a/setup.py b/setup.py index a097b10d..7e38e2d5 100755 --- a/setup.py +++ b/setup.py @@ -26,7 +26,6 @@ 'install_requires': install_requires, 'extras_require': { 'test': [ - "mock; python_version < '3.3'", 'pytest', ]}, 'author': 'Ken Conley', @@ -43,6 +42,7 @@ 'classifiers': [ 'Programming Language :: Python', 'License :: OSI Approved :: BSD License'], + 'python_requires': '>=3.6', 'description': 'ROS package library', 'long_description': """\ Library for retrieving information about ROS packages and stacks. diff --git a/src/rospkg/manifest.py b/src/rospkg/manifest.py index 20cecfe5..87544975 100644 --- a/src/rospkg/manifest.py +++ b/src/rospkg/manifest.py @@ -433,9 +433,7 @@ def parse_manifest_file(dirpath, manifest_name, rospack=None): return manifest with open(filename, 'rb') as f: - data = f.read() - if sys.version_info[0] >= 3: - data = data.decode('utf-8') + data = f.read().decode('utf-8') return parse_manifest(manifest_name, data, filename) diff --git a/src/rospkg/os_detect.py b/src/rospkg/os_detect.py index 679ae297..08faf5ad 100644 --- a/src/rospkg/os_detect.py +++ b/src/rospkg/os_detect.py @@ -32,9 +32,6 @@ Linux distributions. """ -from __future__ import absolute_import -from __future__ import print_function - import codecs # to be removed after Ubuntu Xenial is out of support import sys diff --git a/src/rospkg/rosversion.py b/src/rospkg/rosversion.py index 4c41d735..29ae48fe 100644 --- a/src/rospkg/rosversion.py +++ b/src/rospkg/rosversion.py @@ -25,8 +25,6 @@ # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. -from __future__ import print_function - import argparse import os import sys diff --git a/stdeb.cfg b/stdeb.cfg index ed3cb077..85638994 100644 --- a/stdeb.cfg +++ b/stdeb.cfg @@ -13,7 +13,7 @@ Conflicts3: python-rospkg Suite: bionic buster Suite3: focal jammy noble bookworm trixie Python2-Depends-Name: python -X-Python3-Version: >= 3.4 +X-Python3-Version: >= 3.6 Setup-Env-Vars: SKIP_PYTHON_MODULES=1 [rospkg_modules] @@ -26,5 +26,5 @@ Replaces3: python3-rospkg (<< 1.1.0) Suite: bionic buster Suite3: focal jammy noble bookworm trixie Python2-Depends-Name: python -X-Python3-Version: >= 3.4 +X-Python3-Version: >= 3.6 Setup-Env-Vars: SKIP_PYTHON_SCRIPTS=1 diff --git a/test/test_rospkg_catkin_packages.py b/test/test_rospkg_catkin_packages.py index 87ac2799..07db8a66 100644 --- a/test/test_rospkg_catkin_packages.py +++ b/test/test_rospkg_catkin_packages.py @@ -30,8 +30,6 @@ # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. -from __future__ import print_function - import os import rospkg diff --git a/test/test_rospkg_common.py b/test/test_rospkg_common.py index 16be26e8..14920992 100644 --- a/test/test_rospkg_common.py +++ b/test/test_rospkg_common.py @@ -30,8 +30,6 @@ # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. -from __future__ import print_function - def test_ResourceNotFound(): from rospkg import ResourceNotFound diff --git a/test/test_rospkg_manifest.py b/test/test_rospkg_manifest.py index d75f8288..fa77798e 100644 --- a/test/test_rospkg_manifest.py +++ b/test/test_rospkg_manifest.py @@ -31,8 +31,6 @@ # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. -from __future__ import print_function - import os diff --git a/test/test_rospkg_os_detect.py b/test/test_rospkg_os_detect.py index 511aac0d..5c2ba3fb 100644 --- a/test/test_rospkg_os_detect.py +++ b/test/test_rospkg_os_detect.py @@ -30,15 +30,9 @@ # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. -from __future__ import absolute_import - import os import sys - -try: - from unittest.mock import Mock, patch -except ImportError: - from mock import Mock, patch +from unittest.mock import Mock, patch class TrueOs(): diff --git a/test/test_rospkg_packages.py b/test/test_rospkg_packages.py index 00a8277e..b2eb8a0c 100644 --- a/test/test_rospkg_packages.py +++ b/test/test_rospkg_packages.py @@ -30,8 +30,6 @@ # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. -from __future__ import print_function - import os import subprocess import tempfile diff --git a/test/test_rospkg_stacks.py b/test/test_rospkg_stacks.py index ebb5b36c..e3c6e1c8 100644 --- a/test/test_rospkg_stacks.py +++ b/test/test_rospkg_stacks.py @@ -30,10 +30,7 @@ # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. -from __future__ import print_function - import os - import subprocess