python-amcrest icon indicating copy to clipboard operation
python-amcrest copied to clipboard

Python 3.12+ compatible, get rid of distutils in py

Open maximvelichko opened this issue 7 months ago • 1 comments

Remove distutils from Python code, so it can be used with Python 3.12+. (Not converted distutils.sysconfig.get_python_lib to e.g. sysconfig.get_path)

Presently pyamcrest does not work with Home Assistant for recent months, as they now require Python 3.12+

maximvelichko avatar Jun 02 '25 23:06 maximvelichko

Hi @tchellomello , may I get a review, please?

maximvelichko avatar Jun 04 '25 05:06 maximvelichko

This broke test_str2bool, because it expects ValueError for strings that are not trutyh/falsy.

___________________________ TestUtils.test_str2bool ____________________________

self = <tests.test_utils.TestUtils testMethod=test_str2bool>

    def test_str2bool(self):
        """Test return code from utils.str2bool."""
        self.assertTrue(str2bool('y'))
        self.assertTrue(str2bool('Y'))
        self.assertTrue(str2bool('yes'))
        self.assertTrue(str2bool(1))
        self.assertFalse(str2bool('n'))
        self.assertFalse(str2bool('N'))
        self.assertFalse(str2bool('no'))
        self.assertFalse(str2bool(0))
        self.assertTrue(str2bool(u'Y'))
>       self.assertRaises(ValueError, str2bool, 'amcrest')
E       AssertionError: ValueError not raised by str2bool

tests/test_utils.py:31: AssertionError

mweinelt avatar Jul 15 '25 16:07 mweinelt

test_str2bool

let me take a look, I did not realize the test does not run

maximvelichko avatar Jul 15 '25 17:07 maximvelichko

@mweinelt , #240

maximvelichko avatar Jul 15 '25 20:07 maximvelichko