diff --git a/.github/workflows/ci_workflows.yml b/.github/workflows/ci_workflows.yml
index 598b168f..b8010557 100644
--- a/.github/workflows/ci_workflows.yml
+++ b/.github/workflows/ci_workflows.yml
@@ -20,20 +20,20 @@ jobs:
- linux: codestyle
# Standard tests
- - linux: py37-test
- linux: py38-test
- linux: py39-test
- linux: py310-test
+ - linux: py311-test
- - macos: py37-test
- macos: py38-test
- macos: py39-test
- macos: py310-test
+ - macos: py311-test
- - windows: py37-test
- windows: py38-test
- windows: py39-test
- windows: py310-test
+ - windows: py311-test
publish:
uses: OpenAstronomy/github-actions-workflows/.github/workflows/publish_pure_python.yml@v1
diff --git a/glue_wwt/viewer/image_style_editor.py b/glue_wwt/viewer/image_style_editor.py
index bc622d63..e20c66f9 100644
--- a/glue_wwt/viewer/image_style_editor.py
+++ b/glue_wwt/viewer/image_style_editor.py
@@ -5,7 +5,7 @@
from qtpy import QtWidgets
from echo.qt import autoconnect_callbacks_to_qt
-from glue.utils.qt import load_ui
+from glue_qt.utils import load_ui
class WWTImageStyleEditor(QtWidgets.QWidget):
diff --git a/glue_wwt/viewer/options_widget.py b/glue_wwt/viewer/options_widget.py
index 9efd0fad..1ba1758e 100644
--- a/glue_wwt/viewer/options_widget.py
+++ b/glue_wwt/viewer/options_widget.py
@@ -3,7 +3,7 @@
import os
from qtpy import QtWidgets
-from glue.utils.qt import load_ui
+from glue_qt.utils import load_ui
from echo.qt import autoconnect_callbacks_to_qt
from .viewer_state import MODES_BODIES
diff --git a/glue_wwt/viewer/options_widget.ui b/glue_wwt/viewer/options_widget.ui
index 8ad9fe59..3c9ea941 100644
--- a/glue_wwt/viewer/options_widget.ui
+++ b/glue_wwt/viewer/options_widget.ui
@@ -554,7 +554,7 @@
QColorBox
QLabel
-
+
diff --git a/glue_wwt/viewer/qt_data_viewer.py b/glue_wwt/viewer/qt_data_viewer.py
index 76c4d451..fcb96578 100644
--- a/glue_wwt/viewer/qt_data_viewer.py
+++ b/glue_wwt/viewer/qt_data_viewer.py
@@ -1,6 +1,6 @@
from __future__ import absolute_import, division, print_function
-from glue.viewers.common.qt.data_viewer import DataViewer
+from glue_qt.viewers.common.data_viewer import DataViewer
from .data_viewer import WWTDataViewerBase
from .image_layer import WWTImageLayerArtist
diff --git a/glue_wwt/viewer/table_style_editor.py b/glue_wwt/viewer/table_style_editor.py
index 05df24d8..1ce3ae41 100644
--- a/glue_wwt/viewer/table_style_editor.py
+++ b/glue_wwt/viewer/table_style_editor.py
@@ -5,7 +5,7 @@
from qtpy import QtWidgets
from echo.qt import autoconnect_callbacks_to_qt
-from glue.utils.qt import load_ui, fix_tab_widget_fontsize
+from glue_qt.utils import load_ui, fix_tab_widget_fontsize
class WWTTableStyleEditor(QtWidgets.QWidget):
diff --git a/glue_wwt/viewer/table_style_editor.ui b/glue_wwt/viewer/table_style_editor.ui
index 4f063ee4..904825f3 100644
--- a/glue_wwt/viewer/table_style_editor.ui
+++ b/glue_wwt/viewer/table_style_editor.ui
@@ -416,12 +416,12 @@
QColorBox
QLabel
-
+
QColormapCombo
QComboBox
-
+
diff --git a/glue_wwt/viewer/tests/data/wwt_simple.glu b/glue_wwt/viewer/tests/data/wwt_simple.glu
index 58b352df..db29a328 100644
--- a/glue_wwt/viewer/tests/data/wwt_simple.glu
+++ b/glue_wwt/viewer/tests/data/wwt_simple.glu
@@ -241,24 +241,24 @@
"label": "World 0"
},
"__main__": {
- "_type": "glue.app.qt.application.GlueApplication",
+ "_type": "glue_qt.app.application.GlueApplication",
"data": "DataCollection",
"plugins": [
"glue_wwt",
- "glue.plugins.dendro_viewer.qt",
+ "glue_qt.plugins.dendro_viewer",
"glue_exp.tools.zoom_buttons",
"mosviz",
"glue.plugins.export_d3po",
"glue_exp.importers.webcam",
"glue_ginga",
"glue_vispy_viewers.scatter",
- "glue.viewers.histogram.qt",
+ "glue_qt.viewers.histogram",
"glue.core.data_exporters",
"glue_h5part",
"glue.plugins.tools",
"glue.plugins.tools.pv_slicer",
- "glue.viewers.scatter.qt",
- "glue.viewers.table.qt",
+ "glue_qt.viewers.scatter",
+ "glue_qt.viewers.table",
"glue_dataverse",
"glue_openspace",
"glue.plugins.coordinate_helpers",
@@ -269,8 +269,8 @@
"glue_plotly",
"glue_exp.tools.contour_selection",
"glue_noaodatalab",
- "glue.viewers.image.qt",
- "glue.viewers.profile.qt",
+ "glue_qt.viewers.image",
+ "glue_qt.viewers.profile",
"glue_medical",
"glue.io.formats.fits",
"glue_vispy_viewers.volume"
diff --git a/glue_wwt/viewer/tests/test_wwt_widget.py b/glue_wwt/viewer/tests/test_wwt_widget.py
index 77f3afcc..3464b9cc 100644
--- a/glue_wwt/viewer/tests/test_wwt_widget.py
+++ b/glue_wwt/viewer/tests/test_wwt_widget.py
@@ -9,9 +9,9 @@
from qtpy import compat
-from glue.app.qt import GlueApplication
from glue.core import Data, message
from glue.core.tests.test_state import clone
+from glue_qt.app import GlueApplication
from ..qt_data_viewer import WWTQtViewer
diff --git a/glue_wwt/viewer/tools.py b/glue_wwt/viewer/tools.py
index c69b6584..8293e2f0 100644
--- a/glue_wwt/viewer/tools.py
+++ b/glue_wwt/viewer/tools.py
@@ -5,8 +5,8 @@
from qtpy import compat
from glue.viewers.common.tool import Tool
-from glue.utils.qt import get_qapp
from glue.config import viewer_tool
+from glue_qt.utils import get_qapp
@viewer_tool
diff --git a/setup.cfg b/setup.cfg
index 7fff702c..b3d82382 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -10,14 +10,13 @@ long_description = file: README.rst
[options]
zip_safe = False
-python_requires = >=3.7
+python_requires = >=3.8
packages = find:
setup_requires = setuptools_scm
install_requires =
numpy
glue-core>=1.0
echo
- qtpy
astropy
pywwt>=0.21.0
@@ -35,5 +34,7 @@ test =
pytest-cov
mock
qt =
+ qtpy
+ glue-qt
PyQt5;python_version>="3"
PyQtWebEngine;python_version>="3"