Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Require Python>=3.8 and PyQt5/PySide5>=5.14 #2334

Merged
merged 8 commits into from
Oct 14, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 23 additions & 34 deletions .github/workflows/ci_workflows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,34 +36,26 @@ jobs:
# Standard tests
# Linux builds - test on all supported PyQt5 and PySide2 versions,
# and include all dependencies in some builds
- linux: py37-test-pyqt510
- linux: py37-test-pyqt511-all
- linux: py37-test-pyqt512
- linux: py37-test-pyqt513-all
- linux: py37-test-pyside513-all
- linux: py38-test-pyqt514-all
- linux: py38-test-pyside514
- linux: py39-test-pyqt515
- linux: py39-test-pyside515

# Try out documentation build on Linux and macOS
- linux: py37-docs-pyqt513
# Documentation build
- linux: py38-docs-pyqt514
coverage: false

# Test a few configurations on MacOS X (Big Sur/Monterey on arm64 for py310)
- macos: py37-test-pyqt513
- macos: py38-test-pyqt514
PLAT: arm64

# Try out documentation build on macOS
- macos: py37-docs-pyqt513
- macos: py39-docs-pyqt515
coverage: false

# Test a few configurations on MacOS X
- macos: py38-test-pyqt514-all
- macos: py310-test-pyqt515

# Test some configurations on Windows
- windows: py37-test-pyqt510
- windows: py310-test-pyqt515
- windows: py38-test-pyqt514

# Try out documentation build on Windows
- windows: py38-docs-pyqt513
coverage: false
# Test against latest developer versions of some packages
- linux: py310-test-pyqt515-dev-all

allowed_failures:
needs: initial_checks
Expand All @@ -82,26 +74,23 @@ jobs:
envs: |
# Some (PySide2 in particular) envs are failing with runtime errors;
# PyQt6 and PySide6 support in progress
- linux: py38-test-pyside514
- linux: py310-test-pyqt63-all
- linux: py310-test-pyside63
- linux: py310-test-pyside515-all
- linux: py310-test-pyqt513-lts
- linux: py310-test-pyqt515-lts

# Test against latest developer versions of some packages
- linux: py310-test-pyqt515-dev-all
- linux: py310-test-pyqt63-all
- linux: py310-test-pyside64
- linux: py310-test-pyqt64-all

- macos: py38-test-pyside514
- macos: py310-test-pyqt515-all
- macos: py310-test-pyqt63
- macos: py310-test-pyside63
- macos: py310-test-pyqt64

- windows: py38-test-pyqt514-all
- windows: py39-test-pyside515-all
- windows: py310-test-pyqt63
- windows: py310-test-pyside63
- windows: py310-test-pyside64

# Windows docs build
- windows: py310-docs-pyqt515
coverage: false

# Failure in test_close_tab
- windows: py310-test-pyqt515-all

publish:
needs: tests
Expand Down
2 changes: 1 addition & 1 deletion .readthedocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build:
image: latest

python:
version: 3.7
version: 3.8
install:
- method: pip
path: .
Expand Down
4 changes: 2 additions & 2 deletions doc/installation/dependencies.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@ Full list of dependencies

Glue has the following required dependencies:

* Python 3.6 or later
* Python 3.8 or later
* `Numpy <https://www.numpy.org>`_ 1.16 or later
* `Matplotlib <https://matplotlib.org/>`_ 3.2 or later
* `SciPy <https://www.scipy.org>`_ 1.0 or later
* `Pandas <https://pandas.pydata.org/>`_ 1.0 or later
* `Astropy <https://www.astropy.org>`_ 4.0 or higher
* `setuptools <https://setuptools.readthedocs.io>`_ 30.3 or later
* Either `PyQt5 <https://www.riverbankcomputing.com/software/pyqt/intro>`__ or
`PySide2 <https://wiki.qt.io/PySide2>`__
`PySide2 <https://wiki.qt.io/PySide2>`__ 5.14 or later
* `QtPy <https://pypi.org/project/QtPy/>`__ 1.9 or later - this is an
abstraction layer for the Python Qt packages
* `IPython <https://ipython.org>`_ 4.0 or later
Expand Down
2 changes: 1 addition & 1 deletion glue/utils/qt/python_list_model.py
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ def pop(self, row=None):
Which row to remove. Default=last

Returns
--------
-------
popped : object
"""
if row is None:
Expand Down
4 changes: 2 additions & 2 deletions glue/viewers/scatter/layer_artist.py
Original file line number Diff line number Diff line change
Expand Up @@ -315,13 +315,13 @@ def _update_data(self):

if self.state.xerr_visible and self.state.xerr_att is not None:
xerr = ensure_numerical(self.layer[self.state.xerr_att].ravel()).copy()
keep &= ~np.isnan(xerr)
keep &= ~np.isnan(xerr) & (xerr >= 0.)
else:
xerr = None

if self.state.yerr_visible and self.state.yerr_att is not None:
yerr = ensure_numerical(self.layer[self.state.yerr_att].ravel()).copy()
keep &= ~np.isnan(yerr)
keep &= ~np.isnan(yerr) & (yerr >= 0.)
else:
yerr = None

Expand Down
4 changes: 2 additions & 2 deletions setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ long_description = file: README.rst
[options]
zip_safe = False
packages = find:
python_requires = >=3.7
python_requires = >=3.8
setup_requires = setuptools_scm
install_requires =
numpy>=1.17
Expand Down Expand Up @@ -91,7 +91,7 @@ astronomy =
recommended =
scikit-image
qt =
PyQt5>=5.9
PyQt5>=5.14
test =
pytest
pytest-cov
Expand Down
12 changes: 3 additions & 9 deletions tox.ini
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[tox]
envlist =
py{37,38,39,310}-{codestyle,test,docs}-{pyqt59,pyqt510,pyqt511,pyqt512,pyqt513,pyside511,pyside512,pyside513,pyside514,pyside515,pyqt63,pyside63}-all-{dev,legacy}
py{38,39,310}-{codestyle,test,docs}-{pyqt514,pyqt515,pyside514,pyside515,pyqt63,pyside63}-all-{dev,legacy}
Copy link
Collaborator

@dhomeier dhomeier Oct 14, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where is envlist used anyway? pyqt64 is missing here, but that does not seem to break anything.
Is it for running a blanket tox "run everything" without any arguments?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes it's just for the 'run everything' which I never use anyway. But I can add the missing one.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually since not critical I will add it in my PyQt6 PR

requires = pip >= 18.0
setuptools >= 30.3.0

Expand All @@ -21,20 +21,14 @@ changedir =
test: .tmp/{envname}
docs: doc
deps =
pyqt59: PyQt5==5.9.*
pyqt510: PyQt5==5.10.*
pyqt511: PyQt5==5.11.*
pyqt512: PyQt5==5.12.*
pyqt513: PyQt5==5.13.*
pyqt514: PyQt5==5.14.*
pyqt515: PyQt5==5.15.*
pyqt63: PyQt6==6.3.*
pyside511: PySide2==5.11.*
pyside512: PySide2==5.12.*
pyside513: PySide2==5.13.*
pyqt64: PyQt6==6.4.*
pyside514: PySide2==5.14.*
pyside515: PySide2==5.15.*
pyside63: PySide6==6.3.*
pyside64: PySide6==6.4.*
dev: git+https://github.com/numpy/numpy
dev: git+https://github.com/astropy/astropy
lts: astropy==5.0.*
Expand Down