Hello community,

here is the log from the commit of package python-QtPy for openSUSE:Factory 
checked in at 2018-11-12 09:42:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-QtPy (Old)
 and      /work/SRC/openSUSE:Factory/.python-QtPy.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-QtPy"

Mon Nov 12 09:42:26 2018 rev:5 rq:647645 version:1.5.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-QtPy/python-QtPy.changes  2018-06-02 
12:14:05.891698670 +0200
+++ /work/SRC/openSUSE:Factory/.python-QtPy.new/python-QtPy.changes     
2018-11-12 09:42:32.909091131 +0100
@@ -1,0 +2,33 @@
+Thu Nov  8 17:02:01 UTC 2018 - Todd R <toddrme2...@gmail.com>
+
+- Update to Version 1.5.2
+  * Fix tests
+  * Add support for PySide2.QtOpenGL 
+- Update to Version 1.5.1
+  * Make PythonQtError inherit from RuntimeError to be easily
+    catchable
+- Update to Version 1.5
+  + New features 
+    * Add support for QtLocation, QtMultimediaWidgets, QtQml,
+      QtQuick, QtWebChannel, QtWebSockets and QtXmlPatterns.
+    * Raise an error when trying to use the wrong combination of
+      macOS and Qt versions. 
+  + Issues Closed 
+    * Issue 155 - Add warnings for Qt 5.9 in macOS 10.9 and
+      Qt 5.11 and macOS 10.11 (PR 168)
+    * Issue 153 - Shim PyQt5 ToPyDateTime for compatibility with
+      PySide2 (PR 169)
+    * Issue 123 - Wrap QWebChannel module (PR 157) 
+  + Pull Requests Merged 
+    * PR 169 - Shim PyQt5 QDateTime.toPyDateTime to
+      QDateTime.toPython for compatibility with PySide2 (153)
+    * PR 168 - Raise error when trying to use the wrong
+      combination of macOS and Qt versions (155)
+    * PR 167 - Migrate to CircleCI 2.0
+    * PR 163 - Add QtLocation
+    * PR 162 - Update readme to remove funding appeal, harmonize
+      with other readmes and minor fixes
+    * PR 161 - Fix pyside2 wheels install
+    * PR 157 - Add more Qt modules (123) 
+
+-------------------------------------------------------------------

Old:
----
  QtPy-1.4.2.tar.gz

New:
----
  QtPy-1.5.2.tar.gz

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

Other differences:
------------------
++++++ python-QtPy.spec ++++++
--- /var/tmp/diff_new_pack.pjLFsX/_old  2018-11-12 09:42:33.785089788 +0100
+++ /var/tmp/diff_new_pack.pjLFsX/_new  2018-11-12 09:42:33.785089788 +0100
@@ -17,7 +17,7 @@
 
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 Name:           python-QtPy
-Version:        1.4.2
+Version:        1.5.2
 Release:        0
 License:        MIT
 Summary:        Abstraction layer on top of Qt bindings
@@ -32,6 +32,7 @@
 BuildRequires:  python-rpm-macros
 BuildRequires:  xvfb-run
 # SECTION test requirements
+BuildRequires:  %{python_module mock}
 BuildRequires:  %{python_module pytest}
 # /SECTION
 Requires:       python-qt5
@@ -77,7 +78,6 @@
 popd
 
 %files %{python_files}
-%defattr(-,root,root,-)
 %doc AUTHORS.md CHANGELOG.md README.md
 %license LICENSE.txt
 %{python_sitelib}/*

++++++ QtPy-1.4.2.tar.gz -> QtPy-1.5.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/QtPy-1.4.2/CHANGELOG.md new/QtPy-1.5.2/CHANGELOG.md
--- old/QtPy-1.4.2/CHANGELOG.md 2018-05-07 00:25:46.000000000 +0200
+++ new/QtPy-1.5.2/CHANGELOG.md 2018-10-20 19:40:16.000000000 +0200
@@ -1,5 +1,69 @@
 # History of changes
 
+## Version 1.5.2 (2018-10-20)
+
+
+### Pull Requests Merged
+
+* [PR 175](https://github.com/spyder-ide/qtpy/pull/175) - PR: Fix tests
+* [PR 174](https://github.com/spyder-ide/qtpy/pull/174) - PR: Add support for 
PySide2.QtOpenGL
+
+In this release 2 pull requests were closed.
+
+
+----
+
+
+## Version 1.5.1 (2018-09-18)
+
+### Issues Closed
+
+* [Issue 170](https://github.com/spyder-ide/qtpy/issues/170) - Can't catch 
PythonQtError ([PR 173](https://github.com/spyder-ide/qtpy/pull/173))
+
+In this release 1 issue was closed.
+
+### Pull Requests Merged
+
+* [PR 173](https://github.com/spyder-ide/qtpy/pull/173) - PR: Make 
PythonQtError inherit from RuntimeError to be easily catchable 
([170](https://github.com/spyder-ide/qtpy/issues/170))
+
+In this release 1 pull request was closed.
+
+----
+
+
+## Version 1.5 (2018-08-25)
+
+### New features
+
+* Add support for QtLocation, QtMultimediaWidgets, QtQml, QtQuick,
+  QtWebChannel, QtWebSockets and QtXmlPatterns.
+* Raise an error when trying to use the wrong combination of macOS
+  and Qt versions.
+
+### Issues Closed
+
+* [Issue 155](https://github.com/spyder-ide/qtpy/issues/155) - Add warnings 
for Qt 5.9 in macOS 10.9 and Qt 5.11 and macOS 10.11 ([PR 
168](https://github.com/spyder-ide/qtpy/pull/168))
+* [Issue 153](https://github.com/spyder-ide/qtpy/issues/153) - Shim PyQt5 
ToPyDateTime for compatibility with PySide2 ([PR 
169](https://github.com/spyder-ide/qtpy/pull/169))
+* [Issue 123](https://github.com/spyder-ide/qtpy/issues/123) - Wrap 
QWebChannel module ([PR 157](https://github.com/spyder-ide/qtpy/pull/157))
+
+In this release 3 issues were closed.
+
+### Pull Requests Merged
+
+* [PR 169](https://github.com/spyder-ide/qtpy/pull/169) - PR: Shim PyQt5 
QDateTime.toPyDateTime to QDateTime.toPython for compatibility with PySide2 
([153](https://github.com/spyder-ide/qtpy/issues/153))
+* [PR 168](https://github.com/spyder-ide/qtpy/pull/168) - PR: Raise error when 
trying to use the wrong combination of macOS and Qt versions 
([155](https://github.com/spyder-ide/qtpy/issues/155))
+* [PR 167](https://github.com/spyder-ide/qtpy/pull/167) - PR: Migrate to 
CircleCI 2.0
+* [PR 163](https://github.com/spyder-ide/qtpy/pull/163) - PR: Add QtLocation
+* [PR 162](https://github.com/spyder-ide/qtpy/pull/162) - PR: Update readme to 
remove funding appeal, harmonize with other readmes and minor fixes
+* [PR 161](https://github.com/spyder-ide/qtpy/pull/161) - PR: Fix pyside2 
wheels install
+* [PR 157](https://github.com/spyder-ide/qtpy/pull/157) - PR: Add more Qt 
modules ([123](https://github.com/spyder-ide/qtpy/issues/123))
+
+In this release 7 pull requests were closed.
+
+
+----
+
+
 ## Version 1.4.2 (2018-05-06)
 
 ### Issues Closed
@@ -51,8 +115,7 @@
 
 ### New features
 
-* Add support for QtHelp
-* Add support for QtSql
+* Add support for QtHelp and QtSql
 * Use already imported bindings
 
 ### Issues Closed
@@ -105,9 +168,7 @@
 
 ### New features
 
-* Add support for PySide2
-* Add support for QtMultimedia
-* Add support for PyQt 4.6
+* Add support for PySide2 and PyQt 4.6
 
 ### Bugs fixed
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/QtPy-1.4.2/PKG-INFO new/QtPy-1.5.2/PKG-INFO
--- old/QtPy-1.4.2/PKG-INFO     2018-05-07 00:28:16.000000000 +0200
+++ new/QtPy-1.5.2/PKG-INFO     2018-10-20 19:42:20.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.2
 Name: QtPy
-Version: 1.4.2
+Version: 1.5.2
 Summary: Provides an abstraction layer on top of the various Qt bindings 
(PyQt5, PyQt4 and PySide) and additional custom QWidgets.
 Home-page: https://github.com/spyder-ide/qtpy
 Author: Colin Duquesnoy, The Spyder Development Team
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/QtPy-1.4.2/QtPy.egg-info/PKG-INFO 
new/QtPy-1.5.2/QtPy.egg-info/PKG-INFO
--- old/QtPy-1.4.2/QtPy.egg-info/PKG-INFO       2018-05-07 00:28:16.000000000 
+0200
+++ new/QtPy-1.5.2/QtPy.egg-info/PKG-INFO       2018-10-20 19:42:20.000000000 
+0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.2
 Name: QtPy
-Version: 1.4.2
+Version: 1.5.2
 Summary: Provides an abstraction layer on top of the various Qt bindings 
(PyQt5, PyQt4 and PySide) and additional custom QWidgets.
 Home-page: https://github.com/spyder-ide/qtpy
 Author: Colin Duquesnoy, The Spyder Development Team
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/QtPy-1.4.2/QtPy.egg-info/SOURCES.txt 
new/QtPy-1.5.2/QtPy.egg-info/SOURCES.txt
--- old/QtPy-1.4.2/QtPy.egg-info/SOURCES.txt    2018-05-07 00:28:16.000000000 
+0200
+++ new/QtPy-1.5.2/QtPy.egg-info/SOURCES.txt    2018-10-20 19:42:20.000000000 
+0200
@@ -13,15 +13,22 @@
 qtpy/QtDesigner.py
 qtpy/QtGui.py
 qtpy/QtHelp.py
+qtpy/QtLocation.py
 qtpy/QtMultimedia.py
+qtpy/QtMultimediaWidgets.py
 qtpy/QtNetwork.py
 qtpy/QtOpenGL.py
 qtpy/QtPrintSupport.py
+qtpy/QtQml.py
+qtpy/QtQuick.py
 qtpy/QtSql.py
 qtpy/QtSvg.py
 qtpy/QtTest.py
+qtpy/QtWebChannel.py
 qtpy/QtWebEngineWidgets.py
+qtpy/QtWebSockets.py
 qtpy/QtWidgets.py
+qtpy/QtXmlPatterns.py
 qtpy/__init__.py
 qtpy/_version.py
 qtpy/compat.py
@@ -35,6 +42,7 @@
 qtpy/tests/runtests.py
 qtpy/tests/test.ui
 qtpy/tests/test_custom.ui
+qtpy/tests/test_macos_checks.py
 qtpy/tests/test_main.py
 qtpy/tests/test_patch_qcombobox.py
 qtpy/tests/test_patch_qheaderview.py
@@ -42,10 +50,17 @@
 qtpy/tests/test_qtcore.py
 qtpy/tests/test_qtdesigner.py
 qtpy/tests/test_qthelp.py
+qtpy/tests/test_qtlocation.py
 qtpy/tests/test_qtmultimedia.py
+qtpy/tests/test_qtmultimediawidgets.py
 qtpy/tests/test_qtnetwork.py
 qtpy/tests/test_qtprintsupport.py
+qtpy/tests/test_qtqml.py
+qtpy/tests/test_qtquick.py
 qtpy/tests/test_qtsql.py
 qtpy/tests/test_qtsvg.py
 qtpy/tests/test_qttest.py
+qtpy/tests/test_qtwebchannel.py
+qtpy/tests/test_qtwebsockets.py
+qtpy/tests/test_qtxmlpatterns.py
 qtpy/tests/test_uic.py
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/QtPy-1.4.2/README.md new/QtPy-1.5.2/README.md
--- old/QtPy-1.4.2/README.md    2018-03-11 22:29:19.000000000 +0100
+++ new/QtPy-1.5.2/README.md    2018-08-05 19:54:19.000000000 +0200
@@ -1,40 +1,19 @@
 # QtPy: Abstraction layer for PyQt5/PyQt4/PySide2/PySide
 
-Copyright © 2009- The Spyder Development Team.
-
-## Project details
 [![license](https://img.shields.io/pypi/l/qtpy.svg)](./LICENSE)
-[![pypi 
version](https://img.shields.io/pypi/v/qtpy.svg)](https://pypi.python.org/pypi/qtpy)
-[![Join the chat at 
https://gitter.im/spyder-ide/public](https://badges.gitter.im/spyder-ide/spyder.svg)](https://gitter.im/spyder-ide/public)
+[![pypi 
version](https://img.shields.io/pypi/v/qtpy.svg)](https://pypi.org/project/QtPy/)
+[![conda 
version](https://img.shields.io/conda/vn/conda-forge/qtpy.svg)](https://www.anaconda.com/download/)
+[![download 
count](https://img.shields.io/conda/dn/conda-forge/qtpy.svg)](https://www.anaconda.com/download/)
 [![OpenCollective 
Backers](https://opencollective.com/spyder/backers/badge.svg?color=blue)](#backers)
-[![OpenCollective 
Sponsors](https://opencollective.com/spyder/sponsors/badge.svg?color=blue)](#sponsors)
-
-## Build status
+[![Join the chat at 
https://gitter.im/spyder-ide/public](https://badges.gitter.im/spyder-ide/spyder.svg)](https://gitter.im/spyder-ide/public)<br>
+[![PyPI 
status](https://img.shields.io/pypi/status/qtpy.svg)](https://github.com/spyder-ide/qtpy)
 [![Build 
status](https://ci.appveyor.com/api/projects/status/62y6i02vhn4hefg0/branch/master?svg=true)](https://ci.appveyor.com/project/spyder-ide/qtpy/branch/master)
 
[![CircleCI](https://circleci.com/gh/spyder-ide/qtpy.svg?style=shield)](https://circleci.com/gh/spyder-ide/qtpy)
 [![Coverage 
Status](https://coveralls.io/repos/github/spyder-ide/qtpy/badge.svg?branch=master)](https://coveralls.io/github/spyder-ide/qtpy?branch=master)
 [![Scrutinizer Code 
Quality](https://scrutinizer-ci.com/g/spyder-ide/qtpy/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/spyder-ide/qtpy/?branch=master)
 
-----
-
-## Important Announcement: Spyder is unfunded!
-
-Since mid November/2017, [Anaconda, Inc](https://www.anaconda.com/) has
-stopped funding Spyder development, after doing it for the past 18
-months. Because of that, development will focus from now on maintaining
-Spyder 3 at a much slower pace than before.
-
-If you want to contribute to maintain Spyder, please consider donating at
+*Copyright © 2009–2018 The Spyder Development Team*
 
-https://opencollective.com/spyder
-
-We appreciate all the help you can provide us and can't thank you enough for
-supporting the work of Spyder devs and Spyder development.
-
-If you want to know more about this, please read this
-[page](https://github.com/spyder-ide/spyder/wiki/Anaconda-stopped-funding-Spyder).
-
-----
 
 ## Description
 
@@ -44,11 +23,11 @@
 It provides support for PyQt5, PyQt4, PySide2 and PySide using the Qt5 layout
 (where the QtGui module has been split into QtGui and QtWidgets).
 
-Basically, you write your code as if you were using PySide2 but import Qt 
modules
-from `qtpy` instead of `PySide2` (or `PyQt5`)
+Basically, you can write your code as if you were using PySide2
+but import Qt modules from `qtpy` instead of `PySide2` (or `PyQt5`)
 
 
-### Attribution and acknowledgements
+### Attribution and acknowledgments
 
 This project is based on the [pyqode.qt](https://github.com/pyQode/pyqode.qt)
 project and the 
[spyderlib.qt](https://github.com/spyder-ide/spyder/tree/2.3/spyderlib/qt)
@@ -63,7 +42,7 @@
 
 ### License
 
-This project is licensed under the MIT license.
+This project is released under the MIT license.
 
 
 ### Requirements
@@ -92,10 +71,12 @@
 conda install qtpy
 ```
 
+
 ## Contributing
 
 Everyone is welcome to contribute!
 
+
 ## Backers
 
 Support us with a monthly donation and help us continue our activities.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/QtPy-1.4.2/qtpy/QtCore.py 
new/QtPy-1.5.2/qtpy/QtCore.py
--- old/QtPy-1.4.2/qtpy/QtCore.py       2018-05-06 23:26:49.000000000 +0200
+++ new/QtPy-1.5.2/qtpy/QtCore.py       2018-08-25 20:54:38.000000000 +0200
@@ -20,6 +20,10 @@
     from PyQt5.QtCore import pyqtProperty as Property
     from PyQt5.QtCore import QT_VERSION_STR as __version__
 
+    # For issue #153
+    from PyQt5.QtCore import QDateTime
+    QDateTime.toPython = QDateTime.toPyDateTime
+
     # Those are imported from `import *`
     del pyqtSignal, pyqtSlot, pyqtProperty, QT_VERSION_STR
 elif PYSIDE2:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/QtPy-1.4.2/qtpy/QtLocation.py 
new/QtPy-1.5.2/qtpy/QtLocation.py
--- old/QtPy-1.4.2/qtpy/QtLocation.py   1970-01-01 01:00:00.000000000 +0100
+++ new/QtPy-1.5.2/qtpy/QtLocation.py   2018-08-05 19:54:19.000000000 +0200
@@ -0,0 +1,18 @@
+# -*- coding: utf-8 -*-
+# -----------------------------------------------------------------------------
+# Copyright © 2009- The Spyder Development Team
+#
+# Licensed under the terms of the MIT License
+# (see LICENSE.txt for details)
+# -----------------------------------------------------------------------------
+"""Provides QtLocation classes and functions."""
+
+# Local imports
+from . import PYQT5, PYSIDE2, PythonQtError
+
+if PYQT5:
+    from PyQt5.QtLocation import *
+elif PYSIDE2:
+    from PySide2.QtLocation import *
+else:
+    raise PythonQtError('No Qt bindings could be found')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/QtPy-1.4.2/qtpy/QtMultimediaWidgets.py 
new/QtPy-1.5.2/qtpy/QtMultimediaWidgets.py
--- old/QtPy-1.4.2/qtpy/QtMultimediaWidgets.py  1970-01-01 01:00:00.000000000 
+0100
+++ new/QtPy-1.5.2/qtpy/QtMultimediaWidgets.py  2018-08-05 19:54:19.000000000 
+0200
@@ -0,0 +1,18 @@
+# -*- coding: utf-8 -*-
+# -----------------------------------------------------------------------------
+# Copyright © 2009- The Spyder Development Team
+#
+# Licensed under the terms of the MIT License
+# (see LICENSE.txt for details)
+# -----------------------------------------------------------------------------
+"""Provides QtMultimediaWidgets classes and functions."""
+
+# Local imports
+from . import PYSIDE2, PYQT5, PythonQtError
+
+if PYQT5:
+    from PyQt5.QtMultimediaWidgets import *
+elif PYSIDE2:
+    from PySide2.QtMultimediaWidgets import *
+else:
+    raise PythonQtError('No Qt bindings could be found')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/QtPy-1.4.2/qtpy/QtOpenGL.py 
new/QtPy-1.5.2/qtpy/QtOpenGL.py
--- old/QtPy-1.4.2/qtpy/QtOpenGL.py     2017-05-11 17:36:04.000000000 +0200
+++ new/QtPy-1.5.2/qtpy/QtOpenGL.py     2018-10-17 00:19:47.000000000 +0200
@@ -8,10 +8,12 @@
 """Provides QtOpenGL classes and functions."""
 
 # Local imports
-from . import PYQT4, PYQT5, PYSIDE, PythonQtError
+from . import PYQT4, PYQT5, PYSIDE, PYSIDE2, PythonQtError
 
 if PYQT5:
     from PyQt5.QtOpenGL import *
+elif PYSIDE2:
+    from PySide2.QtOpenGL import *
 elif PYQT4:
     from PyQt4.QtOpenGL import *
 elif PYSIDE:
@@ -19,4 +21,4 @@
 else:
     raise PythonQtError('No Qt bindings could be found')
 
-del PYQT4, PYQT5, PYSIDE
+del PYQT4, PYQT5, PYSIDE, PYSIDE2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/QtPy-1.4.2/qtpy/QtQml.py new/QtPy-1.5.2/qtpy/QtQml.py
--- old/QtPy-1.4.2/qtpy/QtQml.py        1970-01-01 01:00:00.000000000 +0100
+++ new/QtPy-1.5.2/qtpy/QtQml.py        2018-08-05 19:54:19.000000000 +0200
@@ -0,0 +1,18 @@
+# -*- coding: utf-8 -*-
+# -----------------------------------------------------------------------------
+# Copyright © 2009- The Spyder Development Team
+#
+# Licensed under the terms of the MIT License
+# (see LICENSE.txt for details)
+# -----------------------------------------------------------------------------
+"""Provides QtQml classes and functions."""
+
+# Local imports
+from . import PYQT5, PYSIDE2, PythonQtError
+
+if PYQT5:
+    from PyQt5.QtQml import *
+elif PYSIDE2:
+    from PySide2.QtQml import *
+else:
+    raise PythonQtError('No Qt bindings could be found')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/QtPy-1.4.2/qtpy/QtQuick.py 
new/QtPy-1.5.2/qtpy/QtQuick.py
--- old/QtPy-1.4.2/qtpy/QtQuick.py      1970-01-01 01:00:00.000000000 +0100
+++ new/QtPy-1.5.2/qtpy/QtQuick.py      2018-08-05 19:54:19.000000000 +0200
@@ -0,0 +1,18 @@
+# -*- coding: utf-8 -*-
+# -----------------------------------------------------------------------------
+# Copyright © 2009- The Spyder Development Team
+#
+# Licensed under the terms of the MIT License
+# (see LICENSE.txt for details)
+# -----------------------------------------------------------------------------
+"""Provides QtQuick classes and functions."""
+
+# Local imports
+from . import PYQT5, PYSIDE2, PythonQtError
+
+if PYQT5:
+    from PyQt5.QtQuick import *
+elif PYSIDE2:
+    from PySide2.QtQuick import *
+else:
+    raise PythonQtError('No Qt bindings could be found')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/QtPy-1.4.2/qtpy/QtWebChannel.py 
new/QtPy-1.5.2/qtpy/QtWebChannel.py
--- old/QtPy-1.4.2/qtpy/QtWebChannel.py 1970-01-01 01:00:00.000000000 +0100
+++ new/QtPy-1.5.2/qtpy/QtWebChannel.py 2018-08-05 19:54:19.000000000 +0200
@@ -0,0 +1,18 @@
+# -*- coding: utf-8 -*-
+# -----------------------------------------------------------------------------
+# Copyright © 2009- The Spyder Development Team
+#
+# Licensed under the terms of the MIT License
+# (see LICENSE.txt for details)
+# -----------------------------------------------------------------------------
+"""Provides QtWebChannel classes and functions."""
+
+# Local imports
+from . import PYSIDE2, PYQT5, PythonQtError
+
+if PYQT5:
+    from PyQt5.QtWebChannel import *
+elif PYSIDE2:
+    from PySide2.QtWebChannel import *
+else:
+    raise PythonQtError('No Qt bindings could be found')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/QtPy-1.4.2/qtpy/QtWebSockets.py 
new/QtPy-1.5.2/qtpy/QtWebSockets.py
--- old/QtPy-1.4.2/qtpy/QtWebSockets.py 1970-01-01 01:00:00.000000000 +0100
+++ new/QtPy-1.5.2/qtpy/QtWebSockets.py 2018-08-05 19:54:19.000000000 +0200
@@ -0,0 +1,18 @@
+# -*- coding: utf-8 -*-
+# -----------------------------------------------------------------------------
+# Copyright © 2009- The Spyder Development Team
+#
+# Licensed under the terms of the MIT License
+# (see LICENSE.txt for details)
+# -----------------------------------------------------------------------------
+"""Provides QtWebSockets classes and functions."""
+
+# Local imports
+from . import PYSIDE2, PYQT5, PythonQtError
+
+if PYQT5:
+    from PyQt5.QtWebSockets import *
+elif PYSIDE2:
+    from PySide2.QtWebSockets import *
+else:
+    raise PythonQtError('No Qt bindings could be found')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/QtPy-1.4.2/qtpy/QtXmlPatterns.py 
new/QtPy-1.5.2/qtpy/QtXmlPatterns.py
--- old/QtPy-1.4.2/qtpy/QtXmlPatterns.py        1970-01-01 01:00:00.000000000 
+0100
+++ new/QtPy-1.5.2/qtpy/QtXmlPatterns.py        2018-08-05 19:54:19.000000000 
+0200
@@ -0,0 +1,22 @@
+# -*- coding: utf-8 -*-
+# -----------------------------------------------------------------------------
+# Copyright © 2009- The Spyder Development Team
+#
+# Licensed under the terms of the MIT License
+# (see LICENSE.txt for details)
+# -----------------------------------------------------------------------------
+"""Provides QtXmlPatterns classes and functions."""
+
+# Local imports
+from . import PYQT4, PYSIDE2, PYQT5, PYSIDE, PythonQtError
+
+if PYQT5:
+    from PyQt5.QtXmlPatterns import *
+elif PYSIDE2:
+    from PySide2.QtXmlPatterns import *
+elif PYQT4:
+    from PyQt4.QtXmlPatterns import *
+elif PYSIDE:
+    from PySide.QtXmlPatterns import *
+else:
+    raise PythonQtError('No Qt bindings could be found')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/QtPy-1.4.2/qtpy/__init__.py 
new/QtPy-1.5.2/qtpy/__init__.py
--- old/QtPy-1.4.2/qtpy/__init__.py     2018-05-07 00:21:16.000000000 +0200
+++ new/QtPy-1.5.2/qtpy/__init__.py     2018-09-18 18:44:51.000000000 +0200
@@ -62,7 +62,9 @@
 
 """
 
+from distutils.version import LooseVersion
 import os
+import platform
 import sys
 import warnings
 
@@ -70,8 +72,8 @@
 from ._version import __version__
 
 
-class PythonQtError(Exception):
-    """Error raise if no bindings could be selected"""
+class PythonQtError(RuntimeError):
+    """Error raise if no bindings could be selected."""
     pass
 
 
@@ -125,6 +127,23 @@
         from PyQt5.QtCore import PYQT_VERSION_STR as PYQT_VERSION  # 
analysis:ignore
         from PyQt5.QtCore import QT_VERSION_STR as QT_VERSION  # 
analysis:ignore
         PYSIDE_VERSION = None
+
+        if sys.platform == 'darwin':
+            macos_version = LooseVersion(platform.mac_ver()[0])
+            if macos_version < LooseVersion('10.10'):
+                if LooseVersion(QT_VERSION) >= LooseVersion('5.9'):
+                    raise PythonQtError("Qt 5.9 or higher only works in "
+                                        "macOS 10.10 or higher. Your "
+                                        "program will fail in this "
+                                        "system.")
+            elif macos_version < LooseVersion('10.11'):
+                if LooseVersion(QT_VERSION) >= LooseVersion('5.11'):
+                    raise PythonQtError("Qt 5.11 or higher only works in "
+                                        "macOS 10.11 or higher. Your "
+                                        "program will fail in this "
+                                        "system.")
+
+            del macos_version
     except ImportError:
         API = os.environ['QT_API'] = 'pyside2'
 
@@ -136,6 +155,17 @@
         PYQT_VERSION = None
         PYQT5 = False
         PYSIDE2 = True
+
+        if sys.platform == 'darwin':
+            macos_version = LooseVersion(platform.mac_ver()[0])
+            if macos_version < LooseVersion('10.11'):
+                if LooseVersion(QT_VERSION) >= LooseVersion('5.11'):
+                    raise PythonQtError("Qt 5.11 or higher only works in "
+                                        "macOS 10.11 or higher. Your "
+                                        "program will fail in this "
+                                        "system.")
+
+            del macos_version
     except ImportError:
         API = os.environ['QT_API'] = 'pyqt'
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/QtPy-1.4.2/qtpy/_version.py 
new/QtPy-1.5.2/qtpy/_version.py
--- old/QtPy-1.4.2/qtpy/_version.py     2018-05-07 00:27:10.000000000 +0200
+++ new/QtPy-1.5.2/qtpy/_version.py     2018-10-20 19:41:00.000000000 +0200
@@ -1,2 +1,2 @@
-version_info = (1, 4, 2)
+version_info = (1, 5, 2)
 __version__ = '.'.join(map(str, version_info))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/QtPy-1.4.2/qtpy/tests/test_macos_checks.py 
new/QtPy-1.5.2/qtpy/tests/test_macos_checks.py
--- old/QtPy-1.4.2/qtpy/tests/test_macos_checks.py      1970-01-01 
01:00:00.000000000 +0100
+++ new/QtPy-1.5.2/qtpy/tests/test_macos_checks.py      2018-09-18 
16:21:17.000000000 +0200
@@ -0,0 +1,110 @@
+from __future__ import absolute_import
+
+import mock
+import platform
+import sys
+
+import pytest
+from qtpy import PYQT5, PYSIDE2
+
+
+@pytest.mark.skipif(not PYQT5, reason="Targeted to PyQt5")
+@mock.patch.object(platform, 'mac_ver')
+def test_qt59_exception(mac_ver, monkeypatch):
+    # Remove qtpy to reimport it again
+    try:
+        del sys.modules["qtpy"]
+    except KeyError:
+        pass
+
+    # Patch stdlib to emulate a macOS system
+    monkeypatch.setattr("sys.platform", 'darwin')
+    mac_ver.return_value = ('10.9.2',)
+
+    # Patch Qt version
+    monkeypatch.setattr("PyQt5.QtCore.QT_VERSION_STR", '5.9.1')
+
+    # This should raise an Exception
+    with pytest.raises(Exception) as e:
+        import qtpy
+
+    assert '10.10' in str(e.value)
+    assert '5.9' in str(e.value)
+
+
+@pytest.mark.skipif(not PYQT5, reason="Targeted to PyQt5")
+@mock.patch.object(platform, 'mac_ver')
+def test_qt59_no_exception(mac_ver, monkeypatch):
+    # Remove qtpy to reimport it again
+    try:
+        del sys.modules["qtpy"]
+    except KeyError:
+        pass
+
+    # Patch stdlib to emulate a macOS system
+    monkeypatch.setattr("sys.platform", 'darwin')
+    mac_ver.return_value = ('10.10.1',)
+
+    # Patch Qt version
+    monkeypatch.setattr("PyQt5.QtCore.QT_VERSION_STR", '5.9.5')
+
+    # This should not raise an Exception
+    try:
+        import qtpy
+    except Exception:
+        pytest.fail("Error!")
+
+
+@pytest.mark.skipif(not (PYQT5 or PYSIDE2),
+                    reason="Targeted to PyQt5 or PySide2")
+@mock.patch.object(platform, 'mac_ver')
+def test_qt511_exception(mac_ver, monkeypatch):
+    # Remove qtpy to reimport it again
+    try:
+        del sys.modules["qtpy"]
+    except KeyError:
+        pass
+
+    # Patch stdlib to emulate a macOS system
+    monkeypatch.setattr("sys.platform", 'darwin')
+    mac_ver.return_value = ('10.10.3',)
+
+    # Patch Qt version
+    if PYQT5:
+        monkeypatch.setattr("PyQt5.QtCore.QT_VERSION_STR", '5.11.1')
+    else:
+        monkeypatch.setattr("PySide2.QtCore.__version__", '5.11.1')
+
+    # This should raise an Exception
+    with pytest.raises(Exception) as e:
+        import qtpy
+
+    assert '10.11' in str(e.value)
+    assert '5.11' in str(e.value)
+
+
+@pytest.mark.skipif(not (PYQT5 or PYSIDE2),
+                    reason="Targeted to PyQt5 or PySide2")
+@mock.patch.object(platform, 'mac_ver')
+def test_qt511_no_exception(mac_ver, monkeypatch):
+    # Remove qtpy to reimport it again
+    try:
+        del sys.modules["qtpy"]
+    except KeyError:
+        pass
+
+    # Patch stdlib to emulate a macOS system
+    monkeypatch.setattr("sys.platform", 'darwin')
+    mac_ver.return_value = ('10.13.2',)
+
+    # Patch Qt version
+    if PYQT5:
+        monkeypatch.setattr("PyQt5.QtCore.QT_VERSION_STR", '5.11.1')
+    else:
+        monkeypatch.setattr("PySide2.QtCore.__version__", '5.11.1')
+
+   # This should not raise an Exception
+    try:
+        import qtpy
+    except Exception:
+        pytest.fail("Error!")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/QtPy-1.4.2/qtpy/tests/test_qtcore.py 
new/QtPy-1.5.2/qtpy/tests/test_qtcore.py
--- old/QtPy-1.4.2/qtpy/tests/test_qtcore.py    2017-08-12 17:19:03.000000000 
+0200
+++ new/QtPy-1.5.2/qtpy/tests/test_qtcore.py    2018-08-25 20:54:38.000000000 
+0200
@@ -1,10 +1,18 @@
 from __future__ import absolute_import
 
 import pytest
-from qtpy import QtCore
+from qtpy import PYQT5, PYSIDE2, QtCore
 
 """Test QtCore."""
 
+
 def test_qtmsghandler():
-    """Test the qtpy.QtMsgHandler"""
+    """Test qtpy.QtMsgHandler"""
     assert QtCore.qInstallMessageHandler is not None
+
+
+@pytest.mark.skipif(not (PYQT5 or PYSIDE2),
+                    reason="Targeted to PyQt5 or PySide2")
+def test_DateTime_toPython():
+    """Test QDateTime.toPython"""
+    assert QtCore.QDateTime.toPython is not None
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/QtPy-1.4.2/qtpy/tests/test_qtlocation.py 
new/QtPy-1.5.2/qtpy/tests/test_qtlocation.py
--- old/QtPy-1.4.2/qtpy/tests/test_qtlocation.py        1970-01-01 
01:00:00.000000000 +0100
+++ new/QtPy-1.5.2/qtpy/tests/test_qtlocation.py        2018-08-05 
19:54:19.000000000 +0200
@@ -0,0 +1,48 @@
+from __future__ import absolute_import
+
+import pytest
+from qtpy import PYQT5, PYSIDE2
+
+@pytest.mark.skipif(not (PYQT5 or PYSIDE2), reason="Only available in Qt5 
bindings")
+def test_qtlocation():
+    """Test the qtpy.QtLocation namespace"""
+    from qtpy import QtLocation
+    assert QtLocation.QGeoCodeReply is not None
+    assert QtLocation.QGeoCodingManager is not None
+    assert QtLocation.QGeoCodingManagerEngine is not None
+    assert QtLocation.QGeoManeuver is not None
+    assert QtLocation.QGeoRoute is not None
+    assert QtLocation.QGeoRouteReply is not None
+    assert QtLocation.QGeoRouteRequest is not None
+    assert QtLocation.QGeoRouteSegment is not None
+    assert QtLocation.QGeoRoutingManager is not None
+    assert QtLocation.QGeoRoutingManagerEngine is not None
+    assert QtLocation.QGeoServiceProvider is not None
+    #assert QtLocation.QGeoServiceProviderFactory is not None
+    assert QtLocation.QPlace is not None
+    assert QtLocation.QPlaceAttribute is not None
+    assert QtLocation.QPlaceCategory is not None
+    assert QtLocation.QPlaceContactDetail is not None
+    assert QtLocation.QPlaceContent is not None
+    assert QtLocation.QPlaceContentReply is not None
+    assert QtLocation.QPlaceContentRequest is not None
+    assert QtLocation.QPlaceDetailsReply is not None
+    assert QtLocation.QPlaceEditorial is not None
+    assert QtLocation.QPlaceIcon is not None
+    assert QtLocation.QPlaceIdReply is not None
+    assert QtLocation.QPlaceImage is not None
+    assert QtLocation.QPlaceManager is not None
+    assert QtLocation.QPlaceManagerEngine is not None
+    assert QtLocation.QPlaceMatchReply is not None
+    assert QtLocation.QPlaceMatchRequest is not None
+    assert QtLocation.QPlaceProposedSearchResult is not None
+    assert QtLocation.QPlaceRatings is not None
+    assert QtLocation.QPlaceReply is not None
+    assert QtLocation.QPlaceResult is not None
+    assert QtLocation.QPlaceReview is not None
+    assert QtLocation.QPlaceSearchReply is not None
+    assert QtLocation.QPlaceSearchRequest is not None
+    assert QtLocation.QPlaceSearchResult is not None
+    assert QtLocation.QPlaceSearchSuggestionReply is not None
+    assert QtLocation.QPlaceSupplier is not None
+    assert QtLocation.QPlaceUser is not None
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/QtPy-1.4.2/qtpy/tests/test_qtmultimedia.py 
new/QtPy-1.5.2/qtpy/tests/test_qtmultimedia.py
--- old/QtPy-1.4.2/qtpy/tests/test_qtmultimedia.py      2018-04-29 
01:39:49.000000000 +0200
+++ new/QtPy-1.5.2/qtpy/tests/test_qtmultimedia.py      2018-10-17 
00:18:09.000000000 +0200
@@ -1,8 +1,12 @@
 from __future__ import absolute_import
+import os
+import sys
 
 import pytest
 
 
+@pytest.mark.skipif(os.name == 'nt' and sys.version_info[:2] == (3, 5),
+                    reason="Conda packages don't seem to include QtMultimedia")
 def test_qtmultimedia():
     """Test the qtpy.QtMultimedia namespace"""
     from qtpy import QtMultimedia
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/QtPy-1.4.2/qtpy/tests/test_qtmultimediawidgets.py 
new/QtPy-1.5.2/qtpy/tests/test_qtmultimediawidgets.py
--- old/QtPy-1.4.2/qtpy/tests/test_qtmultimediawidgets.py       1970-01-01 
01:00:00.000000000 +0100
+++ new/QtPy-1.5.2/qtpy/tests/test_qtmultimediawidgets.py       2018-10-17 
00:18:09.000000000 +0200
@@ -0,0 +1,18 @@
+from __future__ import absolute_import
+import os
+import sys
+
+import pytest
+from qtpy import PYQT5, PYSIDE2
+
+@pytest.mark.skipif(not (PYQT5 or PYSIDE2), reason="Only available in Qt5 
bindings")
+@pytest.mark.skipif(os.name == 'nt' and sys.version_info[:2] == (3, 5),
+                    reason="Conda packages don't seem to include QtMultimedia")
+def test_qtmultimediawidgets():
+    """Test the qtpy.QtMultimediaWidgets namespace"""
+    from qtpy import QtMultimediaWidgets
+
+    assert QtMultimediaWidgets.QCameraViewfinder is not None
+    assert QtMultimediaWidgets.QGraphicsVideoItem is not None
+    assert QtMultimediaWidgets.QVideoWidget is not None
+    #assert QtMultimediaWidgets.QVideoWidgetControl is not None
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/QtPy-1.4.2/qtpy/tests/test_qtnetwork.py 
new/QtPy-1.5.2/qtpy/tests/test_qtnetwork.py
--- old/QtPy-1.4.2/qtpy/tests/test_qtnetwork.py 2018-04-28 20:49:13.000000000 
+0200
+++ new/QtPy-1.5.2/qtpy/tests/test_qtnetwork.py 2018-08-05 19:54:19.000000000 
+0200
@@ -4,13 +4,13 @@
 from qtpy import PYSIDE, PYSIDE2, QtNetwork
 
 
-@pytest.mark.skipif(PYSIDE2 or PYSIDE, reason="It fails on PySide/PySide2")
 def test_qtnetwork():
     """Test the qtpy.QtNetwork namespace"""
     assert QtNetwork.QAbstractNetworkCache is not None
     assert QtNetwork.QNetworkCacheMetaData is not None
-    assert QtNetwork.QHttpMultiPart is not None
-    assert QtNetwork.QHttpPart is not None
+    if not PYSIDE and not PYSIDE2:
+        assert QtNetwork.QHttpMultiPart is not None
+        assert QtNetwork.QHttpPart is not None
     assert QtNetwork.QNetworkAccessManager is not None
     assert QtNetwork.QNetworkCookie is not None
     assert QtNetwork.QNetworkCookieJar is not None
@@ -34,9 +34,10 @@
     assert QtNetwork.QTcpServer is not None
     assert QtNetwork.QTcpSocket is not None
     assert QtNetwork.QUdpSocket is not None
-    assert QtNetwork.QSslCertificate is not None
-    assert QtNetwork.QSslCipher is not None
-    assert QtNetwork.QSslConfiguration is not None
-    assert QtNetwork.QSslError is not None
-    assert QtNetwork.QSslKey is not None
-    assert QtNetwork.QSslSocket is not None
+    if not PYSIDE:
+        assert QtNetwork.QSslCertificate is not None
+        assert QtNetwork.QSslCipher is not None
+        assert QtNetwork.QSslConfiguration is not None
+        assert QtNetwork.QSslError is not None
+        assert QtNetwork.QSslKey is not None
+        assert QtNetwork.QSslSocket is not None
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/QtPy-1.4.2/qtpy/tests/test_qtqml.py 
new/QtPy-1.5.2/qtpy/tests/test_qtqml.py
--- old/QtPy-1.4.2/qtpy/tests/test_qtqml.py     1970-01-01 01:00:00.000000000 
+0100
+++ new/QtPy-1.5.2/qtpy/tests/test_qtqml.py     2018-08-05 19:54:19.000000000 
+0200
@@ -0,0 +1,34 @@
+from __future__ import absolute_import
+
+import pytest
+from qtpy import PYQT5, PYSIDE2
+
+@pytest.mark.skipif(not (PYQT5 or PYSIDE2), reason="Only available in Qt5 
bindings")
+def test_qtqml():
+    """Test the qtpy.QtQml namespace"""
+    from qtpy import QtQml
+    assert QtQml.QJSEngine is not None
+    assert QtQml.QJSValue is not None
+    assert QtQml.QJSValueIterator is not None
+    assert QtQml.QQmlAbstractUrlInterceptor is not None
+    assert QtQml.QQmlApplicationEngine is not None
+    assert QtQml.QQmlComponent is not None
+    assert QtQml.QQmlContext is not None
+    assert QtQml.QQmlEngine is not None
+    assert QtQml.QQmlImageProviderBase is not None
+    assert QtQml.QQmlError is not None
+    assert QtQml.QQmlExpression is not None
+    assert QtQml.QQmlExtensionPlugin is not None
+    assert QtQml.QQmlFileSelector is not None
+    assert QtQml.QQmlIncubationController is not None
+    assert QtQml.QQmlIncubator is not None
+    if not PYSIDE2:
+        # https://wiki.qt.io/Qt_for_Python_Missing_Bindings#QtQml
+        assert QtQml.QQmlListProperty is not None
+    assert QtQml.QQmlListReference is not None
+    assert QtQml.QQmlNetworkAccessManagerFactory is not None
+    assert QtQml.QQmlParserStatus is not None
+    assert QtQml.QQmlProperty is not None
+    assert QtQml.QQmlPropertyValueSource is not None
+    assert QtQml.QQmlScriptString is not None
+    assert QtQml.QQmlPropertyMap is not None
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/QtPy-1.4.2/qtpy/tests/test_qtquick.py 
new/QtPy-1.5.2/qtpy/tests/test_qtquick.py
--- old/QtPy-1.4.2/qtpy/tests/test_qtquick.py   1970-01-01 01:00:00.000000000 
+0100
+++ new/QtPy-1.5.2/qtpy/tests/test_qtquick.py   2018-08-05 19:54:19.000000000 
+0200
@@ -0,0 +1,53 @@
+from __future__ import absolute_import
+
+import pytest
+from qtpy import PYQT5, PYSIDE2
+
+@pytest.mark.skipif(not (PYQT5 or PYSIDE2), reason="Only available in Qt5 
bindings")
+def test_qtquick():
+    """Test the qtpy.QtQuick namespace"""
+    from qtpy import QtQuick
+    assert QtQuick.QQuickAsyncImageProvider is not None
+    if not PYSIDE2:
+        assert QtQuick.QQuickCloseEvent is not None
+    assert QtQuick.QQuickFramebufferObject is not None
+    assert QtQuick.QQuickImageProvider is not None
+    assert QtQuick.QQuickImageResponse is not None
+    assert QtQuick.QQuickItem is not None
+    assert QtQuick.QQuickItemGrabResult is not None
+    assert QtQuick.QQuickPaintedItem is not None
+    assert QtQuick.QQuickRenderControl is not None
+    assert QtQuick.QQuickTextDocument is not None
+    assert QtQuick.QQuickTextureFactory is not None
+    assert QtQuick.QQuickView is not None
+    assert QtQuick.QQuickWindow is not None
+    assert QtQuick.QSGAbstractRenderer is not None
+    assert QtQuick.QSGBasicGeometryNode is not None
+    assert QtQuick.QSGClipNode is not None
+    assert QtQuick.QSGDynamicTexture is not None
+    assert QtQuick.QSGEngine is not None
+    if not PYSIDE2:
+        assert QtQuick.QSGFlatColorMaterial is not None
+    assert QtQuick.QSGGeometry is not None
+    assert QtQuick.QSGGeometryNode is not None
+    #assert QtQuick.QSGImageNode is not None
+    if not PYSIDE2:
+        assert QtQuick.QSGMaterial is not None
+        assert QtQuick.QSGMaterialShader is not None
+    assert QtQuick.QSGMaterialType is not None
+    assert QtQuick.QSGNode is not None
+    assert QtQuick.QSGOpacityNode is not None
+    if not PYSIDE2:
+        assert QtQuick.QSGOpaqueTextureMaterial is not None
+    #assert QtQuick.QSGRectangleNode is not None
+    #assert QtQuick.QSGRenderNode is not None
+    #assert QtQuick.QSGRendererInterface is not None
+    assert QtQuick.QSGSimpleRectNode is not None
+    assert QtQuick.QSGSimpleTextureNode is not None
+    assert QtQuick.QSGTexture is not None
+    if not PYSIDE2:
+        assert QtQuick.QSGTextureMaterial is not None
+    assert QtQuick.QSGTextureProvider is not None
+    assert QtQuick.QSGTransformNode is not None
+    if not PYSIDE2:
+        assert QtQuick.QSGVertexColorMaterial is not None
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/QtPy-1.4.2/qtpy/tests/test_qtwebchannel.py 
new/QtPy-1.5.2/qtpy/tests/test_qtwebchannel.py
--- old/QtPy-1.4.2/qtpy/tests/test_qtwebchannel.py      1970-01-01 
01:00:00.000000000 +0100
+++ new/QtPy-1.5.2/qtpy/tests/test_qtwebchannel.py      2018-08-05 
19:54:19.000000000 +0200
@@ -0,0 +1,13 @@
+from __future__ import absolute_import
+
+import pytest
+from qtpy import PYQT5, PYSIDE2
+
+@pytest.mark.skipif(not (PYQT5 or PYSIDE2), reason="Only available in Qt5 
bindings")
+def test_qtwebchannel():
+    """Test the qtpy.QtWebChannel namespace"""
+    from qtpy import QtWebChannel
+
+    assert QtWebChannel.QWebChannel is not None
+    assert QtWebChannel.QWebChannelAbstractTransport is not None
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/QtPy-1.4.2/qtpy/tests/test_qtwebsockets.py 
new/QtPy-1.5.2/qtpy/tests/test_qtwebsockets.py
--- old/QtPy-1.4.2/qtpy/tests/test_qtwebsockets.py      1970-01-01 
01:00:00.000000000 +0100
+++ new/QtPy-1.5.2/qtpy/tests/test_qtwebsockets.py      2018-08-05 
19:54:19.000000000 +0200
@@ -0,0 +1,15 @@
+from __future__ import absolute_import
+
+import pytest
+from qtpy import PYQT5, PYSIDE2
+
+@pytest.mark.skipif(not (PYQT5 or PYSIDE2), reason="Only available in Qt5 
bindings")
+def test_qtwebsockets():
+    """Test the qtpy.QtWebSockets namespace"""
+    from qtpy import QtWebSockets
+
+    assert QtWebSockets.QMaskGenerator is not None
+    assert QtWebSockets.QWebSocket is not None
+    assert QtWebSockets.QWebSocketCorsAuthenticator is not None
+    assert QtWebSockets.QWebSocketProtocol is not None
+    assert QtWebSockets.QWebSocketServer is not None
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/QtPy-1.4.2/qtpy/tests/test_qtxmlpatterns.py 
new/QtPy-1.5.2/qtpy/tests/test_qtxmlpatterns.py
--- old/QtPy-1.4.2/qtpy/tests/test_qtxmlpatterns.py     1970-01-01 
01:00:00.000000000 +0100
+++ new/QtPy-1.5.2/qtpy/tests/test_qtxmlpatterns.py     2018-08-05 
19:54:19.000000000 +0200
@@ -0,0 +1,25 @@
+from __future__ import absolute_import
+
+import pytest
+from qtpy import PYSIDE2, PYSIDE
+
+def test_qtxmlpatterns():
+    """Test the qtpy.QtXmlPatterns namespace"""
+    from qtpy import QtXmlPatterns
+    assert QtXmlPatterns.QAbstractMessageHandler is not None
+    assert QtXmlPatterns.QAbstractUriResolver is not None
+    assert QtXmlPatterns.QAbstractXmlNodeModel is not None
+    assert QtXmlPatterns.QAbstractXmlReceiver is not None
+    if not PYSIDE2 and not PYSIDE:
+        assert QtXmlPatterns.QSimpleXmlNodeModel is not None
+    assert QtXmlPatterns.QSourceLocation is not None
+    assert QtXmlPatterns.QXmlFormatter is not None
+    assert QtXmlPatterns.QXmlItem is not None
+    assert QtXmlPatterns.QXmlName is not None
+    assert QtXmlPatterns.QXmlNamePool is not None
+    assert QtXmlPatterns.QXmlNodeModelIndex is not None
+    assert QtXmlPatterns.QXmlQuery is not None
+    assert QtXmlPatterns.QXmlResultItems is not None
+    assert QtXmlPatterns.QXmlSchema is not None
+    assert QtXmlPatterns.QXmlSchemaValidator is not None
+    assert QtXmlPatterns.QXmlSerializer is not None


Reply via email to