lincolnloop / python-qrcode

Python QR Code image generator
https://pypi.python.org/pypi/qrcode
Other
4.36k stars 666 forks source link

Add support for Python 3.7-3.9, drop EOL 2.7 and 3.4-3.5 #209

Closed hugovk closed 3 years ago

hugovk commented 3 years ago

Fixes https://github.com/lincolnloop/python-qrcode/issues/166.

Builds on https://github.com/lincolnloop/python-qrcode/pull/208.

$ tox -e py36,py37,py38,py39
py36 develop-inst-noop: /private/tmp/python-qrcode
py36 installed: attrs==20.2.0,coverage==5.3,importlib-metadata==2.0.0,iniconfig==1.0.1,packaging==20.4,Pillow==7.2.0,pluggy==0.13.1,py==1.9.0,pymaging @ git+git://github.com/ojii/pymaging.git@596a08fce5664e58d6e8c96847393fbe987783f2,pymaging-png @ git+git://github.com/ojii/pymaging-png.git@83d85c44e4b2342818e6c068065e031a9f81bb9f,pyparsing==2.4.7,pytest==6.1.1,pytest-cov==2.10.1,-e git+https://github.com/hugovk/python-qrcode@a53f4beb3536307c3d6a32d71fb6258d8b1430d4#egg=qrcode,six==1.15.0,toml==0.10.1,zipp==3.3.0
py36 run-test-pre: PYTHONHASHSEED='2404440001'
py36 run-test: commands[0] | pytest --cov --cov-append --cov-report=
=================================================== test session starts ===================================================
platform darwin -- Python 3.6.10, pytest-6.1.1, py-1.9.0, pluggy-0.13.1
cachedir: .tox/py36/.pytest_cache
rootdir: /private/tmp/python-qrcode, configfile: setup.cfg
plugins: cov-2.10.1
collected 52 items

qrcode/tests/test_example.py .                                                                                      [  1%]
qrcode/tests/test_qrcode.py .......................................                                                 [ 76%]
qrcode/tests/test_release.py ....                                                                                   [ 84%]
qrcode/tests/test_script.py .......                                                                                 [ 98%]
qrcode/tests/test_util.py .                                                                                         [100%]

==================================================== warnings summary =====================================================
qrcode/tests/test_release.py::UpdateManpageTests::test_change
  /Users/hugo/.pyenv/versions/3.6.10/lib/python3.6/re.py:212: FutureWarning: split() requires a non-empty pattern match.
    return _compile(pattern, flags).split(string, maxsplit)

-- Docs: https://docs.pytest.org/en/stable/warnings.html

============================================== 52 passed, 1 warning in 3.74s ==============================================
py37 develop-inst-noop: /private/tmp/python-qrcode
py37 installed: attrs==20.2.0,coverage==5.3,importlib-metadata==2.0.0,iniconfig==1.0.1,packaging==20.4,Pillow==7.2.0,pluggy==0.13.1,py==1.9.0,pymaging @ git+git://github.com/ojii/pymaging.git@596a08fce5664e58d6e8c96847393fbe987783f2,pymaging-png @ git+git://github.com/ojii/pymaging-png.git@83d85c44e4b2342818e6c068065e031a9f81bb9f,pyparsing==2.4.7,pytest==6.1.1,pytest-cov==2.10.1,-e git+https://github.com/hugovk/python-qrcode@a53f4beb3536307c3d6a32d71fb6258d8b1430d4#egg=qrcode,six==1.15.0,toml==0.10.1,zipp==3.3.0
py37 run-test-pre: PYTHONHASHSEED='2404440001'
py37 run-test: commands[0] | pytest --cov --cov-append --cov-report=
=================================================== test session starts ===================================================
platform darwin -- Python 3.7.7, pytest-6.1.1, py-1.9.0, pluggy-0.13.1
cachedir: .tox/py37/.pytest_cache
rootdir: /private/tmp/python-qrcode, configfile: setup.cfg
plugins: cov-2.10.1
collected 52 items

qrcode/tests/test_example.py .                                                                                      [  1%]
qrcode/tests/test_qrcode.py .......................................                                                 [ 76%]
qrcode/tests/test_release.py ....                                                                                   [ 84%]
qrcode/tests/test_script.py .......                                                                                 [ 98%]
qrcode/tests/test_util.py .                                                                                         [100%]

=================================================== 52 passed in 3.69s ====================================================
py38 develop-inst-noop: /private/tmp/python-qrcode
py38 installed: attrs==20.2.0,coverage==5.3,iniconfig==1.0.1,packaging==20.4,Pillow==7.2.0,pluggy==0.13.1,py==1.9.0,pymaging @ git+git://github.com/ojii/pymaging.git@596a08fce5664e58d6e8c96847393fbe987783f2,pymaging-png @ git+git://github.com/ojii/pymaging-png.git@83d85c44e4b2342818e6c068065e031a9f81bb9f,pyparsing==2.4.7,pytest==6.1.1,pytest-cov==2.10.1,-e git+https://github.com/hugovk/python-qrcode@a53f4beb3536307c3d6a32d71fb6258d8b1430d4#egg=qrcode,six==1.15.0,toml==0.10.1
py38 run-test-pre: PYTHONHASHSEED='2404440001'
py38 run-test: commands[0] | pytest --cov --cov-append --cov-report=
=================================================== test session starts ===================================================
platform darwin -- Python 3.8.6, pytest-6.1.1, py-1.9.0, pluggy-0.13.1
cachedir: .tox/py38/.pytest_cache
rootdir: /private/tmp/python-qrcode, configfile: setup.cfg
plugins: cov-2.10.1
collected 52 items

qrcode/tests/test_example.py .                                                                                      [  1%]
qrcode/tests/test_qrcode.py .......................................                                                 [ 76%]
qrcode/tests/test_release.py ....                                                                                   [ 84%]
qrcode/tests/test_script.py .......                                                                                 [ 98%]
qrcode/tests/test_util.py .                                                                                         [100%]

=================================================== 52 passed in 3.66s ====================================================
py39 develop-inst-noop: /private/tmp/python-qrcode
py39 installed: pymaging @ git+git://github.com/ojii/pymaging.git@596a08fce5664e58d6e8c96847393fbe987783f2,pymaging-png @ git+git://github.com/ojii/pymaging-png.git@83d85c44e4b2342818e6c068065e031a9f81bb9f,six==1.15.0
py39 run-test-pre: PYTHONHASHSEED='2404440001'
py39 run-test: commands[0] | pytest --cov --cov-append --cov-report=
WARNING: test command found but not installed in testenv
  cmd: /Users/hugo/.pyenv/shims/pytest
  env: /private/tmp/python-qrcode/.tox/py39
Maybe you forgot to specify a dependency? See also the allowlist_externals envconfig setting.

DEPRECATION WARNING: this will be an error in tox 4 and above!
=================================================== test session starts ===================================================
platform darwin -- Python 3.9.0, pytest-6.1.1, py-1.9.0, pluggy-0.13.1
cachedir: .tox/py39/.pytest_cache
rootdir: /private/tmp/python-qrcode, configfile: setup.cfg
plugins: xdist-2.1.0, cov-2.10.1, forked-1.3.0
collected 52 items

qrcode/tests/test_example.py .                                                                                      [  1%]
qrcode/tests/test_qrcode.py ...............................ss......                                                 [ 76%]
qrcode/tests/test_release.py ....                                                                                   [ 84%]
qrcode/tests/test_script.py .......                                                                                 [ 98%]
qrcode/tests/test_util.py .                                                                                         [100%]

============================================== 50 passed, 2 skipped in 3.24s ==============================================
_________________________________________________________ summary _________________________________________________________
  py36: commands succeeded
  py37: commands succeeded
  py38: commands succeeded
  py39: commands succeeded
  congratulations :)
septatrix commented 3 years ago

@SmileyChris is this repository still actively maintained? There are many open pull requests with seemingly no response from lincolnloop.