[Python-modules-commits] [python-qtpy] 03/07: New upstream version 1.3.1

Ghislain Vaillant ghisvail-guest at moszumanska.debian.org
Wed Aug 23 15:10:46 UTC 2017


This is an automated email from the git hooks/post-receive script.

ghisvail-guest pushed a commit to branch master
in repository python-qtpy.

commit 527043b30a71155fdfe167d5689609aca23856e8
Author: Ghislain Antony Vaillant <ghisvail at gmail.com>
Date:   Tue Aug 22 09:30:58 2017 +0100

    New upstream version 1.3.1
---
 .ciocheck                                | 107 -------------------------------
 .coveralls.yml                           |   3 -
 .gitignore                               |  36 -----------
 CHANGELOG.md                             |  64 ++++++++++++++++++
 MANIFEST.in                              |   2 +-
 PKG-INFO                                 |  62 ++++++++++++++++++
 QtPy.egg-info/PKG-INFO                   |  62 ++++++++++++++++++
 QtPy.egg-info/SOURCES.txt                |  47 ++++++++++++++
 QtPy.egg-info/dependency_links.txt       |   1 +
 QtPy.egg-info/top_level.txt              |   1 +
 README.md                                |  14 ++--
 RELEASE.md                               |  23 -------
 appveyor.yml                             |  56 ----------------
 circle.yml                               |  46 -------------
 conda.recipe/build.sh                    |   3 -
 conda.recipe/meta.yaml                   |  28 --------
 qtpy/QtCore.py                           |  50 ++++++++++++++-
 qtpy/QtGui.py                            |  58 +++++++++++++----
 qtpy/QtMultimedia.py                     |   5 ++
 qtpy/QtNetwork.py                        |   4 +-
 qtpy/{QtSvg.py => QtOpenGL.py}           |   8 +--
 qtpy/QtPrintSupport.py                   |   4 +-
 qtpy/QtSvg.py                            |   6 +-
 qtpy/QtTest.py                           |   4 +-
 qtpy/QtWebEngineWidgets.py               |  14 +++-
 qtpy/QtWidgets.py                        |  34 ++++++----
 qtpy/__init__.py                         |  46 ++++++++++---
 qtpy/_patch/qheaderview.py               |  31 +++++----
 qtpy/_version.py                         |   2 +-
 qtpy/tests/__init__.py                   |   0
 qtpy/tests/conftest.py                   |  12 ++++
 qtpy/tests/test_main.py                  |  11 ++++
 qtpy/tests/test_patch_qcombobox.py       |   9 ++-
 qtpy/tests/test_patch_qheaderview.py     |  25 +++++---
 qtpy/tests/test_qdesktopservice_split.py |  28 ++++++++
 qtpy/tests/test_qtcore.py                |  10 +++
 qtpy/tests/test_qtdesigner.py            |  28 ++++++++
 qtpy/tests/test_qtmultimedia.py          |   4 +-
 qtpy/tests/test_qtnetwork.py             |  42 ++++++++++++
 qtpy/tests/test_qtprintsupport.py        |  18 ++++++
 qtpy/tests/test_qtsvg.py                 |  14 ++++
 qtpy/tests/test_qttest.py                |   9 +++
 qtpy/tests/test_uic.py                   |   4 +-
 qtpy/uic.py                              |  12 ++--
 setup.cfg                                |   8 ++-
 45 files changed, 669 insertions(+), 386 deletions(-)

diff --git a/.ciocheck b/.ciocheck
deleted file mode 100644
index 6c06a60..0000000
--- a/.ciocheck
+++ /dev/null
@@ -1,107 +0,0 @@
-# -----------------------------------------------------------------------------
-# ciocheck
-# https://github.com/ContinuumIO/ciocheck
-# -----------------------------------------------------------------------------
-[ciocheck]
-branch = origin/master
-diff_mode = commited
-file_mode = all
-check = pep8,pydocstyle,flake8,pylint
-
-# Python (pyformat)
-add_copyright = true
-add_header = true
-add_init = true
-
-# -----------------------------------------------------------------------------
-# pep8
-# http://pep8.readthedocs.io/en/latest/intro.html#configuration
-# -----------------------------------------------------------------------------
-[pep8]
-exclude = */tests/*
-ignore = E126
-max-line-length = 79
-
-# -----------------------------------------------------------------------------
-# pydocstyle
-# http://www.pydocstyle.org/en/latest/usage.html#example
-# -----------------------------------------------------------------------------
-[pydocstyle]
-add-ignore = D203
-inherit = false
-
-# -----------------------------------------------------------------------------
-# Flake 8
-# http://flake8.readthedocs.io/en/latest/config.html
-# -----------------------------------------------------------------------------
-[flake8]
-exclude = */tests/*
-ignore = E126,F401
-max-line-length = 79
-max-complexity = 64
-
-# -----------------------------------------------------------------------------
-# pylint
-# https://pylint.readthedocs.io/en/latest/
-# -----------------------------------------------------------------------------
-[pylint:messages]
-disable=unused-import
-
-# -----------------------------------------------------------------------------
-# isort
-# https://github.com/timothycrosley/isort/wiki/isort-Settings
-# -----------------------------------------------------------------------------
-[isort]
-from_first = true
-import_heading_stdlib = Standard library imports
-import_heading_firstparty = Local imports
-import_heading_thirdparty = Third party imports
-indent = '    '
-known_first_party = qtpy
-known_third_party = PySide, PyQt4, PyQt5
-line_length = 79
-sections = FUTURE,STDLIB,THIRDPARTY,FIRSTPARTY,LOCALFOLDER
-
-# -----------------------------------------------------------------------------
-# yapf
-# https://github.com/google/yapf#formatting-style
-# -----------------------------------------------------------------------------
-[yapf:style]
-based_on_style = pep8
-column_limit = 79
-spaces_before_comment = 2
-
-# -----------------------------------------------------------------------------
-# autopep8
-# http://pep8.readthedocs.io/en/latest/intro.html#configuration
-# -----------------------------------------------------------------------------
-[autopep8]
-exclude = */tests/*
-ignore = E126,
-max-line-length = 79
-
-# -----------------------------------------------------------------------------
-# Coverage
-# http://coverage.readthedocs.io/en/latest/config.html
-# -----------------------------------------------------------------------------
-[coverage:run]
-omit =
-    */tests/*
-    */build/*
-
-[coverage:report]
-fail_under = 0
-show_missing = true
-skip_covered = true
-exclude_lines =
-    pragma: no cover
-    def test():
-    if __name__ == .__main__.:
-
-# -----------------------------------------------------------------------------
-# pytest
-# http://doc.pytest.org/en/latest/usage.html
-# -----------------------------------------------------------------------------
-[pytest]
-addopts = -rfew --durations=10
-python_functions = test_*
\ No newline at end of file
diff --git a/.coveralls.yml b/.coveralls.yml
deleted file mode 100644
index eab06c4..0000000
--- a/.coveralls.yml
+++ /dev/null
@@ -1,3 +0,0 @@
-service_name: travis-ci
-parallel: true
-
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index 6def0a7..0000000
--- a/.gitignore
+++ /dev/null
@@ -1,36 +0,0 @@
-# Python compiled files
-*.py[ocd]
-
-# C extensions
-*.so
-
-# Kate
-.directory
-
-# PyPi configuration
-.pypirc
-
-# Packages
-*.egg
-*.egg-info
-dist
-build
-eggs
-parts
-bin
-var
-sdist
-develop-eggs
-.installed.cfg
-lib
-lib64
-
-# Translations
-*.mo
-
-# Gedit files
-*~
-
-# Other files
-toread.md
-.chache
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5dea58c..177aed0 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,69 @@
 # History of changes
 
+## Version 1.3.1 (2017-08-21)
+
+### Bugs fixed
+
+**Issues**
+
+* [Issue 129](https://github.com/spyder-ide/qtpy/issues/129) - Spurious cache files in PyPI tarball
+* [Issue 119](https://github.com/spyder-ide/qtpy/issues/119) - Importing qtpy should not raise exceptions
+
+In this release 2 issues were closed
+
+**Pull requests**
+
+* [PR 130](https://github.com/spyder-ide/qtpy/pull/130) - PR: No cache files included in the release tarball
+* [PR 126](https://github.com/spyder-ide/qtpy/pull/126) - PR: Remove Quantified Code badge because the service doesn't exist anymore
+* [PR 121](https://github.com/spyder-ide/qtpy/pull/121) - PR: Warn if QHeaderView deprecated methods are used
+
+In this release 3 pull requests were merged
+
+
+----
+
+
+## Version 1.3 (2017-08-12)
+
+### New features
+
+* Add support for PySide2
+* Add support for QtMultimedia
+* Add support for PyQt 4.6
+
+### Bugs fixed
+
+**Issues**
+
+* [Issue 124](https://github.com/spyder-ide/qtpy/issues/124) - Typo in readme title
+* [Issue 111](https://github.com/spyder-ide/qtpy/issues/111) - Update Readme for 1.3 release
+* [Issue 110](https://github.com/spyder-ide/qtpy/issues/110) - Add tests for untested modules
+* [Issue 101](https://github.com/spyder-ide/qtpy/issues/101) - Missing: QtOpenGL Module
+* [Issue 89](https://github.com/spyder-ide/qtpy/issues/89) - QDesktopServices split into QDesktopServices and QStandardPaths
+* [Issue 57](https://github.com/spyder-ide/qtpy/issues/57) - qInstallMessageHandler <-> qInstallMsgHandler
+* [Issue 15](https://github.com/spyder-ide/qtpy/issues/15) - Feature Request: PySide2 support
+
+In this release 7 issues were closed
+
+**Pull requests**
+
+* [PR 125](https://github.com/spyder-ide/qtpy/pull/125) - PR: Fix typo in Readme.
+* [PR 117](https://github.com/spyder-ide/qtpy/pull/117) - PR: Add compatibility for the rename of qInstallMsgHandler to qInstallMessageHandler
+* [PR 115](https://github.com/spyder-ide/qtpy/pull/115) - PR: Update Readme to reflect that we actually use the PySide2 layout
+* [PR 114](https://github.com/spyder-ide/qtpy/pull/114) - PR: Update Readme to mention that we now support PySide2.
+* [PR 113](https://github.com/spyder-ide/qtpy/pull/113) - PR: Add tests for Qtdesigner, QtNetwork, QtPrintSupport, QtSvg and QtTest.
+* [PR 112](https://github.com/spyder-ide/qtpy/pull/112) - PR: Follow QStandardPaths location in Qt5 for PyQt4/PySide
+* [PR 109](https://github.com/spyder-ide/qtpy/pull/109) - PR: Add a coveragerc file
+* [PR 106](https://github.com/spyder-ide/qtpy/pull/106) - PR: Add support for PyQt 4.6
+* [PR 102](https://github.com/spyder-ide/qtpy/pull/102) - PR: Add a new QtOpenGL module
+* [PR 84](https://github.com/spyder-ide/qtpy/pull/84) - PR: Add PySide2 support
+
+In this release 10 pull requests were merged
+
+
+----
+
+
 ## Version 1.2.1 (2017/01/21)
 
 ### Bugs fixed
diff --git a/MANIFEST.in b/MANIFEST.in
index 5d615b9..2019e33 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -2,4 +2,4 @@ include AUTHORS.md
 include CHANGELOG.md
 include LICENSE.txt
 include README.md
-recursive-include qtpy/tests *
+recursive-include qtpy/tests *.py *.ui
diff --git a/PKG-INFO b/PKG-INFO
new file mode 100644
index 0000000..3857aa9
--- /dev/null
+++ b/PKG-INFO
@@ -0,0 +1,62 @@
+Metadata-Version: 1.1
+Name: QtPy
+Version: 1.3.1
+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: Gonzalo Peña-Castellanos
+Author-email: goanpeca at gmail.com
+License: MIT
+Description: 
+        .. image:: https://img.shields.io/pypi/v/QtPy.svg
+           :target: https://pypi.python.org/pypi/QtPy/
+           :alt: Latest PyPI version
+        
+        .. image:: https://img.shields.io/pypi/dm/QtPy.svg
+           :target: https://pypi.python.org/pypi/QtPy/
+           :alt: Number of PyPI downloads
+        
+        QtPy: Abtraction layer for PyQt5/PyQt4/PySide
+        =============================================
+        
+        **QtPy** (pronounced *'cutie pie'*) is a small abstraction layer that lets you
+        write applications using a single api call to either PyQt or PySide.
+        
+        It provides support for PyQt5, PyQt4 and PySide using the PyQt5 layout (where
+        the QtGui module has been split into QtGui and QtWidgets).
+        
+        Basically, you write your code as if you were using PyQt5 but import qt from
+        ``qtpy`` instead of ``PyQt5``.
+        
+        - `Issue tracker`_
+        - `Changelog`_
+        
+        
+        Attribution and acknowledgements
+        --------------------------------
+        
+        This project is based on the `pyqode.qt`_ project and the `spyderlib.qt`_
+        module from the `spyder`_ project.
+        
+        Unlike **pyqode.qt** this is not a namespace package so it is not *tied*
+        to a particular project, or namespace.
+        
+        .. _spyder: https://github.com/spyder-ide/spyder
+        .. _spyderlib.qt: https://github.com/spyder-ide/spyder/tree/master/spyderlib/qt
+        .. _pyqode.qt: https://github.com/pyQode/pyqode.qt
+        .. _Changelog: https://github.com/spyder-ide/qtpy/blob/master/CHANGELOG.md
+        .. _Issue tracker: https://github.com/spyder-ide/qtpy/issues
+        
+Keywords: qt PyQt4 PyQt5 PySide
+Platform: UNKNOWN
+Classifier: Development Status :: 5 - Production/Stable
+Classifier: Environment :: X11 Applications :: Qt
+Classifier: Environment :: Win32 (MS Windows)
+Classifier: Intended Audience :: Developers
+Classifier: License :: OSI Approved :: MIT License
+Classifier: Operating System :: OS Independent
+Classifier: Programming Language :: Python :: 2
+Classifier: Programming Language :: Python :: 2.7
+Classifier: Programming Language :: Python :: 3
+Classifier: Programming Language :: Python :: 3.3
+Classifier: Programming Language :: Python :: 3.4
+Classifier: Programming Language :: Python :: 3.5
diff --git a/QtPy.egg-info/PKG-INFO b/QtPy.egg-info/PKG-INFO
new file mode 100644
index 0000000..3857aa9
--- /dev/null
+++ b/QtPy.egg-info/PKG-INFO
@@ -0,0 +1,62 @@
+Metadata-Version: 1.1
+Name: QtPy
+Version: 1.3.1
+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: Gonzalo Peña-Castellanos
+Author-email: goanpeca at gmail.com
+License: MIT
+Description: 
+        .. image:: https://img.shields.io/pypi/v/QtPy.svg
+           :target: https://pypi.python.org/pypi/QtPy/
+           :alt: Latest PyPI version
+        
+        .. image:: https://img.shields.io/pypi/dm/QtPy.svg
+           :target: https://pypi.python.org/pypi/QtPy/
+           :alt: Number of PyPI downloads
+        
+        QtPy: Abtraction layer for PyQt5/PyQt4/PySide
+        =============================================
+        
+        **QtPy** (pronounced *'cutie pie'*) is a small abstraction layer that lets you
+        write applications using a single api call to either PyQt or PySide.
+        
+        It provides support for PyQt5, PyQt4 and PySide using the PyQt5 layout (where
+        the QtGui module has been split into QtGui and QtWidgets).
+        
+        Basically, you write your code as if you were using PyQt5 but import qt from
+        ``qtpy`` instead of ``PyQt5``.
+        
+        - `Issue tracker`_
+        - `Changelog`_
+        
+        
+        Attribution and acknowledgements
+        --------------------------------
+        
+        This project is based on the `pyqode.qt`_ project and the `spyderlib.qt`_
+        module from the `spyder`_ project.
+        
+        Unlike **pyqode.qt** this is not a namespace package so it is not *tied*
+        to a particular project, or namespace.
+        
+        .. _spyder: https://github.com/spyder-ide/spyder
+        .. _spyderlib.qt: https://github.com/spyder-ide/spyder/tree/master/spyderlib/qt
+        .. _pyqode.qt: https://github.com/pyQode/pyqode.qt
+        .. _Changelog: https://github.com/spyder-ide/qtpy/blob/master/CHANGELOG.md
+        .. _Issue tracker: https://github.com/spyder-ide/qtpy/issues
+        
+Keywords: qt PyQt4 PyQt5 PySide
+Platform: UNKNOWN
+Classifier: Development Status :: 5 - Production/Stable
+Classifier: Environment :: X11 Applications :: Qt
+Classifier: Environment :: Win32 (MS Windows)
+Classifier: Intended Audience :: Developers
+Classifier: License :: OSI Approved :: MIT License
+Classifier: Operating System :: OS Independent
+Classifier: Programming Language :: Python :: 2
+Classifier: Programming Language :: Python :: 2.7
+Classifier: Programming Language :: Python :: 3
+Classifier: Programming Language :: Python :: 3.3
+Classifier: Programming Language :: Python :: 3.4
+Classifier: Programming Language :: Python :: 3.5
diff --git a/QtPy.egg-info/SOURCES.txt b/QtPy.egg-info/SOURCES.txt
new file mode 100644
index 0000000..04e469e
--- /dev/null
+++ b/QtPy.egg-info/SOURCES.txt
@@ -0,0 +1,47 @@
+AUTHORS.md
+CHANGELOG.md
+LICENSE.txt
+MANIFEST.in
+README.md
+setup.cfg
+setup.py
+QtPy.egg-info/PKG-INFO
+QtPy.egg-info/SOURCES.txt
+QtPy.egg-info/dependency_links.txt
+QtPy.egg-info/top_level.txt
+qtpy/QtCore.py
+qtpy/QtDesigner.py
+qtpy/QtGui.py
+qtpy/QtMultimedia.py
+qtpy/QtNetwork.py
+qtpy/QtOpenGL.py
+qtpy/QtPrintSupport.py
+qtpy/QtSvg.py
+qtpy/QtTest.py
+qtpy/QtWebEngineWidgets.py
+qtpy/QtWidgets.py
+qtpy/__init__.py
+qtpy/_version.py
+qtpy/compat.py
+qtpy/py3compat.py
+qtpy/uic.py
+qtpy/_patch/__init__.py
+qtpy/_patch/qcombobox.py
+qtpy/_patch/qheaderview.py
+qtpy/tests/__init__.py
+qtpy/tests/conftest.py
+qtpy/tests/runtests.py
+qtpy/tests/test.ui
+qtpy/tests/test_custom.ui
+qtpy/tests/test_main.py
+qtpy/tests/test_patch_qcombobox.py
+qtpy/tests/test_patch_qheaderview.py
+qtpy/tests/test_qdesktopservice_split.py
+qtpy/tests/test_qtcore.py
+qtpy/tests/test_qtdesigner.py
+qtpy/tests/test_qtmultimedia.py
+qtpy/tests/test_qtnetwork.py
+qtpy/tests/test_qtprintsupport.py
+qtpy/tests/test_qtsvg.py
+qtpy/tests/test_qttest.py
+qtpy/tests/test_uic.py
\ No newline at end of file
diff --git a/QtPy.egg-info/dependency_links.txt b/QtPy.egg-info/dependency_links.txt
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/QtPy.egg-info/dependency_links.txt
@@ -0,0 +1 @@
+
diff --git a/QtPy.egg-info/top_level.txt b/QtPy.egg-info/top_level.txt
new file mode 100644
index 0000000..086fa2e
--- /dev/null
+++ b/QtPy.egg-info/top_level.txt
@@ -0,0 +1 @@
+qtpy
diff --git a/README.md b/README.md
index 731d3b9..8f7aa7e 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-# QtPy: Abtraction layer for PyQt5/PyQt4/PySide
+# QtPy: Abstraction layer for PyQt5/PyQt4/PySide2/PySide
 
 Copyright © 2009- The Spyder Development Team.
 
@@ -11,7 +11,6 @@ Copyright © 2009- The Spyder Development Team.
 [![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)
-[![Code Issues](https://www.quantifiedcode.com/api/v1/project/c769241c7d7f4463b1e6f67863dabace/badge.svg)](https://www.quantifiedcode.com/app/project/c769241c7d7f4463b1e6f67863dabace)
 [![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)
 
 ## Description
@@ -19,11 +18,11 @@ Copyright © 2009- The Spyder Development Team.
 **QtPy** is a small abstraction layer that lets you
 write applications using a single API call to either PyQt or PySide.
 
-It provides support for PyQt5, PyQt4 and PySide using the PyQt5 layout (where
-the QtGui module has been split into QtGui and QtWidgets).
+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 PyQt5 but import Qt modules
-from `qtpy` instead of `PyQt5`.
+Basically, you write your code as if you were using PySide2 but import Qt modules
+from `qtpy` instead of `PySide2` (or `PyQt5`)
 
 
 ### Attribution and acknowledgements
@@ -46,7 +45,7 @@ This project is licensed under the MIT license.
 
 ### Requirements
 
-You need PyQt5, PyQt4 or PySide installed in your system to make use
+You need PyQt5, PyQt4, PySide2 or PySide installed in your system to make use
 of QtPy. If several of these packages are found, PyQt5 is used by
 default unless you set the `QT_API` environment variable.
 
@@ -54,6 +53,7 @@ default unless you set the `QT_API` environment variable.
 
 * `pyqt5` (to use PyQt5).
 * `pyqt` or `pyqt4` (to use PyQt4).
+* `pyside2` (to use PySide2)
 * `pyside` (to use PySide).
 
 
diff --git a/RELEASE.md b/RELEASE.md
deleted file mode 100644
index 0aa7e98..0000000
--- a/RELEASE.md
+++ /dev/null
@@ -1,23 +0,0 @@
-To release a new version of qtpy on PyPI:
-
-* git pull
-
-* Update CHANGELOG.md
-
-* Update `_version.py` (set release version, remove 'dev0')
-
-* git add and git commit
-
-* python setup.py sdist upload
-
-* python setup.py bdist_wheel upload
-
-* git tag -a vX.X.X -m 'comment'
-
-* Update `_version.py` (add 'dev0' and increment minor)
-
-* git add and git commit
-
-* git push
-
-* git push --tags
diff --git a/appveyor.yml b/appveyor.yml
deleted file mode 100644
index be164b7..0000000
--- a/appveyor.yml
+++ /dev/null
@@ -1,56 +0,0 @@
-# https://ci.appveyor.com/project/goanpeca/qtpy
-
-branches:
-  only:
-    - master
-
-environment:
-  global:
-      PYTHON: "C:\\conda"
-      CMD_IN_ENV: "cmd /E:ON /V:ON /C .\\ci-helpers\\appveyor\\windows_sdk.cmd"
-      PYTHON_ARCH: "64" # needs to be set for CMD_IN_ENV to succeed. If a mix
-                        # of 32 bit and 64 bit builds are needed, move this
-                        # to the matrix section.
-      # Used by atropy ci-helpers
-      CONDA_CHANNELS: "spyder-ide qttesting"
-
-  matrix:
-    # Qt4
-    - PYTHON_VERSION: "2.7"
-      CONDA_DEPENDENCIES: "pytest pytest-cov qt=4.* pyside"
-    - PYTHON_VERSION: "2.7"
-      CONDA_DEPENDENCIES: "pytest pytest-cov qt=4.* pyqt=4.*"
-    - PYTHON_VERSION: "3.4"
-      CONDA_DEPENDENCIES: "pytest pytest-cov qt=4.* pyqt=4.*"
-    - PYTHON_VERSION: "3.5"
-      CONDA_DEPENDENCIES: "pytest pytest-cov qt=4.* pyqt=4.*"
-    # Qt5
-    - PYTHON_VERSION: "2.7"
-      CONDA_DEPENDENCIES: "pytest pytest-cov qt=5.* pyqt=5.*"
-    - PYTHON_VERSION: "3.5"
-      CONDA_DEPENDENCIES: "pytest pytest-cov qt=5.* pyqt=5.*"
-
-platform:
-    -x64
-
-install:
-    # If there is a newer build queued for the same PR, cancel this one.
-    # The AppVeyor 'rollout builds' option is supposed to serve the same
-    # purpose but it is problematic because it tends to cancel builds pushed
-    # directly to master instead of just PR builds (or the converse).
-    # credits: JuliaLang developers.
-    - ps: if ($env:APPVEYOR_PULL_REQUEST_NUMBER -and $env:APPVEYOR_BUILD_NUMBER -ne ((Invoke-RestMethod `
-        https://ci.appveyor.com/api/projects/$env:APPVEYOR_ACCOUNT_NAME/$env:APPVEYOR_PROJECT_SLUG/history?recordsNumber=50).builds | `
-        Where-Object pullRequestId -eq $env:APPVEYOR_PULL_REQUEST_NUMBER)[0].buildNumber) { `
-          throw "There are newer queued builds for this pull request, failing early." }
-    - "git clone git://github.com/astropy/ci-helpers.git"
-    - "powershell ci-helpers/appveyor/install-miniconda.ps1"
-    - "SET PATH=%PYTHON%;%PYTHON%\\Scripts;%PATH%"
-    - "activate test"
-    - "python setup.py install"
-
-# Not a .NET project, we build in the install step instead
-build: false
-
-test_script:
-  - "%CMD_IN_ENV% python qtpy/tests/runtests.py"
diff --git a/circle.yml b/circle.yml
deleted file mode 100644
index 441f3f3..0000000
--- a/circle.yml
+++ /dev/null
@@ -1,46 +0,0 @@
-# https://circleci.com/gh/spyder-ide/qtpy/
-machine:
-  environment:
-    # Used by test scripts
-    TEST_CI: "True"
-    # Python versions to test (Maximum of 4 different versions for now)
-    PY_VERSIONS: "3.5 3.4 2.7"
-    # For Coveralls
-    COVERALLS_REPO_TOKEN: xh75EzxFFMoTEyNPo3wXxXv8OVkul3eE5
-    # Used by astropy-ci helpers
-    TRAVIS_OS_NAME: "linux"
-    PIP_DEPENDENCIES: "coveralls"
-
-dependencies:
-  override:
-    # First convert PY_VERSIONS to an array and then select the Python version
-    # based on the CIRCLE_NODE_INDEX
-    - PY_VERSIONS=($PY_VERSIONS) &&
-      TRAVIS_PYTHON_VERSION=${PY_VERSIONS[$CIRCLE_NODE_INDEX]} && 
-      echo -e "PYTHON = $TRAVIS_PYTHON_VERSION \n============" &&
-      git clone git://github.com/astropy/ci-helpers.git &&
-      source ci-helpers/travis/setup_conda_$TRAVIS_OS_NAME.sh &&
-      export PATH="$HOME/miniconda/bin:$PATH" &&
-      source activate test &&
-      conda install -q ciocheck -c spyder-ide &&
-      python setup.py develop;
-
-test:
-  override:
-    # Check style
-    - export PATH="$HOME/miniconda/bin:$PATH" && source activate test && ciocheck qtpy: # note the colon
-        parallel: true
-    # Check PyQt5
-    - export PATH="$HOME/miniconda/bin:$PATH" && source activate test && conda install -q qt=5.* pyqt=5.* && python qtpy/tests/runtests.py: # note the colon
-        parallel: true
-    # Check PySide2
-#    - export PATH="$HOME/miniconda/bin:$PATH" && source activate test && conda install -q qt=5.* pyside2 && python qtpy/tests/runtests.py: # note the colon
-#        parallel: true
-    # Check PyQt4
-    - export PATH="$HOME/miniconda/bin:$PATH" && source activate test && conda install -q qt=4.* pyqt=4.* && python qtpy/tests/runtests.py: # note the colon
-        parallel: true
-    - export PATH="$HOME/miniconda/bin:$PATH" && source activate test && coveralls: # note the colon
-        parallel: true
-    # Check Pyside
-    #- export PATH="$HOME/miniconda/bin:$PATH" && source activate test && conda remove -q qt pyqt && conda install -c conda-forge qt=4.* pyside && python qtpy/tests/runtests.py: # note the colon
-    #    parallel: true
diff --git a/conda.recipe/build.sh b/conda.recipe/build.sh
deleted file mode 100644
index 2981b57..0000000
--- a/conda.recipe/build.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-$PYTHON setup.py install --single-version-externally-managed --root=/
diff --git a/conda.recipe/meta.yaml b/conda.recipe/meta.yaml
deleted file mode 100644
index 0b25c5c..0000000
--- a/conda.recipe/meta.yaml
+++ /dev/null
@@ -1,28 +0,0 @@
-package:
-  name: qtpy
-  version: {{ GIT_DESCRIBE_TAG|replace('v', '') }}
-
-build:
-  noarch_python: True
-  number: {{ GIT_DESCRIBE_NUMBER|int }}
-
-source:
-  git_url: ../
-
-requirements:
-  build:
-    - python
-    - setuptools
-  run:
-    - python
-
-test:
-  imports:
-    - qtpy
-  requires:
-    - pyqt
-
-about:
-  home: https://github.com/spyder-ide/qtpy
-  license: MIT
-  summary: Provides an uniform layer to support PyQt4, PyQt5 and PySide with a single codebase
diff --git a/qtpy/QtCore.py b/qtpy/QtCore.py
index 6794cb4..c1d81e8 100644
--- a/qtpy/QtCore.py
+++ b/qtpy/QtCore.py
@@ -10,7 +10,7 @@
 Provides QtCore classes and functions.
 """
 
-from . import PYQT5, PYQT4, PYSIDE, PythonQtError
+from . import PYQT5, PYSIDE2, PYQT4, PYSIDE, PythonQtError
 
 
 if PYQT5:
@@ -22,6 +22,8 @@ if PYQT5:
 
     # Those are imported from `import *`
     del pyqtSignal, pyqtSlot, pyqtProperty, QT_VERSION_STR
+elif PYSIDE2:
+    from PySide2.QtCore import *
 elif PYQT4:
     from PyQt4.QtCore import *
     # Those are things we inherited from Spyder that fix crazy crashes under
@@ -35,14 +37,58 @@ elif PYQT4:
                              QItemSelectionRange, QSortFilterProxyModel,
                              QStringListModel)
     from PyQt4.QtCore import QT_VERSION_STR as __version__
+    from PyQt4.QtCore import qInstallMsgHandler as qInstallMessageHandler
+
+    # QDesktopServices has has been split into (QDesktopServices and
+    # QStandardPaths) in Qt5
+    # This creates a dummy class that emulates QStandardPaths
+    from PyQt4.QtGui import QDesktopServices as _QDesktopServices
+
+    class QStandardPaths():
+        StandardLocation = _QDesktopServices.StandardLocation
+        displayName = _QDesktopServices.displayName
+        DesktopLocation = _QDesktopServices.DesktopLocation
+        DocumentsLocation = _QDesktopServices.DocumentsLocation
+        FontsLocation = _QDesktopServices.FontsLocation
+        ApplicationsLocation = _QDesktopServices.ApplicationsLocation
+        MusicLocation = _QDesktopServices.MusicLocation
+        MoviesLocation = _QDesktopServices.MoviesLocation
+        PicturesLocation = _QDesktopServices.PicturesLocation
+        TempLocation = _QDesktopServices.TempLocation
+        HomeLocation = _QDesktopServices.HomeLocation
+        DataLocation = _QDesktopServices.DataLocation
+        CacheLocation = _QDesktopServices.CacheLocation
 
     # Those are imported from `import *`
-    del pyqtSignal, pyqtSlot, pyqtProperty, QT_VERSION_STR
+    del pyqtSignal, pyqtSlot, pyqtProperty, QT_VERSION_STR, qInstallMsgHandler
 elif PYSIDE:
     from PySide.QtCore import *
     from PySide.QtGui import (QItemSelection, QItemSelectionModel,
                               QItemSelectionRange, QSortFilterProxyModel,
                               QStringListModel)
+    from PySide.QtCore import qInstallMsgHandler as qInstallMessageHandler
+    del qInstallMsgHandler
+
+    # QDesktopServices has has been split into (QDesktopServices and
+    # QStandardPaths) in Qt5
+    # This creates a dummy class that emulates QStandardPaths
+    from PySide.QtGui import QDesktopServices as _QDesktopServices
+
+    class QStandardPaths():
+        StandardLocation = _QDesktopServices.StandardLocation
+        displayName = _QDesktopServices.displayName
+        DesktopLocation = _QDesktopServices.DesktopLocation
+        DocumentsLocation = _QDesktopServices.DocumentsLocation
+        FontsLocation = _QDesktopServices.FontsLocation
+        ApplicationsLocation = _QDesktopServices.ApplicationsLocation
+        MusicLocation = _QDesktopServices.MusicLocation
+        MoviesLocation = _QDesktopServices.MoviesLocation
+        PicturesLocation = _QDesktopServices.PicturesLocation
+        TempLocation = _QDesktopServices.TempLocation
+        HomeLocation = _QDesktopServices.HomeLocation
+        DataLocation = _QDesktopServices.DataLocation
+        CacheLocation = _QDesktopServices.CacheLocation
+
     import PySide.QtCore
     __version__ = PySide.QtCore.__version__
 else:
diff --git a/qtpy/QtGui.py b/qtpy/QtGui.py
index 99477c0..3dfaff0 100644
--- a/qtpy/QtGui.py
+++ b/qtpy/QtGui.py
@@ -13,36 +13,46 @@ Provides QtGui classes and functions.
     the ``PyQt5.QtGui`` module.
 """
 
-from . import PYQT5, PYQT4, PYSIDE, PythonQtError
+from . import PYQT5, PYQT4, PYSIDE, PYSIDE2, PythonQtError
 
 
 if PYQT5:
     from PyQt5.QtGui import *
+elif PYSIDE2:
+    from PySide2.QtGui import *
 elif PYQT4:
+    try:
+        # Older versions of PyQt4 do not provide these
+        from PyQt4.QtGui import (QGlyphRun, QMatrix2x2, QMatrix2x3,
+                                 QMatrix2x4, QMatrix3x2, QMatrix3x3,
+                                 QMatrix3x4, QMatrix4x2, QMatrix4x3,
+                                 QMatrix4x4, QTouchEvent, QQuaternion,
+                                 QRadialGradient, QRawFont, QStaticText,
+                                 QVector2D, QVector3D, QVector4D,
+                                 qFuzzyCompare)
+    except ImportError:
+        pass
     from PyQt4.Qt import QKeySequence, QTextCursor
     from PyQt4.QtGui import (QAbstractTextDocumentLayout, QActionEvent, QBitmap,
                              QBrush, QClipboard, QCloseEvent, QColor,
                              QConicalGradient, QContextMenuEvent, QCursor,
-                             QDesktopServices, QDoubleValidator, QDrag,
+                             QDoubleValidator, QDrag,
                              QDragEnterEvent, QDragLeaveEvent, QDragMoveEvent,
                              QDropEvent, QFileOpenEvent, QFocusEvent, QFont,
                              QFontDatabase, QFontInfo, QFontMetrics,
-                             QFontMetricsF, QGlyphRun, QGradient, QHelpEvent,
+                             QFontMetricsF, QGradient, QHelpEvent,
                              QHideEvent, QHoverEvent, QIcon, QIconDragEvent,
                              QIconEngine, QImage, QImageIOHandler, QImageReader,
                              QImageWriter, QInputEvent, QInputMethodEvent,
                              QKeyEvent, QLinearGradient,
-                             QMatrix2x2, QMatrix2x3, QMatrix2x4, QMatrix3x2,
-                             QMatrix3x3, QMatrix3x4, QMatrix4x2, QMatrix4x3,
-                             QMatrix4x4, QMouseEvent, QMoveEvent, QMovie,
+                             QMouseEvent, QMoveEvent, QMovie,
                              QPaintDevice, QPaintEngine, QPaintEngineState,
                              QPaintEvent, QPainter, QPainterPath,
                              QPainterPathStroker, QPalette, QPen, QPicture,
                              QPictureIO, QPixmap, QPixmapCache, QPolygon,
-                             QPolygonF, QQuaternion, QRadialGradient, QRawFont,
-                             QRegExpValidator, QRegion, QResizeEvent,
+                             QPolygonF, QRegExpValidator, QRegion, QResizeEvent,
                              QSessionManager, QShortcutEvent, QShowEvent,
-                             QStandardItem, QStandardItemModel, QStaticText,
+                             QStandardItem, QStandardItemModel,
                              QStatusTipEvent, QSyntaxHighlighter, QTabletEvent,
                              QTextBlock, QTextBlockFormat, QTextBlockGroup,
                              QTextBlockUserData, QTextCharFormat,
@@ -53,17 +63,28 @@ elif PYQT4:
                              QTextLength, QTextLine, QTextList, QTextListFormat,
                              QTextObject, QTextObjectInterface, QTextOption,
                              QTextTable, QTextTableCell, QTextTableCellFormat,
-                             QTextTableFormat, QTouchEvent, QTransform,
-                             QValidator, QVector2D, QVector3D, QVector4D,
-                             QWhatsThisClickedEvent, QWheelEvent,
+                             QTextTableFormat, QTransform,
+                             QValidator, QWhatsThisClickedEvent, QWheelEvent,
                              QWindowStateChangeEvent, qAlpha, qBlue,
-                             qFuzzyCompare, qGray, qGreen, qIsGray, qRed, qRgb,
+                             qGray, qGreen, qIsGray, qRed, qRgb,
                              qRgba, QIntValidator)
+
+    # QDesktopServices has has been split into (QDesktopServices and
+    # QStandardPaths) in Qt5
+    # It only exposes QDesktopServices that are still in pyqt5
+    from PyQt4.QtGui import QDesktopServices as _QDesktopServices
+
+    class QDesktopServices():
+         openUrl = _QDesktopServices.openUrl
+         setUrlHandler = _QDesktopServices.setUrlHandler
+         unsetUrlHandler = _QDesktopServices.unsetUrlHandler
+
+
 elif PYSIDE:
     from PySide.QtGui import (QAbstractTextDocumentLayout, QActionEvent, QBitmap,
                               QBrush, QClipboard, QCloseEvent, QColor,
                               QConicalGradient, QContextMenuEvent, QCursor,
-                              QDesktopServices, QDoubleValidator, QDrag,
+                              QDoubleValidator, QDrag,
                               QDragEnterEvent, QDragLeaveEvent, QDragMoveEvent,
                               QDropEvent, QFileOpenEvent, QFocusEvent, QFont,
                               QFontDatabase, QFontInfo, QFontMetrics,
@@ -99,5 +120,14 @@ elif PYSIDE:
                               QWindowStateChangeEvent, qAlpha, qBlue,
                               qGray, qGreen, qIsGray, qRed, qRgb, qRgba,
                               QIntValidator)
+    # QDesktopServices has has been split into (QDesktopServices and
+    # QStandardPaths) in Qt5
+    # It only exposes QDesktopServices that are still in pyqt5
+    from PySide.QtGui import QDesktopServices as _QDesktopServices
+
+    class QDesktopServices():
+         openUrl = _QDesktopServices.openUrl
+         setUrlHandler = _QDesktopServices.setUrlHandler
+         unsetUrlHandler = _QDesktopServices.unsetUrlHandler
 else:
     raise PythonQtError('No Qt bindings could be found')
diff --git a/qtpy/QtMultimedia.py b/qtpy/QtMultimedia.py
index 7ed307e..a20cc3b 100644
--- a/qtpy/QtMultimedia.py
+++ b/qtpy/QtMultimedia.py
@@ -1,10 +1,15 @@
 from . import PYQT5
 from . import PYQT4
 from . import PYSIDE
+from . import PYSIDE2
 
 
 if PYQT5:
     from PyQt5.QtMultimedia import *
+elif PYSIDE2:
+    # Current wheels don't have this module
+    # from PySide2.QtMultimedia import *
+    pass
 elif PYQT4:
     from PyQt4.QtMultimedia import *
     from PyQt4.QtGui import QSound
diff --git a/qtpy/QtNetwork.py b/qtpy/QtNetwork.py
index de4ff47..49faded 100644
--- a/qtpy/QtNetwork.py
+++ b/qtpy/QtNetwork.py
@@ -10,11 +10,13 @@
 Provides QtNetwork classes and functions.
 """
 
-from . import PYQT5, PYQT4, PYSIDE, PythonQtError
+from . import PYQT5, PYSIDE2, PYQT4, PYSIDE, PythonQtError
 
 
 if PYQT5:
     from PyQt5.QtNetwork import *
+elif PYSIDE2:
+    from PySide2.QtNetwork import *
 elif PYQT4:
     from PyQt4.QtNetwork import *
 elif PYSIDE:
diff --git a/qtpy/QtSvg.py b/qtpy/QtOpenGL.py
similarity index 77%
copy from qtpy/QtSvg.py
copy to qtpy/QtOpenGL.py
index 0bc7320..ef62171 100644
--- a/qtpy/QtSvg.py
+++ b/qtpy/QtOpenGL.py
@@ -5,17 +5,17 @@
 # Licensed under the terms of the MIT License
 # (see LICENSE.txt for details)
 # -----------------------------------------------------------------------------
-"""Provides QtSvg classes and functions."""
+"""Provides QtOpenGL classes and functions."""
 
 # Local imports
 from . import PYQT4, PYQT5, PYSIDE, PythonQtError
 
 if PYQT5:
-    from PyQt5.QtSvg import *
+    from PyQt5.QtOpenGL import *
 elif PYQT4:
-    from PyQt4.QtSvg import *
+    from PyQt4.QtOpenGL import *
 elif PYSIDE:
-    from PySide.QtSvg import *
+    from PySide.QtOpenGL import *
 else:
... 777 lines suppressed ...

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/python-qtpy.git



More information about the Python-modules-commits mailing list