From d119d2a13f26c088f3514440df4d9ef50911b764 Mon Sep 17 00:00:00 2001 From: kanbatsu Date: Wed, 17 Dec 2025 21:25:23 +0100 Subject: [PATCH 1/2] update for Nuke 16 --- .gitignore | 1 + nukeserversocket/console.py | 4 ++-- nukeserversocket/controllers/base.py | 2 +- .../controllers/houdini/scripts/python/app/main.py | 2 +- nukeserversocket/controllers/local.py | 2 +- nukeserversocket/controllers/nuke.py | 2 +- nukeserversocket/main.py | 4 ++-- nukeserversocket/server.py | 8 ++++---- nukeserversocket/settings_ui.py | 4 ++-- nukeserversocket/toolbar.py | 7 ++++--- pyproject.toml | 6 +++--- tests/test_editor_controller.py | 2 +- tests/test_main.py | 4 ++-- tests/test_nuke.py | 2 +- tests/test_server.py | 2 +- 15 files changed, 27 insertions(+), 25 deletions(-) diff --git a/.gitignore b/.gitignore index 27de4ab4..e4e47692 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ dist/ bin/ logs/ archive/ +.idea/ *tmp diff --git a/nukeserversocket/console.py b/nukeserversocket/console.py index 09fa6cba..bd25154e 100644 --- a/nukeserversocket/console.py +++ b/nukeserversocket/console.py @@ -4,8 +4,8 @@ import logging from typing import Optional -from PySide2.QtCore import Slot -from PySide2.QtWidgets import (QWidget, QCheckBox, QGroupBox, QHBoxLayout, +from PySide6.QtCore import Slot +from PySide6.QtWidgets import (QWidget, QCheckBox, QGroupBox, QHBoxLayout, QPushButton, QVBoxLayout, QPlainTextEdit) from .logger import get_logger diff --git a/nukeserversocket/controllers/base.py b/nukeserversocket/controllers/base.py index 0a70ce5a..e21bf380 100644 --- a/nukeserversocket/controllers/base.py +++ b/nukeserversocket/controllers/base.py @@ -5,7 +5,7 @@ from typing import List from datetime import datetime -from PySide2.QtWidgets import QTextEdit, QPlainTextEdit +from PySide6.QtWidgets import QTextEdit, QPlainTextEdit from ..logger import get_logger from ..settings import _NssSettings diff --git a/nukeserversocket/controllers/houdini/scripts/python/app/main.py b/nukeserversocket/controllers/houdini/scripts/python/app/main.py index c0006a98..c8f5dfdc 100644 --- a/nukeserversocket/controllers/houdini/scripts/python/app/main.py +++ b/nukeserversocket/controllers/houdini/scripts/python/app/main.py @@ -3,7 +3,7 @@ from typing import Optional -from PySide2.QtWidgets import QWidget +from PySide6.QtWidgets import QWidget from nukeserversocket.main import NukeServerSocket from nukeserversocket.utils import exec_code diff --git a/nukeserversocket/controllers/local.py b/nukeserversocket/controllers/local.py index f5949daa..608351c4 100644 --- a/nukeserversocket/controllers/local.py +++ b/nukeserversocket/controllers/local.py @@ -8,7 +8,7 @@ import sys import json -from PySide2.QtWidgets import (QLabel, QWidget, QTextEdit, QHBoxLayout, +from PySide6.QtWidgets import (QLabel, QWidget, QTextEdit, QHBoxLayout, QPushButton, QSizePolicy, QVBoxLayout, QApplication, QPlainTextEdit) diff --git a/nukeserversocket/controllers/nuke.py b/nukeserversocket/controllers/nuke.py index d7059943..82daa935 100644 --- a/nukeserversocket/controllers/nuke.py +++ b/nukeserversocket/controllers/nuke.py @@ -7,7 +7,7 @@ from typing import Optional from textwrap import dedent -from PySide2.QtWidgets import (QWidget, QSplitter, QTextEdit, QPushButton, +from PySide6.QtWidgets import (QWidget, QSplitter, QTextEdit, QPushButton, QApplication, QPlainTextEdit) from .base import EditorController diff --git a/nukeserversocket/main.py b/nukeserversocket/main.py index 3e74417f..788da734 100644 --- a/nukeserversocket/main.py +++ b/nukeserversocket/main.py @@ -4,8 +4,8 @@ import socket from typing import TYPE_CHECKING, Optional -from PySide2.QtCore import Qt, Slot, QTimer -from PySide2.QtWidgets import (QLabel, QWidget, QSpinBox, QFormLayout, +from PySide6.QtCore import Qt, Slot, QTimer +from PySide6.QtWidgets import (QLabel, QWidget, QSpinBox, QFormLayout, QMainWindow, QPushButton, QVBoxLayout) from .logger import ConsoleHandler, get_logger diff --git a/nukeserversocket/server.py b/nukeserversocket/server.py index 203abd48..53bb6bf0 100644 --- a/nukeserversocket/server.py +++ b/nukeserversocket/server.py @@ -2,9 +2,9 @@ from typing import TYPE_CHECKING, Union, Optional -from PySide2.QtCore import Slot, Signal -from PySide2.QtNetwork import QTcpServer, QTcpSocket, QHostAddress -from PySide2.QtWidgets import QWidget +from PySide6.QtCore import Slot, Signal +from PySide6.QtNetwork import QTcpServer, QTcpSocket, QHostAddress +from PySide6.QtWidgets import QWidget from .logger import get_logger from .received_data import ReceivedData @@ -65,7 +65,7 @@ def _on_new_connection(self) -> None: LOGGER.debug('Pending connection.') self._socket = self.nextPendingConnection() - self._socket.error.connect(lambda err: LOGGER.error('Socket error: %s', err)) + self._socket.errorOccurred.connect(lambda err: LOGGER.error('Socket error: %s', err)) LOGGER.debug('Socket connected.') self._socket.readyRead.connect(self._on_socket_ready) diff --git a/nukeserversocket/settings_ui.py b/nukeserversocket/settings_ui.py index 02672f7c..34bf4474 100644 --- a/nukeserversocket/settings_ui.py +++ b/nukeserversocket/settings_ui.py @@ -9,8 +9,8 @@ from typing import TYPE_CHECKING, Any, Optional from textwrap import dedent -from PySide2.QtCore import Slot -from PySide2.QtWidgets import (QWidget, QSpinBox, QCheckBox, QLineEdit, +from PySide6.QtCore import Slot +from PySide6.QtWidgets import (QWidget, QSpinBox, QCheckBox, QLineEdit, QFormLayout) if TYPE_CHECKING: diff --git a/nukeserversocket/toolbar.py b/nukeserversocket/toolbar.py index fd2f1ef7..d314a596 100644 --- a/nukeserversocket/toolbar.py +++ b/nukeserversocket/toolbar.py @@ -6,10 +6,11 @@ from typing import Dict, Optional from platform import python_version -from PySide2 import __version__ as PySide2_version -from PySide2.QtCore import Slot -from PySide2.QtWidgets import (QLabel, QAction, QDialog, QWidget, QToolBar, +from PySide6 import __version__ as PySide2_version +from PySide6.QtCore import Slot +from PySide6.QtWidgets import (QLabel, QDialog, QWidget, QToolBar, QFormLayout, QPushButton) +from PySide6.QtGui import (QAction) from .version import __version__ diff --git a/pyproject.toml b/pyproject.toml index 9748b1f6..0ce049a7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -27,7 +27,7 @@ omit = ["nukeserversocket/tests/*", "nukeserversocket/__init__.py"] [tool.pytest.ini_options] testpaths = "tests" -qt_api = "pyside2" +qt_api = "pyside6" markers = ["quick: mark test"] addopts = [ "--cov=nukeserversocket", @@ -37,8 +37,8 @@ addopts = [ ] [tool.poetry.dependencies] -python = ">=3.7.7,<3.11" -pyside2 = "5.15.2.1" +python = ">=3.9,<3.14" +pyside6 = "6.9.2" [tool.poetry.group.dev.dependencies] pytest = "^7.4.3" diff --git a/tests/test_editor_controller.py b/tests/test_editor_controller.py index fcb9df5a..cd9f8ae7 100644 --- a/tests/test_editor_controller.py +++ b/tests/test_editor_controller.py @@ -6,7 +6,7 @@ import pytest from pytestqt.qtbot import QtBot -from PySide2.QtWidgets import QTextEdit, QPlainTextEdit +from PySide6.QtWidgets import QTextEdit, QPlainTextEdit from nukeserversocket.settings import _NssSettings from nukeserversocket.received_data import ReceivedData diff --git a/tests/test_main.py b/tests/test_main.py index 8dcc2eeb..a113318a 100644 --- a/tests/test_main.py +++ b/tests/test_main.py @@ -3,9 +3,9 @@ from typing import Optional import pytest -from PySide2.QtCore import Signal, QObject +from PySide6.QtCore import Signal, QObject from pytestqt.qtbot import QtBot -from PySide2.QtWidgets import QWidget, QTextEdit, QPlainTextEdit +from PySide6.QtWidgets import QWidget, QTextEdit, QPlainTextEdit from nukeserversocket.main import MainView, MainModel, MainController from nukeserversocket.server import NssServer diff --git a/tests/test_nuke.py b/tests/test_nuke.py index e1634707..2cfb0c80 100644 --- a/tests/test_nuke.py +++ b/tests/test_nuke.py @@ -5,7 +5,7 @@ import pytest from pytestqt.qtbot import QtBot -from PySide2.QtWidgets import QTextEdit, QPushButton, QPlainTextEdit +from PySide6.QtWidgets import QTextEdit, QPushButton, QPlainTextEdit from nukeserversocket.settings import _NssSettings from nukeserversocket.received_data import ReceivedData diff --git a/tests/test_server.py b/tests/test_server.py index ba98e527..cc1e54bb 100644 --- a/tests/test_server.py +++ b/tests/test_server.py @@ -6,7 +6,7 @@ import pytest from pytestqt.qtbot import QtBot -from PySide2.QtWidgets import QTextEdit, QPlainTextEdit +from PySide6.QtWidgets import QTextEdit, QPlainTextEdit from nukeserversocket.utils import exec_code from nukeserversocket.server import NssServer From 5539c569bf7d8a69dc87059d4dfa25f4a8299a6b Mon Sep 17 00:00:00 2001 From: kanbatsu Date: Sat, 20 Dec 2025 21:57:31 +0100 Subject: [PATCH 2/2] update github actions --- .github/workflows/github_tests_actions.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/github_tests_actions.yml b/.github/workflows/github_tests_actions.yml index 3ddb7bee..4114246f 100644 --- a/.github/workflows/github_tests_actions.yml +++ b/.github/workflows/github_tests_actions.yml @@ -17,8 +17,8 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [macos-13, windows-latest] - python-version: ["3.7", "3.9", "3.10"] + os: [macos-15, windows-latest] + python-version: ["3.13"] fail-fast: true steps: - name: Checkout repository @@ -38,7 +38,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.7", "3.9", "3.10"] + python-version: ["3.13"] fail-fast: true steps: - name: Checkout repository