summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Bruhin <me@the-compiler.org>2021-01-12 13:15:41 +0100
committerFlorian Bruhin <me@the-compiler.org>2021-01-13 20:26:57 +0100
commit14373db9c7f7bee0a7e0039da7bd6c039301031b (patch)
tree94543fb5dfc50ca662674d93ecaeba7be531d290
parent4d859c0d2cf914fde8f943bb051d96cdb18ed64d (diff)
downloadqutebrowser-14373db9c7f7bee0a7e0039da7bd6c039301031b.tar.gz
qutebrowser-14373db9c7f7bee0a7e0039da7bd6c039301031b.zip
dataclasses: Adjust import order
See #6023
-rw-r--r--qutebrowser/browser/browsertab.py2
-rw-r--r--qutebrowser/browser/greasemonkey.py2
-rw-r--r--qutebrowser/browser/hints.py2
-rw-r--r--qutebrowser/browser/qtnetworkdownloads.py2
-rw-r--r--qutebrowser/browser/webkit/network/networkmanager.py2
-rw-r--r--qutebrowser/commands/command.py2
-rw-r--r--qutebrowser/commands/runners.py2
-rw-r--r--qutebrowser/config/configdata.py2
-rw-r--r--qutebrowser/config/configexc.py2
-rw-r--r--qutebrowser/config/configtypes.py2
-rw-r--r--qutebrowser/config/websettings.py2
-rw-r--r--qutebrowser/extensions/interceptors.py3
-rw-r--r--qutebrowser/extensions/loader.py3
-rw-r--r--qutebrowser/keyinput/basekeyparser.py2
-rw-r--r--qutebrowser/keyinput/keyutils.py2
-rw-r--r--qutebrowser/keyinput/modeman.py2
-rw-r--r--qutebrowser/mainwindow/prompt.py2
-rw-r--r--qutebrowser/mainwindow/statusbar/bar.py1
-rw-r--r--qutebrowser/mainwindow/tabbedbrowser.py2
-rw-r--r--qutebrowser/mainwindow/tabwidget.py2
-rw-r--r--qutebrowser/mainwindow/windowundo.py2
-rw-r--r--qutebrowser/misc/backendproblem.py2
-rw-r--r--qutebrowser/misc/crashsignal.py2
-rw-r--r--qutebrowser/misc/throttle.py2
-rw-r--r--qutebrowser/utils/usertypes.py2
-rw-r--r--qutebrowser/utils/version.py2
-rw-r--r--scripts/dev/check_coverage.py3
-rw-r--r--scripts/dev/get_coredumpctl_traces.py1
-rw-r--r--tests/end2end/fixtures/testprocess.py2
-rw-r--r--tests/end2end/fixtures/webserver.py2
-rw-r--r--tests/helpers/fixtures.py2
-rw-r--r--tests/helpers/messagemock.py2
-rw-r--r--tests/unit/browser/test_signalfilter.py2
-rw-r--r--tests/unit/browser/webkit/test_webkitelem.py2
-rw-r--r--tests/unit/config/test_configtypes.py2
-rw-r--r--tests/unit/keyinput/key_data.py1
-rw-r--r--tests/unit/misc/userscripts/test_qute_lastpass.py2
-rw-r--r--tests/unit/utils/test_javascript.py3
-rw-r--r--tests/unit/utils/test_log.py2
-rw-r--r--tests/unit/utils/test_qtutils.py2
-rw-r--r--tests/unit/utils/test_urlutils.py2
-rw-r--r--tests/unit/utils/test_version.py2
42 files changed, 41 insertions, 44 deletions
diff --git a/qutebrowser/browser/browsertab.py b/qutebrowser/browser/browsertab.py
index b6774e38b..b78faacd2 100644
--- a/qutebrowser/browser/browsertab.py
+++ b/qutebrowser/browser/browsertab.py
@@ -22,10 +22,10 @@
import enum
import itertools
import functools
+import dataclasses
from typing import (cast, TYPE_CHECKING, Any, Callable, Iterable, List, Optional,
Sequence, Set, Type, Union)
-import dataclasses
from PyQt5.QtCore import (pyqtSignal, pyqtSlot, QUrl, QObject, QSizeF, Qt,
QEvent, QPoint)
from PyQt5.QtGui import QKeyEvent, QIcon
diff --git a/qutebrowser/browser/greasemonkey.py b/qutebrowser/browser/greasemonkey.py
index a8fdd47ed..6e66f9cbc 100644
--- a/qutebrowser/browser/greasemonkey.py
+++ b/qutebrowser/browser/greasemonkey.py
@@ -26,9 +26,9 @@ import fnmatch
import functools
import glob
import textwrap
+import dataclasses
from typing import cast, List, Sequence
-import dataclasses
from PyQt5.QtCore import pyqtSignal, QObject, QUrl
from qutebrowser.utils import (log, standarddir, jinja, objreg, utils,
diff --git a/qutebrowser/browser/hints.py b/qutebrowser/browser/hints.py
index 5a22ad61f..e36d73321 100644
--- a/qutebrowser/browser/hints.py
+++ b/qutebrowser/browser/hints.py
@@ -25,11 +25,11 @@ import os
import re
import html
import enum
+import dataclasses
from string import ascii_lowercase
from typing import (TYPE_CHECKING, Callable, Dict, Iterable, Iterator, List, Mapping,
MutableSequence, Optional, Sequence, Set)
-import dataclasses
from PyQt5.QtCore import pyqtSignal, pyqtSlot, QObject, Qt, QUrl
from PyQt5.QtWidgets import QLabel
diff --git a/qutebrowser/browser/qtnetworkdownloads.py b/qutebrowser/browser/qtnetworkdownloads.py
index cad575a6e..f2dd01372 100644
--- a/qutebrowser/browser/qtnetworkdownloads.py
+++ b/qutebrowser/browser/qtnetworkdownloads.py
@@ -23,8 +23,8 @@ import io
import os.path
import shutil
import functools
-from typing import Dict, IO, Optional
import dataclasses
+from typing import Dict, IO, Optional
from PyQt5.QtCore import pyqtSlot, pyqtSignal, QTimer, QUrl
from PyQt5.QtWidgets import QApplication
diff --git a/qutebrowser/browser/webkit/network/networkmanager.py b/qutebrowser/browser/webkit/network/networkmanager.py
index 9eac7fea3..40b700c71 100644
--- a/qutebrowser/browser/webkit/network/networkmanager.py
+++ b/qutebrowser/browser/webkit/network/networkmanager.py
@@ -21,9 +21,9 @@
import collections
import html
+import dataclasses
from typing import TYPE_CHECKING, Dict, MutableMapping, Optional, Sequence
-import dataclasses
from PyQt5.QtCore import pyqtSlot, pyqtSignal, QUrl, QByteArray
from PyQt5.QtNetwork import (QNetworkAccessManager, QNetworkReply, QSslSocket,
QSslError, QNetworkProxy)
diff --git a/qutebrowser/commands/command.py b/qutebrowser/commands/command.py
index d8d08e50b..36dc73d5d 100644
--- a/qutebrowser/commands/command.py
+++ b/qutebrowser/commands/command.py
@@ -23,8 +23,8 @@ import inspect
import collections
import traceback
import typing
-from typing import Any, MutableMapping, MutableSequence, Tuple, Union, List, Optional
import dataclasses
+from typing import Any, MutableMapping, MutableSequence, Tuple, Union, List, Optional
from qutebrowser.api import cmdutils
from qutebrowser.commands import cmdexc, argparser
diff --git a/qutebrowser/commands/runners.py b/qutebrowser/commands/runners.py
index 4913f9e3e..b4994ffec 100644
--- a/qutebrowser/commands/runners.py
+++ b/qutebrowser/commands/runners.py
@@ -22,9 +22,9 @@
import traceback
import re
import contextlib
+import dataclasses
from typing import (TYPE_CHECKING, Callable, Dict, Iterator, Mapping, MutableMapping,
List, Optional)
-import dataclasses
from PyQt5.QtCore import pyqtSlot, QUrl, QObject
diff --git a/qutebrowser/config/configdata.py b/qutebrowser/config/configdata.py
index f10ebcd30..bb7ac2c5b 100644
--- a/qutebrowser/config/configdata.py
+++ b/qutebrowser/config/configdata.py
@@ -27,8 +27,8 @@ DATA: A dict of Option objects after init() has been called.
from typing import (Any, Dict, Iterable, List, Mapping, MutableMapping, Optional,
Sequence, Tuple, Union, cast)
import functools
-
import dataclasses
+
from qutebrowser.config import configtypes
from qutebrowser.utils import usertypes, qtutils, utils
from qutebrowser.misc import debugcachestats
diff --git a/qutebrowser/config/configexc.py b/qutebrowser/config/configexc.py
index c155510bd..5bf7cafb3 100644
--- a/qutebrowser/config/configexc.py
+++ b/qutebrowser/config/configexc.py
@@ -19,9 +19,9 @@
"""Exceptions related to config parsing."""
+import dataclasses
from typing import Any, Mapping, Optional, Sequence, Union
-import dataclasses
from qutebrowser.utils import usertypes, log
diff --git a/qutebrowser/config/configtypes.py b/qutebrowser/config/configtypes.py
index cc3410648..3e25fdfd0 100644
--- a/qutebrowser/config/configtypes.py
+++ b/qutebrowser/config/configtypes.py
@@ -50,10 +50,10 @@ import itertools
import functools
import operator
import json
+import dataclasses
from typing import (Any, Callable, Dict as DictType, Iterable, Iterator,
List as ListType, Optional, Pattern, Sequence, Tuple, Union)
-import dataclasses
import yaml
from PyQt5.QtCore import QUrl, Qt
from PyQt5.QtGui import QColor
diff --git a/qutebrowser/config/websettings.py b/qutebrowser/config/websettings.py
index 5093c6185..b5f07fec0 100644
--- a/qutebrowser/config/websettings.py
+++ b/qutebrowser/config/websettings.py
@@ -22,9 +22,9 @@
import re
import argparse
import functools
+import dataclasses
from typing import Any, Callable, Dict, Optional
-import dataclasses
from PyQt5.QtCore import QUrl, pyqtSlot, qVersion
from PyQt5.QtGui import QFont
diff --git a/qutebrowser/extensions/interceptors.py b/qutebrowser/extensions/interceptors.py
index 3d7f99deb..eb4af42a9 100644
--- a/qutebrowser/extensions/interceptors.py
+++ b/qutebrowser/extensions/interceptors.py
@@ -20,9 +20,8 @@
"""Infrastructure for intercepting requests."""
import enum
-from typing import Callable, List, Optional
-
import dataclasses
+from typing import Callable, List, Optional
from PyQt5.QtCore import QUrl
diff --git a/qutebrowser/extensions/loader.py b/qutebrowser/extensions/loader.py
index a662310e2..61ede5022 100644
--- a/qutebrowser/extensions/loader.py
+++ b/qutebrowser/extensions/loader.py
@@ -25,9 +25,8 @@ import sys
import pathlib
import importlib
import argparse
-from typing import Callable, Iterator, List, Optional, Set, Tuple
-
import dataclasses
+from typing import Callable, Iterator, List, Optional, Set, Tuple
from PyQt5.QtCore import pyqtSlot
diff --git a/qutebrowser/keyinput/basekeyparser.py b/qutebrowser/keyinput/basekeyparser.py
index 890effb17..8fe0e3ef8 100644
--- a/qutebrowser/keyinput/basekeyparser.py
+++ b/qutebrowser/keyinput/basekeyparser.py
@@ -21,9 +21,9 @@
import string
import types
+import dataclasses
from typing import Mapping, MutableMapping, Optional, Sequence
-import dataclasses
from PyQt5.QtCore import pyqtSignal, QObject, Qt
from PyQt5.QtGui import QKeySequence, QKeyEvent
diff --git a/qutebrowser/keyinput/keyutils.py b/qutebrowser/keyinput/keyutils.py
index 4d1a7e691..ca41ce6e8 100644
--- a/qutebrowser/keyinput/keyutils.py
+++ b/qutebrowser/keyinput/keyutils.py
@@ -32,9 +32,9 @@ handle what we actually think we do.
"""
import itertools
+import dataclasses
from typing import cast, overload, Iterable, Iterator, List, Mapping, Optional, Union
-import dataclasses
from PyQt5.QtCore import Qt, QEvent
from PyQt5.QtGui import QKeySequence, QKeyEvent
diff --git a/qutebrowser/keyinput/modeman.py b/qutebrowser/keyinput/modeman.py
index c40aacdd6..4832e5769 100644
--- a/qutebrowser/keyinput/modeman.py
+++ b/qutebrowser/keyinput/modeman.py
@@ -20,9 +20,9 @@
"""Mode manager (per window) which handles the current keyboard mode."""
import functools
+import dataclasses
from typing import Mapping, Callable, MutableMapping, Union, Set, cast
-import dataclasses
from PyQt5.QtCore import pyqtSlot, pyqtSignal, Qt, QObject, QEvent
from PyQt5.QtGui import QKeyEvent
diff --git a/qutebrowser/mainwindow/prompt.py b/qutebrowser/mainwindow/prompt.py
index f214e7782..9ca07b9ab 100644
--- a/qutebrowser/mainwindow/prompt.py
+++ b/qutebrowser/mainwindow/prompt.py
@@ -23,9 +23,9 @@ import os.path
import html
import collections
import functools
+import dataclasses
from typing import Deque, MutableSequence, Optional, cast
-import dataclasses
from PyQt5.QtCore import (pyqtSlot, pyqtSignal, Qt, QTimer, QDir, QModelIndex,
QItemSelectionModel, QObject, QEventLoop)
from PyQt5.QtWidgets import (QWidget, QGridLayout, QVBoxLayout, QLineEdit,
diff --git a/qutebrowser/mainwindow/statusbar/bar.py b/qutebrowser/mainwindow/statusbar/bar.py
index cb059f682..ae9653d80 100644
--- a/qutebrowser/mainwindow/statusbar/bar.py
+++ b/qutebrowser/mainwindow/statusbar/bar.py
@@ -21,6 +21,7 @@
import enum
import dataclasses
+
from PyQt5.QtCore import (pyqtSignal, pyqtSlot, # type: ignore[attr-defined]
pyqtProperty, Qt, QSize, QTimer)
from PyQt5.QtWidgets import QWidget, QHBoxLayout, QStackedLayout, QSizePolicy
diff --git a/qutebrowser/mainwindow/tabbedbrowser.py b/qutebrowser/mainwindow/tabbedbrowser.py
index 33b5708d9..68e4de5ff 100644
--- a/qutebrowser/mainwindow/tabbedbrowser.py
+++ b/qutebrowser/mainwindow/tabbedbrowser.py
@@ -23,10 +23,10 @@ import collections
import functools
import weakref
import datetime
+import dataclasses
from typing import (
Any, Deque, List, Mapping, MutableMapping, MutableSequence, Optional, Tuple)
-import dataclasses
from PyQt5.QtWidgets import QSizePolicy, QWidget, QApplication
from PyQt5.QtCore import pyqtSignal, pyqtSlot, QTimer, QUrl
diff --git a/qutebrowser/mainwindow/tabwidget.py b/qutebrowser/mainwindow/tabwidget.py
index 7d1f0da0b..deefac80d 100644
--- a/qutebrowser/mainwindow/tabwidget.py
+++ b/qutebrowser/mainwindow/tabwidget.py
@@ -21,9 +21,9 @@
import functools
import contextlib
+import dataclasses
from typing import Optional, cast
-import dataclasses
from PyQt5.QtCore import (pyqtSignal, pyqtSlot, Qt, QSize, QRect, QPoint,
QTimer, QUrl)
from PyQt5.QtWidgets import (QTabWidget, QTabBar, QSizePolicy, QCommonStyle,
diff --git a/qutebrowser/mainwindow/windowundo.py b/qutebrowser/mainwindow/windowundo.py
index 4335ad18d..07e4dc7d0 100644
--- a/qutebrowser/mainwindow/windowundo.py
+++ b/qutebrowser/mainwindow/windowundo.py
@@ -20,9 +20,9 @@
"""Code for :undo --window."""
import collections
+import dataclasses
from typing import Any, MutableSequence, cast
-import dataclasses
from PyQt5.QtCore import QObject, QByteArray
from qutebrowser.config import config
diff --git a/qutebrowser/misc/backendproblem.py b/qutebrowser/misc/backendproblem.py
index 9f28fcef3..4d8cd80cc 100644
--- a/qutebrowser/misc/backendproblem.py
+++ b/qutebrowser/misc/backendproblem.py
@@ -26,9 +26,9 @@ import html
import enum
import shutil
import argparse
+import dataclasses
from typing import Any, List, Sequence, Tuple, Optional
-import dataclasses
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import (QDialog, QPushButton, QHBoxLayout, QVBoxLayout, QLabel,
QMessageBox, QWidget)
diff --git a/qutebrowser/misc/crashsignal.py b/qutebrowser/misc/crashsignal.py
index 47fb4c21b..ab43dc795 100644
--- a/qutebrowser/misc/crashsignal.py
+++ b/qutebrowser/misc/crashsignal.py
@@ -29,8 +29,8 @@ import argparse
import functools
import threading
import faulthandler
-from typing import TYPE_CHECKING, Optional, MutableMapping, cast, List
import dataclasses
+from typing import TYPE_CHECKING, Optional, MutableMapping, cast, List
from PyQt5.QtCore import (pyqtSlot, qInstallMessageHandler, QObject,
QSocketNotifier, QTimer, QUrl)
diff --git a/qutebrowser/misc/throttle.py b/qutebrowser/misc/throttle.py
index 777177ec8..646843e93 100644
--- a/qutebrowser/misc/throttle.py
+++ b/qutebrowser/misc/throttle.py
@@ -19,10 +19,10 @@
"""A throttle for throttling function calls."""
+import dataclasses
import time
from typing import Any, Callable, Mapping, Optional, Sequence
-import dataclasses
from PyQt5.QtCore import QObject
from qutebrowser.utils import usertypes
diff --git a/qutebrowser/utils/usertypes.py b/qutebrowser/utils/usertypes.py
index d180a6699..cc102327e 100644
--- a/qutebrowser/utils/usertypes.py
+++ b/qutebrowser/utils/usertypes.py
@@ -21,9 +21,9 @@
import operator
import enum
+import dataclasses
from typing import Any, Optional, Sequence, TypeVar, Union
-import dataclasses
from PyQt5.QtCore import pyqtSignal, pyqtSlot, QObject, QTimer
from PyQt5.QtCore import QUrl
diff --git a/qutebrowser/utils/version.py b/qutebrowser/utils/version.py
index 10b73f167..cb3f96346 100644
--- a/qutebrowser/utils/version.py
+++ b/qutebrowser/utils/version.py
@@ -31,9 +31,9 @@ import enum
import datetime
import getpass
import functools
+import dataclasses
from typing import Mapping, Optional, Sequence, Tuple, cast
-import dataclasses
from PyQt5.QtCore import PYQT_VERSION_STR, QLibraryInfo
from PyQt5.QtNetwork import QSslSocket
from PyQt5.QtGui import (QOpenGLContext, QOpenGLVersionProfile,
diff --git a/scripts/dev/check_coverage.py b/scripts/dev/check_coverage.py
index 0074bfd56..416628c45 100644
--- a/scripts/dev/check_coverage.py
+++ b/scripts/dev/check_coverage.py
@@ -25,9 +25,8 @@ import os.path
import sys
import enum
import subprocess
-from xml.etree import ElementTree
-
import dataclasses
+from xml.etree import ElementTree
sys.path.insert(0, os.path.join(os.path.dirname(__file__), os.pardir,
os.pardir))
diff --git a/scripts/dev/get_coredumpctl_traces.py b/scripts/dev/get_coredumpctl_traces.py
index 0b53e367a..7bdc9d811 100644
--- a/scripts/dev/get_coredumpctl_traces.py
+++ b/scripts/dev/get_coredumpctl_traces.py
@@ -26,7 +26,6 @@ import sys
import argparse
import subprocess
import tempfile
-
import dataclasses
sys.path.insert(0, os.path.join(os.path.dirname(__file__), os.pardir,
diff --git a/tests/end2end/fixtures/testprocess.py b/tests/end2end/fixtures/testprocess.py
index dca65088d..50679a255 100644
--- a/tests/end2end/fixtures/testprocess.py
+++ b/tests/end2end/fixtures/testprocess.py
@@ -22,8 +22,8 @@
import re
import time
import warnings
-
import dataclasses
+
import pytest
import pytestqt.plugin
from PyQt5.QtCore import (pyqtSlot, pyqtSignal, QProcess, QObject,
diff --git a/tests/end2end/fixtures/webserver.py b/tests/end2end/fixtures/webserver.py
index e4ba6969c..e368d050c 100644
--- a/tests/end2end/fixtures/webserver.py
+++ b/tests/end2end/fixtures/webserver.py
@@ -24,9 +24,9 @@ import sys
import json
import os.path
import socket
+import dataclasses
from http import HTTPStatus
-import dataclasses
import pytest
from PyQt5.QtCore import pyqtSignal, QUrl
diff --git a/tests/helpers/fixtures.py b/tests/helpers/fixtures.py
index c62c9960b..2d853df08 100644
--- a/tests/helpers/fixtures.py
+++ b/tests/helpers/fixtures.py
@@ -33,8 +33,8 @@ import unittest.mock
import types
import mimetypes
import os.path
-
import dataclasses
+
import pytest
import py.path # pylint: disable=no-name-in-module
from PyQt5.QtCore import QSize, Qt
diff --git a/tests/helpers/messagemock.py b/tests/helpers/messagemock.py
index 72f170408..8eae9129c 100644
--- a/tests/helpers/messagemock.py
+++ b/tests/helpers/messagemock.py
@@ -20,8 +20,8 @@
"""pytest helper to monkeypatch the message module."""
import logging
-
import dataclasses
+
import pytest
from qutebrowser.utils import usertypes, message
diff --git a/tests/unit/browser/test_signalfilter.py b/tests/unit/browser/test_signalfilter.py
index 239f7e0de..9b2cf881a 100644
--- a/tests/unit/browser/test_signalfilter.py
+++ b/tests/unit/browser/test_signalfilter.py
@@ -20,8 +20,8 @@
"""Tests for browser.signalfilter."""
import logging
-
import dataclasses
+
import pytest
from PyQt5.QtCore import pyqtSignal, pyqtSlot, QObject
diff --git a/tests/unit/browser/webkit/test_webkitelem.py b/tests/unit/browser/webkit/test_webkitelem.py
index f12df66f8..9f8caab55 100644
--- a/tests/unit/browser/webkit/test_webkitelem.py
+++ b/tests/unit/browser/webkit/test_webkitelem.py
@@ -24,8 +24,8 @@ from unittest import mock
import collections.abc
import operator
import itertools
-
import dataclasses
+
import pytest
from PyQt5.QtCore import QRect, QPoint, QUrl
QWebElement = pytest.importorskip('PyQt5.QtWebKit').QWebElement
diff --git a/tests/unit/config/test_configtypes.py b/tests/unit/config/test_configtypes.py
index 40ba3a3f3..b1418c73a 100644
--- a/tests/unit/config/test_configtypes.py
+++ b/tests/unit/config/test_configtypes.py
@@ -25,8 +25,8 @@ import math
import warnings
import inspect
import functools
-
import dataclasses
+
import pytest
import hypothesis
from hypothesis import strategies
diff --git a/tests/unit/keyinput/key_data.py b/tests/unit/keyinput/key_data.py
index 4673290c4..1a7dfdd99 100644
--- a/tests/unit/keyinput/key_data.py
+++ b/tests/unit/keyinput/key_data.py
@@ -22,7 +22,6 @@
"""Data used by test_keyutils.py to test all keys."""
-
import dataclasses
from typing import Optional
diff --git a/tests/unit/misc/userscripts/test_qute_lastpass.py b/tests/unit/misc/userscripts/test_qute_lastpass.py
index cd4cf7096..bcff913d7 100644
--- a/tests/unit/misc/userscripts/test_qute_lastpass.py
+++ b/tests/unit/misc/userscripts/test_qute_lastpass.py
@@ -20,10 +20,10 @@
"""Tests for misc.userscripts.qute-lastpass."""
import json
+import dataclasses
from types import SimpleNamespace
from unittest.mock import ANY, call
-import dataclasses
import pytest
from helpers import utils
diff --git a/tests/unit/utils/test_javascript.py b/tests/unit/utils/test_javascript.py
index b1f64c95c..9366c46fb 100644
--- a/tests/unit/utils/test_javascript.py
+++ b/tests/unit/utils/test_javascript.py
@@ -19,10 +19,11 @@
"""Tests for qutebrowser.utils.javascript."""
+import dataclasses
+
import pytest
import hypothesis
import hypothesis.strategies
-import dataclasses
from qutebrowser.utils import javascript, usertypes
diff --git a/tests/unit/utils/test_log.py b/tests/unit/utils/test_log.py
index fb722c054..4b2db95d8 100644
--- a/tests/unit/utils/test_log.py
+++ b/tests/unit/utils/test_log.py
@@ -24,8 +24,8 @@ import argparse
import itertools
import sys
import warnings
-
import dataclasses
+
import pytest
import _pytest.logging
from PyQt5 import QtCore
diff --git a/tests/unit/utils/test_qtutils.py b/tests/unit/utils/test_qtutils.py
index 7a953542a..eff531a46 100644
--- a/tests/unit/utils/test_qtutils.py
+++ b/tests/unit/utils/test_qtutils.py
@@ -23,10 +23,10 @@
import io
import os
import os.path
+import dataclasses
import unittest
import unittest.mock
-import dataclasses
import pytest
from PyQt5.QtCore import (QDataStream, QPoint, QUrl, QByteArray, QIODevice,
QTimer, QBuffer, QFile, QProcess, QFileDevice)
diff --git a/tests/unit/utils/test_urlutils.py b/tests/unit/utils/test_urlutils.py
index 456e6b0b0..19815b423 100644
--- a/tests/unit/utils/test_urlutils.py
+++ b/tests/unit/utils/test_urlutils.py
@@ -21,9 +21,9 @@
import os.path
import logging
+import dataclasses
import urllib.parse
-import dataclasses
from PyQt5.QtCore import QUrl
from PyQt5.QtNetwork import QNetworkProxy
import pytest
diff --git a/tests/unit/utils/test_version.py b/tests/unit/utils/test_version.py
index 042d58b0d..f182f4675 100644
--- a/tests/unit/utils/test_version.py
+++ b/tests/unit/utils/test_version.py
@@ -31,8 +31,8 @@ import importlib
import logging
import textwrap
import datetime
-
import dataclasses
+
import pytest
import hypothesis
import hypothesis.strategies