diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9db4b42..1fd1b09 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -63,11 +63,17 @@ jobs: tox: pyqt5 - name: PySide2 tox: pyside2 + - name: PySide6 + tox: pyside6 exclude: - python: tox: py39 os: python_platform: win32 + - python: + tox: py35 + wrapper: + tox: pyside6 steps: - uses: actions/checkout@v2 - name: Set up ${{ matrix.python.name }} diff --git a/setup.py b/setup.py index e87c133..8165bab 100644 --- a/setup.py +++ b/setup.py @@ -50,6 +50,9 @@ def read(fname): # https://github.com/pytest-dev/pytest-twisted/pull/107#issuecomment-643679361 "pyside2 != 5.15.0", ], + "pyside6": [ + "pyside6", + ], "test": [ "coverage", "pytest", diff --git a/src/qt5reactor/core.py b/src/qt5reactor/core.py index 7ff8aae..de961b3 100644 --- a/src/qt5reactor/core.py +++ b/src/qt5reactor/core.py @@ -118,9 +118,15 @@ QCoreApplication, QEventLoop, QObject, QSocketNotifier, QTimer, ) except ImportError as e1: - raise ImportError( - "Neither PyQt5 nor PySide2 installed.\nPyQt5: {}\nPySide2: {})".format(e0, e1) - ) + try: + # try PySide6 + from PySide6.QtCore import ( + QCoreApplication, QEventLoop, QObject, QSocketNotifier, QTimer, + ) + except ImportError as e2: + raise ImportError( + "Neither PyQt5, PySide2 nor PySide6 installed.\nPyQt5: {}\nPySide2: {}\nPySide6: {})".format(e0, e1, e2) + ) from twisted.internet.error import ReactorAlreadyInstalledError from twisted.internet import posixbase diff --git a/tox.ini b/tox.ini index 5db3135..4b99191 100644 --- a/tox.ini +++ b/tox.ini @@ -1,6 +1,6 @@ [tox] minversion=3.1 -envlist = py{35,36,37}-py{qt5,side2} +envlist = py{35,36,37,38,39}-py{qt5,side2},py{36,37,38,39}-pyside6 [testenv] deps= @@ -10,6 +10,7 @@ deps= pyqt5: PyQt5-sip==12.8.0 pyside2: pyside2==5.15.1 + pyside6: pyside6==6.1.3 passenv= TOXENV