summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGiampaolo Rodola <g.rodola@gmail.com>2021-12-14 23:54:58 +0100
committerGitHub <noreply@github.com>2021-12-14 23:54:58 +0100
commit39dc44bfa5fbb9500166b3480295379602e5bbc5 (patch)
treeee785ba8d9e189fb2b1bffda19492414cd7c0d2c
parentb490b5d51af6ed29709c357a00fcdb6bda26df78 (diff)
downloadpsutil-39dc44bfa5fbb9500166b3480295379602e5bbc5.tar.gz
Automatically sort imports (isort CLI tool) (#2033)
-rw-r--r--.github/workflows/build.yml8
-rw-r--r--.isort.cfg7
-rw-r--r--MANIFEST.in1
-rw-r--r--Makefile24
-rw-r--r--psutil/__init__.py53
-rw-r--r--psutil/_common.py4
-rw-r--r--psutil/_compat.py3
-rw-r--r--psutil/_psaix.py12
-rw-r--r--psutil/_psbsd.py12
-rw-r--r--psutil/_pslinux.py17
-rw-r--r--psutil/_psosx.py4
-rw-r--r--psutil/_psposix.py5
-rw-r--r--psutil/_pssunos.py10
-rw-r--r--psutil/_pswindows.py11
-rw-r--r--psutil/tests/__init__.py6
-rwxr-xr-xpsutil/tests/__main__.py2
-rwxr-xr-xpsutil/tests/runner.py3
-rwxr-xr-xpsutil/tests/test_aix.py2
-rwxr-xr-xpsutil/tests/test_bsd.py4
-rwxr-xr-xpsutil/tests/test_connections.py6
-rwxr-xr-xpsutil/tests/test_contracts.py16
-rwxr-xr-xpsutil/tests/test_linux.py22
-rwxr-xr-xpsutil/tests/test_memleaks.py7
-rwxr-xr-xpsutil/tests/test_misc.py12
-rwxr-xr-xpsutil/tests/test_osx.py5
-rwxr-xr-xpsutil/tests/test_posix.py7
-rwxr-xr-xpsutil/tests/test_process.py17
-rwxr-xr-xpsutil/tests/test_system.py12
-rwxr-xr-xpsutil/tests/test_testutils.py15
-rwxr-xr-xpsutil/tests/test_unicode.py18
-rwxr-xr-xpsutil/tests/test_windows.py6
-rwxr-xr-xscripts/battery.py1
-rwxr-xr-xscripts/cpu_distribution.py1
-rwxr-xr-xscripts/disk_usage.py3
-rwxr-xr-xscripts/fans.py1
-rwxr-xr-xscripts/ifconfig.py1
-rwxr-xr-xscripts/internal/bench_oneshot.py6
-rwxr-xr-xscripts/internal/bench_oneshot_2.py2
-rwxr-xr-xscripts/internal/check_broken_links.py1
-rwxr-xr-xscripts/internal/clinter.py1
-rwxr-xr-xscripts/internal/convert_readme.py1
-rwxr-xr-xscripts/internal/download_wheels_appveyor.py4
-rwxr-xr-xscripts/internal/download_wheels_github.py3
-rwxr-xr-xscripts/internal/fix_flake8.py2
-rwxr-xr-xscripts/internal/git_pre_commit.py17
-rwxr-xr-xscripts/internal/print_access_denied.py6
-rwxr-xr-xscripts/internal/print_api_speed.py6
-rwxr-xr-xscripts/internal/print_downloads.py1
-rwxr-xr-xscripts/internal/print_wheels.py2
-rwxr-xr-xscripts/internal/tidelift.py3
-rwxr-xr-xscripts/internal/winmake.py5
-rwxr-xr-xscripts/iotop.py4
-rwxr-xr-xscripts/killall.py1
-rwxr-xr-xscripts/netstat.py4
-rwxr-xr-xscripts/nettop.py4
-rwxr-xr-xscripts/pidof.py4
-rwxr-xr-xscripts/procsmem.py1
-rwxr-xr-xscripts/pstree.py1
-rwxr-xr-xscripts/sensors.py1
-rwxr-xr-xscripts/temperatures.py1
-rwxr-xr-xscripts/top.py2
-rwxr-xr-xsetup.py12
62 files changed, 264 insertions, 169 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index ca026299..5fd6e735 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -161,12 +161,14 @@ jobs:
- uses: actions/setup-python@v2
- name: 'Run linters'
run: |
+ # py2
curl https://bootstrap.pypa.io/pip/2.7/get-pip.py --output get-pip.py
python2 get-pip.py
python2 -m pip install flake8
- python3 -m pip install flake8
python2 -m flake8 .
+ # py3
+ python3 -m pip install flake8 isort
python3 -m flake8 .
- echo "flake8 linting OK"
+ python3 -m isort --settings=.isort.cfg .
+ # clinter
find . -type f \( -iname "*.c" -o -iname "*.h" \) | xargs python3 scripts/internal/clinter.py
- echo "C linting OK"
diff --git a/.isort.cfg b/.isort.cfg
new file mode 100644
index 00000000..58f66946
--- /dev/null
+++ b/.isort.cfg
@@ -0,0 +1,7 @@
+# See: https://pycqa.github.io/isort/docs/configuration/options
+
+[settings]
+# one import per line
+force_single_line = true
+# blank spaces after import section
+lines_after_imports = 2
diff --git a/MANIFEST.in b/MANIFEST.in
index e9c20d81..4a10365d 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -1,6 +1,7 @@
include .coveragerc
include .flake8
include .gitignore
+include .isort.cfg
include CONTRIBUTING.md
include CREDITS
include HISTORY.rst
diff --git a/Makefile b/Makefile
index 01512b7c..0ab1ea06 100644
--- a/Makefile
+++ b/Makefile
@@ -15,6 +15,7 @@ DEPS = \
coverage \
flake8 \
flake8-print \
+ isort \
pyperf \
pypinfo \
requests \
@@ -187,19 +188,30 @@ test-coverage: ## Run test coverage.
# Linters
# ===================================================================
-lint-py: ## Run Python (flake8) linter.
+check-flake8: ## Run flake8 linter.
@git ls-files '*.py' | xargs $(PYTHON) -m flake8 --config=.flake8
-lint-c: ## Run C linter.
+check-imports: ## Run isort linter.
+ @git ls-files '*.py' | xargs $(PYTHON) -m isort --settings=.isort.cfg --check-only
+
+check-c-code: ## Run C linter.
@git ls-files '*.c' '*.h' | xargs $(PYTHON) scripts/internal/clinter.py
-lint: ## Run Python (flake8) and C linters.
- ${MAKE} lint-py
- ${MAKE} lint-c
+lint: ## Run all linters
+ ${MAKE} check-flake8
+ ${MAKE} check-imports
+ ${MAKE} check-c-code
-fix-lint: ## Attempt to automatically fix some Python lint issues.
+# ===================================================================
+# Fixers
+# ===================================================================
+
+fix-flake8: ## Attempt to automatically fix some Python flake8 issues.
@git ls-files | grep \\.py$ | xargs $(PYTHON) -m flake8 --exit-zero | $(PYTHON) scripts/internal/fix_flake8.py
+fix-imports: ## Fix imports with isort.
+ @git ls-files '*.py' | xargs $(PYTHON) -m isort --settings=.isort.cfg
+
# ===================================================================
# GIT
# ===================================================================
diff --git a/psutil/__init__.py b/psutil/__init__.py
index 4632aa85..1a113bc3 100644
--- a/psutil/__init__.py
+++ b/psutil/__init__.py
@@ -21,6 +21,7 @@ Works with Python versions from 2.6 to 3.4+.
"""
from __future__ import division
+
import collections
import contextlib
import datetime
@@ -31,25 +32,16 @@ import subprocess
import sys
import threading
import time
+
+
try:
import pwd
except ImportError:
pwd = None
from . import _common
-from ._common import AccessDenied
-from ._common import Error
-from ._common import memoize_when_activated
-from ._common import NoSuchProcess
-from ._common import TimeoutExpired
-from ._common import wrap_numbers as _wrap_numbers
-from ._common import ZombieProcess
-from ._compat import long
-from ._compat import PermissionError
-from ._compat import ProcessLookupError
-from ._compat import SubprocessTimeoutExpired as _SubprocessTimeoutExpired
-from ._compat import PY3 as _PY3
-
+from ._common import AIX
+from ._common import BSD
from ._common import CONN_CLOSE
from ._common import CONN_CLOSE_WAIT
from ._common import CONN_CLOSING
@@ -62,9 +54,16 @@ from ._common import CONN_NONE
from ._common import CONN_SYN_RECV
from ._common import CONN_SYN_SENT
from ._common import CONN_TIME_WAIT
+from ._common import FREEBSD # NOQA
+from ._common import LINUX
+from ._common import MACOS
+from ._common import NETBSD # NOQA
from ._common import NIC_DUPLEX_FULL
from ._common import NIC_DUPLEX_HALF
from ._common import NIC_DUPLEX_UNKNOWN
+from ._common import OPENBSD # NOQA
+from ._common import OSX # deprecated alias
+from ._common import POSIX # NOQA
from ._common import POWER_TIME_UNKNOWN
from ._common import POWER_TIME_UNLIMITED
from ._common import STATUS_DEAD
@@ -79,18 +78,21 @@ from ._common import STATUS_TRACING_STOP
from ._common import STATUS_WAITING
from ._common import STATUS_WAKING
from ._common import STATUS_ZOMBIE
-
-from ._common import AIX
-from ._common import BSD
-from ._common import FREEBSD # NOQA
-from ._common import LINUX
-from ._common import MACOS
-from ._common import NETBSD # NOQA
-from ._common import OPENBSD # NOQA
-from ._common import OSX # deprecated alias
-from ._common import POSIX # NOQA
from ._common import SUNOS
from ._common import WINDOWS
+from ._common import AccessDenied
+from ._common import Error
+from ._common import NoSuchProcess
+from ._common import TimeoutExpired
+from ._common import ZombieProcess
+from ._common import memoize_when_activated
+from ._common import wrap_numbers as _wrap_numbers
+from ._compat import PY3 as _PY3
+from ._compat import PermissionError
+from ._compat import ProcessLookupError
+from ._compat import SubprocessTimeoutExpired as _SubprocessTimeoutExpired
+from ._compat import long
+
if LINUX:
# This is public API and it will be retrieved from _pslinux.py
@@ -98,7 +100,6 @@ if LINUX:
PROCFS_PATH = "/proc"
from . import _pslinux as _psplatform
-
from ._pslinux import IOPRIO_CLASS_BE # NOQA
from ._pslinux import IOPRIO_CLASS_IDLE # NOQA
from ._pslinux import IOPRIO_CLASS_NONE # NOQA
@@ -113,10 +114,10 @@ elif WINDOWS:
from ._psutil_windows import NORMAL_PRIORITY_CLASS # NOQA
from ._psutil_windows import REALTIME_PRIORITY_CLASS # NOQA
from ._pswindows import CONN_DELETE_TCB # NOQA
- from ._pswindows import IOPRIO_VERYLOW # NOQA
+ from ._pswindows import IOPRIO_HIGH # NOQA
from ._pswindows import IOPRIO_LOW # NOQA
from ._pswindows import IOPRIO_NORMAL # NOQA
- from ._pswindows import IOPRIO_HIGH # NOQA
+ from ._pswindows import IOPRIO_VERYLOW # NOQA
elif MACOS:
from . import _psosx as _psplatform
diff --git a/psutil/_common.py b/psutil/_common.py
index 5e6dbb6d..16d3b3b5 100644
--- a/psutil/_common.py
+++ b/psutil/_common.py
@@ -7,7 +7,8 @@
# Note: this module is imported by setup.py so it should not import
# psutil or third-party modules.
-from __future__ import division, print_function
+from __future__ import division
+from __future__ import print_function
import collections
import contextlib
@@ -24,6 +25,7 @@ from socket import AF_INET
from socket import SOCK_DGRAM
from socket import SOCK_STREAM
+
try:
from socket import AF_INET6
except ImportError:
diff --git a/psutil/_compat.py b/psutil/_compat.py
index e5275f5f..251e595f 100644
--- a/psutil/_compat.py
+++ b/psutil/_compat.py
@@ -15,6 +15,7 @@ import os
import sys
import types
+
__all__ = [
# constants
"PY3",
@@ -413,8 +414,8 @@ except ImportError:
def get_terminal_size(fallback=(80, 24)):
try:
import fcntl
- import termios
import struct
+ import termios
except ImportError:
return fallback
else:
diff --git a/psutil/_psaix.py b/psutil/_psaix.py
index 3e3a3d14..9cc7d56e 100644
--- a/psutil/_psaix.py
+++ b/psutil/_psaix.py
@@ -18,20 +18,20 @@ from . import _common
from . import _psposix
from . import _psutil_aix as cext
from . import _psutil_posix as cext_posix
-from ._common import AccessDenied
-from ._common import conn_to_ntuple
-from ._common import get_procfs_path
-from ._common import memoize_when_activated
from ._common import NIC_DUPLEX_FULL
from ._common import NIC_DUPLEX_HALF
from ._common import NIC_DUPLEX_UNKNOWN
+from ._common import AccessDenied
from ._common import NoSuchProcess
-from ._common import usage_percent
from ._common import ZombieProcess
+from ._common import conn_to_ntuple
+from ._common import get_procfs_path
+from ._common import memoize_when_activated
+from ._common import usage_percent
+from ._compat import PY3
from ._compat import FileNotFoundError
from ._compat import PermissionError
from ._compat import ProcessLookupError
-from ._compat import PY3
__extra__all__ = ["PROCFS_PATH"]
diff --git a/psutil/_psbsd.py b/psutil/_psbsd.py
index bdcfc1e6..52885065 100644
--- a/psutil/_psbsd.py
+++ b/psutil/_psbsd.py
@@ -9,24 +9,24 @@ import errno
import functools
import os
import xml.etree.ElementTree as ET
-from collections import namedtuple
from collections import defaultdict
+from collections import namedtuple
from . import _common
from . import _psposix
from . import _psutil_bsd as cext
from . import _psutil_posix as cext_posix
+from ._common import FREEBSD
+from ._common import NETBSD
+from ._common import OPENBSD
from ._common import AccessDenied
+from ._common import NoSuchProcess
+from ._common import ZombieProcess
from ._common import conn_tmap
from ._common import conn_to_ntuple
-from ._common import FREEBSD
from ._common import memoize
from ._common import memoize_when_activated
-from ._common import NETBSD
-from ._common import NoSuchProcess
-from ._common import OPENBSD
from ._common import usage_percent
-from ._common import ZombieProcess
from ._compat import FileNotFoundError
from ._compat import PermissionError
from ._compat import ProcessLookupError
diff --git a/psutil/_pslinux.py b/psutil/_pslinux.py
index 1cbbec42..5a356912 100644
--- a/psutil/_pslinux.py
+++ b/psutil/_pslinux.py
@@ -25,30 +25,31 @@ from . import _common
from . import _psposix
from . import _psutil_linux as cext
from . import _psutil_posix as cext_posix
+from ._common import NIC_DUPLEX_FULL
+from ._common import NIC_DUPLEX_HALF
+from ._common import NIC_DUPLEX_UNKNOWN
from ._common import AccessDenied
+from ._common import NoSuchProcess
+from ._common import ZombieProcess
from ._common import debug
from ._common import decode
from ._common import get_procfs_path
from ._common import isfile_strict
from ._common import memoize
from ._common import memoize_when_activated
-from ._common import NIC_DUPLEX_FULL
-from ._common import NIC_DUPLEX_HALF
-from ._common import NIC_DUPLEX_UNKNOWN
-from ._common import NoSuchProcess
from ._common import open_binary
from ._common import open_text
from ._common import parse_environ_block
from ._common import path_exists_strict
from ._common import supports_ipv6
from ._common import usage_percent
-from ._common import ZombieProcess
-from ._compat import b
-from ._compat import basestring
+from ._compat import PY3
from ._compat import FileNotFoundError
from ._compat import PermissionError
from ._compat import ProcessLookupError
-from ._compat import PY3
+from ._compat import b
+from ._compat import basestring
+
if sys.version_info >= (3, 4):
import enum
diff --git a/psutil/_psosx.py b/psutil/_psosx.py
index eda70d21..ac8ecc53 100644
--- a/psutil/_psosx.py
+++ b/psutil/_psosx.py
@@ -14,14 +14,14 @@ from . import _psposix
from . import _psutil_osx as cext
from . import _psutil_posix as cext_posix
from ._common import AccessDenied
+from ._common import NoSuchProcess
+from ._common import ZombieProcess
from ._common import conn_tmap
from ._common import conn_to_ntuple
from ._common import isfile_strict
from ._common import memoize_when_activated
-from ._common import NoSuchProcess
from ._common import parse_environ_block
from ._common import usage_percent
-from ._common import ZombieProcess
from ._compat import PermissionError
from ._compat import ProcessLookupError
diff --git a/psutil/_psposix.py b/psutil/_psposix.py
index 706dab9a..8e6629d7 100644
--- a/psutil/_psposix.py
+++ b/psutil/_psposix.py
@@ -10,18 +10,19 @@ import signal
import sys
import time
+from ._common import TimeoutExpired
from ._common import memoize
from ._common import sdiskusage
-from ._common import TimeoutExpired
from ._common import usage_percent
+from ._compat import PY3
from ._compat import ChildProcessError
from ._compat import FileNotFoundError
from ._compat import InterruptedError
from ._compat import PermissionError
from ._compat import ProcessLookupError
-from ._compat import PY3
from ._compat import unicode
+
if sys.version_info >= (3, 4):
import enum
else:
diff --git a/psutil/_pssunos.py b/psutil/_pssunos.py
index 355a7623..69b579c5 100644
--- a/psutil/_pssunos.py
+++ b/psutil/_pssunos.py
@@ -17,22 +17,22 @@ from . import _common
from . import _psposix
from . import _psutil_posix as cext_posix
from . import _psutil_sunos as cext
-from ._common import AccessDenied
from ._common import AF_INET6
+from ._common import AccessDenied
+from ._common import NoSuchProcess
+from ._common import ZombieProcess
from ._common import debug
from ._common import get_procfs_path
from ._common import isfile_strict
from ._common import memoize_when_activated
-from ._common import NoSuchProcess
from ._common import sockfam_to_enum
from ._common import socktype_to_enum
from ._common import usage_percent
-from ._common import ZombieProcess
-from ._compat import b
+from ._compat import PY3
from ._compat import FileNotFoundError
from ._compat import PermissionError
from ._compat import ProcessLookupError
-from ._compat import PY3
+from ._compat import b
__extra__all__ = ["CONN_IDLE", "CONN_BOUND", "PROCFS_PATH"]
diff --git a/psutil/_pswindows.py b/psutil/_pswindows.py
index 348b72e1..9966b1b4 100644
--- a/psutil/_pswindows.py
+++ b/psutil/_pswindows.py
@@ -14,22 +14,22 @@ import time
from collections import namedtuple
from . import _common
+from ._common import ENCODING
+from ._common import ENCODING_ERRS
from ._common import AccessDenied
+from ._common import NoSuchProcess
+from ._common import TimeoutExpired
from ._common import conn_tmap
from ._common import conn_to_ntuple
from ._common import debug
-from ._common import ENCODING
-from ._common import ENCODING_ERRS
from ._common import isfile_strict
from ._common import memoize
from ._common import memoize_when_activated
-from ._common import NoSuchProcess
from ._common import parse_environ_block
-from ._common import TimeoutExpired
from ._common import usage_percent
+from ._compat import PY3
from ._compat import long
from ._compat import lru_cache
-from ._compat import PY3
from ._compat import range
from ._compat import unicode
from ._psutil_windows import ABOVE_NORMAL_PRIORITY_CLASS
@@ -39,6 +39,7 @@ from ._psutil_windows import IDLE_PRIORITY_CLASS
from ._psutil_windows import NORMAL_PRIORITY_CLASS
from ._psutil_windows import REALTIME_PRIORITY_CLASS
+
try:
from . import _psutil_windows as cext
except ImportError as err:
diff --git a/psutil/tests/__init__.py b/psutil/tests/__init__.py
index d871abe4..21bb3e61 100644
--- a/psutil/tests/__init__.py
+++ b/psutil/tests/__init__.py
@@ -9,6 +9,7 @@ Test utilities.
"""
from __future__ import print_function
+
import atexit
import contextlib
import ctypes
@@ -46,15 +47,16 @@ from psutil import WINDOWS
from psutil._common import bytes2human
from psutil._common import print_color
from psutil._common import supports_ipv6
+from psutil._compat import PY3
from psutil._compat import FileExistsError
from psutil._compat import FileNotFoundError
-from psutil._compat import PY3
from psutil._compat import range
from psutil._compat import super
from psutil._compat import u
from psutil._compat import unicode
from psutil._compat import which
+
if PY3:
import unittest
else:
@@ -1733,8 +1735,8 @@ else:
in memory via ctypes.
Return the new absolutized, normcased path.
"""
- from ctypes import wintypes
from ctypes import WinError
+ from ctypes import wintypes
ext = ".dll"
dst = get_testfn(suffix=suffix + ext)
libs = [x.path for x in psutil.Process().memory_maps() if
diff --git a/psutil/tests/__main__.py b/psutil/tests/__main__.py
index d5cd02eb..e6773527 100755
--- a/psutil/tests/__main__.py
+++ b/psutil/tests/__main__.py
@@ -10,4 +10,6 @@ $ python -m psutil.tests
"""
from .runner import main
+
+
main()
diff --git a/psutil/tests/runner.py b/psutil/tests/runner.py
index cd7e20b2..2e6f83e2 100755
--- a/psutil/tests/runner.py
+++ b/psutil/tests/runner.py
@@ -21,6 +21,7 @@ Parallel:
"""
from __future__ import print_function
+
import atexit
import optparse
import os
@@ -28,6 +29,8 @@ import sys
import textwrap
import time
import unittest
+
+
try:
import ctypes
except ImportError:
diff --git a/psutil/tests/test_aix.py b/psutil/tests/test_aix.py
index a32c3f6a..6a5debfa 100755
--- a/psutil/tests/test_aix.py
+++ b/psutil/tests/test_aix.py
@@ -10,11 +10,11 @@
import re
+import psutil
from psutil import AIX
from psutil.tests import PsutilTestCase
from psutil.tests import sh
from psutil.tests import unittest
-import psutil
@unittest.skipIf(not AIX, "AIX only")
diff --git a/psutil/tests/test_bsd.py b/psutil/tests/test_bsd.py
index b0bff87f..54b488bc 100755
--- a/psutil/tests/test_bsd.py
+++ b/psutil/tests/test_bsd.py
@@ -20,12 +20,12 @@ from psutil import BSD
from psutil import FREEBSD
from psutil import NETBSD
from psutil import OPENBSD
-from psutil.tests import spawn_testproc
from psutil.tests import HAS_BATTERY
+from psutil.tests import TOLERANCE_SYS_MEM
from psutil.tests import PsutilTestCase
from psutil.tests import retry_on_failure
from psutil.tests import sh
-from psutil.tests import TOLERANCE_SYS_MEM
+from psutil.tests import spawn_testproc
from psutil.tests import terminate
from psutil.tests import unittest
from psutil.tests import which
diff --git a/psutil/tests/test_connections.py b/psutil/tests/test_connections.py
index a7a97544..5381608a 100755
--- a/psutil/tests/test_connections.py
+++ b/psutil/tests/test_connections.py
@@ -27,17 +27,17 @@ from psutil import WINDOWS
from psutil._common import supports_ipv6
from psutil._compat import PY3
from psutil.tests import AF_UNIX
+from psutil.tests import HAS_CONNECTIONS_UNIX
+from psutil.tests import SKIP_SYSCONS
+from psutil.tests import PsutilTestCase
from psutil.tests import bind_socket
from psutil.tests import bind_unix_socket
from psutil.tests import check_connection_ntuple
from psutil.tests import create_sockets
-from psutil.tests import HAS_CONNECTIONS_UNIX
-from psutil.tests import PsutilTestCase
from psutil.tests import reap_children
from psutil.tests import retry_on_failure
from psutil.tests import serialrun
from psutil.tests import skip_on_access_denied
-from psutil.tests import SKIP_SYSCONS
from psutil.tests import tcp_socketpair
from psutil.tests import unittest
from psutil.tests import unix_socketpair
diff --git a/psutil/tests/test_contracts.py b/psutil/tests/test_contracts.py
index b03477d9..7401cc15 100755
--- a/psutil/tests/test_contracts.py
+++ b/psutil/tests/test_contracts.py
@@ -18,6 +18,7 @@ import sys
import time
import traceback
+import psutil
from psutil import AIX
from psutil import BSD
from psutil import FREEBSD
@@ -33,25 +34,24 @@ from psutil._compat import FileNotFoundError
from psutil._compat import long
from psutil._compat import range
from psutil.tests import APPVEYOR
-from psutil.tests import check_connection_ntuple
from psutil.tests import CI_TESTING
-from psutil.tests import create_sockets
-from psutil.tests import enum
from psutil.tests import GITHUB_ACTIONS
from psutil.tests import HAS_CPU_FREQ
from psutil.tests import HAS_NET_IO_COUNTERS
from psutil.tests import HAS_SENSORS_FANS
from psutil.tests import HAS_SENSORS_TEMPERATURES
+from psutil.tests import PYPY
+from psutil.tests import SKIP_SYSCONS
+from psutil.tests import VALID_PROC_STATUSES
+from psutil.tests import PsutilTestCase
+from psutil.tests import check_connection_ntuple
+from psutil.tests import create_sockets
+from psutil.tests import enum
from psutil.tests import is_namedtuple
from psutil.tests import kernel_version
from psutil.tests import process_namespace
-from psutil.tests import PsutilTestCase
-from psutil.tests import PYPY
from psutil.tests import serialrun
-from psutil.tests import SKIP_SYSCONS
from psutil.tests import unittest
-from psutil.tests import VALID_PROC_STATUSES
-import psutil
# ===================================================================
diff --git a/psutil/tests/test_linux.py b/psutil/tests/test_linux.py
index 7451e2bc..20e28d29 100755
--- a/psutil/tests/test_linux.py
+++ b/psutil/tests/test_linux.py
@@ -7,6 +7,7 @@
"""Linux specific tests."""
from __future__ import division
+
import collections
import contextlib
import errno
@@ -23,36 +24,37 @@ import warnings
import psutil
from psutil import LINUX
-from psutil._compat import basestring
-from psutil._compat import FileNotFoundError
from psutil._compat import PY3
+from psutil._compat import FileNotFoundError
+from psutil._compat import basestring
from psutil._compat import u
-from psutil.tests import call_until
from psutil.tests import GITHUB_ACTIONS
from psutil.tests import GLOBAL_TIMEOUT
from psutil.tests import HAS_BATTERY
from psutil.tests import HAS_CPU_FREQ
from psutil.tests import HAS_GETLOADAVG
from psutil.tests import HAS_RLIMIT
-from psutil.tests import mock
-from psutil.tests import PsutilTestCase
from psutil.tests import PYPY
+from psutil.tests import TOLERANCE_DISK_USAGE
+from psutil.tests import TOLERANCE_SYS_MEM
+from psutil.tests import PsutilTestCase
+from psutil.tests import ThreadTask
+from psutil.tests import call_until
+from psutil.tests import mock
from psutil.tests import reload_module
from psutil.tests import retry_on_failure
from psutil.tests import safe_rmpath
from psutil.tests import sh
from psutil.tests import skip_on_not_implemented
-from psutil.tests import ThreadTask
-from psutil.tests import TOLERANCE_DISK_USAGE
-from psutil.tests import TOLERANCE_SYS_MEM
from psutil.tests import unittest
from psutil.tests import which
+
if LINUX:
- from psutil._pslinux import calculate_avail_vmem
from psutil._pslinux import CLOCK_TICKS
- from psutil._pslinux import open_binary
from psutil._pslinux import RootFsDeviceFinder
+ from psutil._pslinux import calculate_avail_vmem
+ from psutil._pslinux import open_binary
HERE = os.path.abspath(os.path.dirname(__file__))
diff --git a/psutil/tests/test_memleaks.py b/psutil/tests/test_memleaks.py
index f0bd59ee..d5baffa5 100755
--- a/psutil/tests/test_memleaks.py
+++ b/psutil/tests/test_memleaks.py
@@ -16,6 +16,7 @@ because of how its JIT handles memory, so tests are skipped.
"""
from __future__ import print_function
+
import functools
import os
@@ -29,8 +30,6 @@ from psutil import SUNOS
from psutil import WINDOWS
from psutil._compat import ProcessLookupError
from psutil._compat import super
-from psutil.tests import create_sockets
-from psutil.tests import get_testfn
from psutil.tests import HAS_CPU_AFFINITY
from psutil.tests import HAS_CPU_FREQ
from psutil.tests import HAS_ENVIRON
@@ -43,12 +42,14 @@ from psutil.tests import HAS_RLIMIT
from psutil.tests import HAS_SENSORS_BATTERY
from psutil.tests import HAS_SENSORS_FANS
from psutil.tests import HAS_SENSORS_TEMPERATURES
+from psutil.tests import TestMemoryLeak
+from psutil.tests import create_sockets
+from psutil.tests import get_testfn
from psutil.tests import process_namespace
from psutil.tests import skip_on_access_denied
from psutil.tests import spawn_testproc
from psutil.tests import system_namespace
from psutil.tests import terminate
-from psutil.tests import TestMemoryLeak
from psutil.tests import unittest
diff --git a/psutil/tests/test_misc.py b/psutil/tests/test_misc.py
index 323c5406..fb4d0c02 100755
--- a/psutil/tests/test_misc.py
+++ b/psutil/tests/test_misc.py
@@ -18,6 +18,8 @@ import pickle
import socket
import stat
+import psutil
+import psutil.tests
from psutil import LINUX
from psutil import POSIX
from psutil import WINDOWS
@@ -36,17 +38,15 @@ from psutil.tests import HAS_NET_IO_COUNTERS
from psutil.tests import HAS_SENSORS_BATTERY
from psutil.tests import HAS_SENSORS_FANS
from psutil.tests import HAS_SENSORS_TEMPERATURES
-from psutil.tests import import_module_by_path
-from psutil.tests import mock
-from psutil.tests import PsutilTestCase
from psutil.tests import PYTHON_EXE
-from psutil.tests import reload_module
from psutil.tests import ROOT_DIR
from psutil.tests import SCRIPTS_DIR
+from psutil.tests import PsutilTestCase
+from psutil.tests import import_module_by_path
+from psutil.tests import mock
+from psutil.tests import reload_module
from psutil.tests import sh
from psutil.tests import unittest
-import psutil
-import psutil.tests
# ===================================================================
diff --git a/psutil/tests/test_osx.py b/psutil/tests/test_osx.py
index f797de71..4f4b1c29 100755
--- a/psutil/tests/test_osx.py
+++ b/psutil/tests/test_osx.py
@@ -13,15 +13,16 @@ import psutil
from psutil import MACOS
from psutil import POSIX
from psutil.tests import HAS_BATTERY
+from psutil.tests import TOLERANCE_DISK_USAGE
+from psutil.tests import TOLERANCE_SYS_MEM
from psutil.tests import PsutilTestCase
from psutil.tests import retry_on_failure
from psutil.tests import sh
from psutil.tests import spawn_testproc
from psutil.tests import terminate
-from psutil.tests import TOLERANCE_DISK_USAGE
-from psutil.tests import TOLERANCE_SYS_MEM
from psutil.tests import unittest
+
if POSIX:
from psutil._psutil_posix import getpagesize
diff --git a/psutil/tests/test_posix.py b/psutil/tests/test_posix.py
index acb6aa20..31b81926 100755
--- a/psutil/tests/test_posix.py
+++ b/psutil/tests/test_posix.py
@@ -23,18 +23,19 @@ from psutil import OPENBSD
from psutil import POSIX
from psutil import SUNOS
from psutil.tests import CI_TESTING
-from psutil.tests import spawn_testproc
from psutil.tests import HAS_NET_IO_COUNTERS
-from psutil.tests import mock
-from psutil.tests import PsutilTestCase
from psutil.tests import PYTHON_EXE
+from psutil.tests import PsutilTestCase
+from psutil.tests import mock
from psutil.tests import retry_on_failure
from psutil.tests import sh
from psutil.tests import skip_on_access_denied
+from psutil.tests import spawn_testproc
from psutil.tests import terminate
from psutil.tests import unittest
from psutil.tests import which
+
if POSIX:
import mmap
import resource
diff --git a/psutil/tests/test_process.py b/psutil/tests/test_process.py
index fe74e601..08f16647 100755
--- a/psutil/tests/test_process.py
+++ b/psutil/tests/test_process.py
@@ -21,7 +21,6 @@ import time
import types
import psutil
-
from psutil import AIX
from psutil import BSD
from psutil import LINUX
@@ -33,15 +32,12 @@ from psutil import POSIX
from psutil import SUNOS
from psutil import WINDOWS
from psutil._common import open_text
+from psutil._compat import PY3
from psutil._compat import FileNotFoundError
from psutil._compat import long
-from psutil._compat import PY3
from psutil._compat import super
from psutil.tests import APPVEYOR
-from psutil.tests import call_until
from psutil.tests import CI_TESTING
-from psutil.tests import copyload_shared_lib
-from psutil.tests import create_exe
from psutil.tests import GITHUB_ACTIONS
from psutil.tests import GLOBAL_TIMEOUT
from psutil.tests import HAS_CPU_AFFINITY
@@ -52,17 +48,20 @@ from psutil.tests import HAS_PROC_CPU_NUM
from psutil.tests import HAS_PROC_IO_COUNTERS
from psutil.tests import HAS_RLIMIT
from psutil.tests import HAS_THREADS
-from psutil.tests import mock
-from psutil.tests import process_namespace
-from psutil.tests import PsutilTestCase
from psutil.tests import PYPY
from psutil.tests import PYTHON_EXE
+from psutil.tests import PsutilTestCase
+from psutil.tests import ThreadTask
+from psutil.tests import call_until
+from psutil.tests import copyload_shared_lib
+from psutil.tests import create_exe
+from psutil.tests import mock
+from psutil.tests import process_namespace
from psutil.tests import reap_children
from psutil.tests import retry_on_failure
from psutil.tests import sh
from psutil.tests import skip_on_access_denied
from psutil.tests import skip_on_not_implemented
-from psutil.tests import ThreadTask
from psutil.tests import unittest
from psutil.tests import wait_for_pid
diff --git a/psutil/tests/test_system.py b/psutil/tests/test_system.py
index 4e3ac3e4..db2cb348 100755
--- a/psutil/tests/test_system.py
+++ b/psutil/tests/test_system.py
@@ -31,10 +31,9 @@ from psutil import WINDOWS
from psutil._compat import FileNotFoundError
from psutil._compat import long
from psutil.tests import ASCII_FS
-from psutil.tests import check_net_address
from psutil.tests import CI_TESTING
from psutil.tests import DEVNULL
-from psutil.tests import enum
+from psutil.tests import GITHUB_ACTIONS
from psutil.tests import GLOBAL_TIMEOUT
from psutil.tests import HAS_BATTERY
from psutil.tests import HAS_CPU_FREQ
@@ -44,12 +43,13 @@ from psutil.tests import HAS_SENSORS_BATTERY
from psutil.tests import HAS_SENSORS_FANS
from psutil.tests import HAS_SENSORS_TEMPERATURES
from psutil.tests import IS_64BIT
-from psutil.tests import mock
-from psutil.tests import PsutilTestCase
from psutil.tests import PYPY
-from psutil.tests import retry_on_failure
-from psutil.tests import GITHUB_ACTIONS
from psutil.tests import UNICODE_SUFFIX
+from psutil.tests import PsutilTestCase
+from psutil.tests import check_net_address
+from psutil.tests import enum
+from psutil.tests import mock
+from psutil.tests import retry_on_failure
from psutil.tests import unittest
diff --git a/psutil/tests/test_testutils.py b/psutil/tests/test_testutils.py
index 09adbdb1..89888dfe 100755
--- a/psutil/tests/test_testutils.py
+++ b/psutil/tests/test_testutils.py
@@ -17,25 +17,28 @@ import socket
import stat
import subprocess
+import psutil
+import psutil.tests
from psutil import FREEBSD
from psutil import NETBSD
from psutil import POSIX
from psutil._common import open_binary
from psutil._common import open_text
from psutil._common import supports_ipv6
+from psutil.tests import CI_TESTING
+from psutil.tests import HAS_CONNECTIONS_UNIX
+from psutil.tests import PYTHON_EXE
+from psutil.tests import PsutilTestCase
+from psutil.tests import TestMemoryLeak
from psutil.tests import bind_socket
from psutil.tests import bind_unix_socket
from psutil.tests import call_until
from psutil.tests import chdir
-from psutil.tests import CI_TESTING
from psutil.tests import create_sockets
from psutil.tests import get_free_port
-from psutil.tests import HAS_CONNECTIONS_UNIX
from psutil.tests import is_namedtuple
from psutil.tests import mock
from psutil.tests import process_namespace
-from psutil.tests import PsutilTestCase
-from psutil.tests import PYTHON_EXE
from psutil.tests import reap_children
from psutil.tests import retry
from psutil.tests import retry_on_failure
@@ -45,13 +48,11 @@ from psutil.tests import serialrun
from psutil.tests import system_namespace
from psutil.tests import tcp_socketpair
from psutil.tests import terminate
-from psutil.tests import TestMemoryLeak
from psutil.tests import unittest
from psutil.tests import unix_socketpair
from psutil.tests import wait_for_file
from psutil.tests import wait_for_pid
-import psutil
-import psutil.tests
+
# ===================================================================
# --- Unit tests for test utilities.
diff --git a/psutil/tests/test_unicode.py b/psutil/tests/test_unicode.py
index 9edb8c89..e6357269 100755
--- a/psutil/tests/test_unicode.py
+++ b/psutil/tests/test_unicode.py
@@ -79,6 +79,7 @@ import traceback
import warnings
from contextlib import closing
+import psutil
from psutil import BSD
from psutil import OPENBSD
from psutil import POSIX
@@ -87,28 +88,27 @@ from psutil._compat import PY3
from psutil._compat import u
from psutil.tests import APPVEYOR
from psutil.tests import ASCII_FS
-from psutil.tests import bind_unix_socket
-from psutil.tests import chdir
from psutil.tests import CI_TESTING
-from psutil.tests import copyload_shared_lib
-from psutil.tests import create_exe
-from psutil.tests import get_testfn
from psutil.tests import HAS_CONNECTIONS_UNIX
from psutil.tests import HAS_ENVIRON
from psutil.tests import HAS_MEMORY_MAPS
from psutil.tests import INVALID_UNICODE_SUFFIX
-from psutil.tests import PsutilTestCase
from psutil.tests import PYPY
+from psutil.tests import TESTFN_PREFIX
+from psutil.tests import UNICODE_SUFFIX
+from psutil.tests import PsutilTestCase
+from psutil.tests import bind_unix_socket
+from psutil.tests import chdir
+from psutil.tests import copyload_shared_lib
+from psutil.tests import create_exe
+from psutil.tests import get_testfn
from psutil.tests import safe_mkdir
from psutil.tests import safe_rmpath
from psutil.tests import serialrun
from psutil.tests import skip_on_access_denied
from psutil.tests import spawn_testproc
from psutil.tests import terminate
-from psutil.tests import TESTFN_PREFIX
-from psutil.tests import UNICODE_SUFFIX
from psutil.tests import unittest
-import psutil
if APPVEYOR:
diff --git a/psutil/tests/test_windows.py b/psutil/tests/test_windows.py
index d9b65adb..ea694be4 100755
--- a/psutil/tests/test_windows.py
+++ b/psutil/tests/test_windows.py
@@ -27,15 +27,15 @@ from psutil.tests import APPVEYOR
from psutil.tests import GITHUB_ACTIONS
from psutil.tests import HAS_BATTERY
from psutil.tests import IS_64BIT
-from psutil.tests import mock
-from psutil.tests import PsutilTestCase
from psutil.tests import PY3
from psutil.tests import PYPY
+from psutil.tests import TOLERANCE_DISK_USAGE
+from psutil.tests import PsutilTestCase
+from psutil.tests import mock
from psutil.tests import retry_on_failure
from psutil.tests import sh
from psutil.tests import spawn_testproc
from psutil.tests import terminate
-from psutil.tests import TOLERANCE_DISK_USAGE
from psutil.tests import unittest
diff --git a/scripts/battery.py b/scripts/battery.py
index edf4ce8c..bf0503e0 100755
--- a/scripts/battery.py
+++ b/scripts/battery.py
@@ -15,6 +15,7 @@ plugged in: no
"""
from __future__ import print_function
+
import sys
import psutil
diff --git a/scripts/cpu_distribution.py b/scripts/cpu_distribution.py
index fb39d888..ba71ca9c 100755
--- a/scripts/cpu_distribution.py
+++ b/scripts/cpu_distribution.py
@@ -40,6 +40,7 @@ kwork
"""
from __future__ import print_function
+
import collections
import os
import sys
diff --git a/scripts/disk_usage.py b/scripts/disk_usage.py
index 851ae9b1..65ae3138 100755
--- a/scripts/disk_usage.py
+++ b/scripts/disk_usage.py
@@ -15,8 +15,9 @@ Device Total Used Free Use % Type Mount
/dev/sda2 600.0M 312.4M 287.6M 52% fuseblk /media/Recovery
"""
-import sys
import os
+import sys
+
import psutil
from psutil._common import bytes2human
diff --git a/scripts/fans.py b/scripts/fans.py
index 179af631..30427715 100755
--- a/scripts/fans.py
+++ b/scripts/fans.py
@@ -13,6 +13,7 @@ asus
"""
from __future__ import print_function
+
import sys
import psutil
diff --git a/scripts/ifconfig.py b/scripts/ifconfig.py
index ae137fb4..23fd26b4 100755
--- a/scripts/ifconfig.py
+++ b/scripts/ifconfig.py
@@ -44,6 +44,7 @@ wlp3s0:
"""
from __future__ import print_function
+
import socket
import psutil
diff --git a/scripts/internal/bench_oneshot.py b/scripts/internal/bench_oneshot.py
index 436bdd6b..60595876 100755
--- a/scripts/internal/bench_oneshot.py
+++ b/scripts/internal/bench_oneshot.py
@@ -10,10 +10,12 @@ Process.oneshot() ctx manager.
See: https://github.com/giampaolo/psutil/issues/799
"""
-from __future__ import print_function, division
+from __future__ import division
+from __future__ import print_function
+
import sys
-import timeit
import textwrap
+import timeit
import psutil
diff --git a/scripts/internal/bench_oneshot_2.py b/scripts/internal/bench_oneshot_2.py
index 3867391b..051d0036 100755
--- a/scripts/internal/bench_oneshot_2.py
+++ b/scripts/internal/bench_oneshot_2.py
@@ -12,9 +12,9 @@ supposed to be more precise.
import sys
import pyperf # requires "pip install pyperf"
+from bench_oneshot import names
import psutil
-from bench_oneshot import names
p = psutil.Process()
diff --git a/scripts/internal/check_broken_links.py b/scripts/internal/check_broken_links.py
index e66448fd..1a076116 100755
--- a/scripts/internal/check_broken_links.py
+++ b/scripts/internal/check_broken_links.py
@@ -40,6 +40,7 @@ Author: Himanshu Shekhar <https://github.com/himanshub16> (2017)
"""
from __future__ import print_function
+
import concurrent.futures
import functools
import os
diff --git a/scripts/internal/clinter.py b/scripts/internal/clinter.py
index fde1a3f2..384951da 100755
--- a/scripts/internal/clinter.py
+++ b/scripts/internal/clinter.py
@@ -7,6 +7,7 @@
"""A super simple linter to check C syntax."""
from __future__ import print_function
+
import argparse
import sys
diff --git a/scripts/internal/convert_readme.py b/scripts/internal/convert_readme.py
index d6cae918..cca7dcb0 100755
--- a/scripts/internal/convert_readme.py
+++ b/scripts/internal/convert_readme.py
@@ -11,6 +11,7 @@ Convert README.rst format to make it compatible with PyPI (no raw html).
import re
import sys
+
summary = """\
Quick links
===========
diff --git a/scripts/internal/download_wheels_appveyor.py b/scripts/internal/download_wheels_appveyor.py
index 5e633d52..e4d6ffc0 100755
--- a/scripts/internal/download_wheels_appveyor.py
+++ b/scripts/internal/download_wheels_appveyor.py
@@ -13,11 +13,13 @@ http://code.saghul.net/index.php/2015/09/09/
"""
from __future__ import print_function
+
import concurrent.futures
import os
-import requests
import sys
+import requests
+
from psutil import __version__ as PSUTIL_VERSION
from psutil._common import bytes2human
from psutil._common import print_color
diff --git a/scripts/internal/download_wheels_github.py b/scripts/internal/download_wheels_github.py
index a344ec49..00f57116 100755
--- a/scripts/internal/download_wheels_github.py
+++ b/scripts/internal/download_wheels_github.py
@@ -18,10 +18,11 @@ https://developer.github.com/v3/actions/artifacts/
import argparse
import json
import os
-import requests
import sys
import zipfile
+import requests
+
from psutil import __version__ as PSUTIL_VERSION
from psutil._common import bytes2human
from psutil.tests import safe_rmpath
diff --git a/scripts/internal/fix_flake8.py b/scripts/internal/fix_flake8.py
index 7cde608b..14fbb4d2 100755
--- a/scripts/internal/fix_flake8.py
+++ b/scripts/internal/fix_flake8.py
@@ -11,9 +11,9 @@ an error/warning. Usage (from the root dir):
$ python3 -m flake8 --exit-zero | python3 scripts/fix_flake8.py
"""
+import shutil
import sys
import tempfile
-import shutil
from collections import defaultdict
from collections import namedtuple
from pprint import pprint as pp # NOQA
diff --git a/scripts/internal/git_pre_commit.py b/scripts/internal/git_pre_commit.py
index 2ec4303d..92bc0f0a 100755
--- a/scripts/internal/git_pre_commit.py
+++ b/scripts/internal/git_pre_commit.py
@@ -20,6 +20,7 @@ Install this with "make install-git-hooks".
"""
from __future__ import print_function
+
import os
import subprocess
import sys
@@ -115,14 +116,26 @@ def main():
print("%s:%s %s" % (path, lineno, line))
return exit("bare except clause")
- # Python linter
+ # Python linters
if py_files:
+ # Flake8
assert os.path.exists('.flake8')
# XXX: we should escape spaces and possibly other amenities here
cmd = "%s -m flake8 --config=.flake8 %s" % (PYTHON, " ".join(py_files))
ret = subprocess.call(cmd, shell=True)
if ret != 0:
- return exit("python code is not flake8 compliant")
+ return exit("python code is not flake8 compliant; "
+ "try running 'make fix-flake8'")
+
+ # isort
+ assert os.path.exists('.isort.cfg')
+ cmd = "%s -m isort --settings=.isort.cfg --check-only %s" % (
+ PYTHON, " ".join(py_files))
+ ret = subprocess.call(cmd, shell=True)
+ if ret != 0:
+ return exit("python code is not flake8 compliant; "
+ "try running 'make fix-imports'")
+
# C linter
if c_files:
# XXX: we should escape spaces and possibly other amenities here
diff --git a/scripts/internal/print_access_denied.py b/scripts/internal/print_access_denied.py
index 81d192f0..f3d0166e 100755
--- a/scripts/internal/print_access_denied.py
+++ b/scripts/internal/print_access_denied.py
@@ -45,9 +45,11 @@ open_files 238 71.3% ACCESS DENIED
Totals: access-denied=1744, calls=10020, processes=334
"""
-from __future__ import print_function, division
-from collections import defaultdict
+from __future__ import division
+from __future__ import print_function
+
import time
+from collections import defaultdict
import psutil
from psutil._common import print_color
diff --git a/scripts/internal/print_api_speed.py b/scripts/internal/print_api_speed.py
index e39a1baa..ee2e3254 100755
--- a/scripts/internal/print_api_speed.py
+++ b/scripts/internal/print_api_speed.py
@@ -25,10 +25,12 @@ ionice 0.000013
...
"""
-from __future__ import print_function, division
-from timeit import default_timer as timer
+from __future__ import division
+from __future__ import print_function
+
import inspect
import os
+from timeit import default_timer as timer
import psutil
from psutil._common import print_color
diff --git a/scripts/internal/print_downloads.py b/scripts/internal/print_downloads.py
index 7e5c4631..b6df3b38 100755
--- a/scripts/internal/print_downloads.py
+++ b/scripts/internal/print_downloads.py
@@ -13,6 +13,7 @@ Useful sites:
"""
from __future__ import print_function
+
import json
import os
import subprocess
diff --git a/scripts/internal/print_wheels.py b/scripts/internal/print_wheels.py
index d13a6aa7..5e5faccd 100755
--- a/scripts/internal/print_wheels.py
+++ b/scripts/internal/print_wheels.py
@@ -10,8 +10,8 @@ import collections
import glob
import os
-from psutil._common import print_color
from psutil._common import bytes2human
+from psutil._common import print_color
class Wheel:
diff --git a/scripts/internal/tidelift.py b/scripts/internal/tidelift.py
index fcba3e61..9470fc85 100755
--- a/scripts/internal/tidelift.py
+++ b/scripts/internal/tidelift.py
@@ -10,8 +10,11 @@ Put your Tidelift API token in a file first:
"""
from __future__ import print_function
+
import os
+
import requests
+
import psutil
from psutil.tests import import_module_by_path
diff --git a/scripts/internal/winmake.py b/scripts/internal/winmake.py
index 933951a2..4452ef09 100755
--- a/scripts/internal/winmake.py
+++ b/scripts/internal/winmake.py
@@ -12,6 +12,7 @@ that they should be deemed illegal!
"""
from __future__ import print_function
+
import argparse
import atexit
import ctypes
@@ -378,7 +379,7 @@ def setup_dev_env():
sh("%s -m pip install -U %s" % (PYTHON, " ".join(DEPS)))
-def lint():
+def check_flake8():
"""Run flake8 against all py files"""
py_files = subprocess.check_output("git ls-files")
if PY3:
@@ -560,7 +561,7 @@ def main():
sp.add_parser('install', help="build + install in develop/edit mode")
sp.add_parser('install-git-hooks', help="install GIT pre-commit hook")
sp.add_parser('install-pip', help="install pip")
- sp.add_parser('lint', help="run flake8 against all py files")
+ sp.add_parser('check_flake8', help="run flake8 against all py files")
sp.add_parser('print-access-denied', help="print AD exceptions")
sp.add_parser('print-api-speed', help="benchmark all API calls")
sp.add_parser('setup-dev-env', help="install deps")
diff --git a/scripts/iotop.py b/scripts/iotop.py
index 04683673..91bc3b18 100755
--- a/scripts/iotop.py
+++ b/scripts/iotop.py
@@ -30,8 +30,10 @@ PID USER DISK READ DISK WRITE COMMAND
Author: Giampaolo Rodola' <g.rodola@gmail.com>
"""
-import time
import sys
+import time
+
+
try:
import curses
except ImportError:
diff --git a/scripts/killall.py b/scripts/killall.py
index 7bbcd75a..d985185f 100755
--- a/scripts/killall.py
+++ b/scripts/killall.py
@@ -10,6 +10,7 @@ Kill a process by name.
import os
import sys
+
import psutil
diff --git a/scripts/netstat.py b/scripts/netstat.py
index 1832a096..476b082e 100755
--- a/scripts/netstat.py
+++ b/scripts/netstat.py
@@ -20,7 +20,9 @@ tcp 172.17.42.1:55797 127.0.0.1:443 CLOSE_WAIT 13651 GoogleTalkPlugi
"""
import socket
-from socket import AF_INET, SOCK_STREAM, SOCK_DGRAM
+from socket import AF_INET
+from socket import SOCK_DGRAM
+from socket import SOCK_STREAM
import psutil
diff --git a/scripts/nettop.py b/scripts/nettop.py
index 8cc19fda..9e1abe76 100755
--- a/scripts/nettop.py
+++ b/scripts/nettop.py
@@ -31,8 +31,10 @@ pkts-sent 0 0
pkts-recv 1214470 0
"""
-import time
import sys
+import time
+
+
try:
import curses
except ImportError:
diff --git a/scripts/pidof.py b/scripts/pidof.py
index ee18aae4..da937107 100755
--- a/scripts/pidof.py
+++ b/scripts/pidof.py
@@ -12,9 +12,11 @@ $ pidof python
"""
from __future__ import print_function
-import psutil
+
import sys
+import psutil
+
def pidof(pgname):
pids = []
diff --git a/scripts/procsmem.py b/scripts/procsmem.py
index 1074c4c2..ca03729e 100755
--- a/scripts/procsmem.py
+++ b/scripts/procsmem.py
@@ -36,6 +36,7 @@ PID User Cmdline USS PSS Swap RSS
"""
from __future__ import print_function
+
import sys
import psutil
diff --git a/scripts/pstree.py b/scripts/pstree.py
index dba9f1bd..18732b8c 100755
--- a/scripts/pstree.py
+++ b/scripts/pstree.py
@@ -29,6 +29,7 @@ $ python3 scripts/pstree.py
"""
from __future__ import print_function
+
import collections
import sys
diff --git a/scripts/sensors.py b/scripts/sensors.py
index 911d7c9b..3dc82380 100755
--- a/scripts/sensors.py
+++ b/scripts/sensors.py
@@ -30,6 +30,7 @@ Battery:
"""
from __future__ import print_function
+
import psutil
diff --git a/scripts/temperatures.py b/scripts/temperatures.py
index f2dd51a7..90097e51 100755
--- a/scripts/temperatures.py
+++ b/scripts/temperatures.py
@@ -24,6 +24,7 @@ coretemp
"""
from __future__ import print_function
+
import sys
import psutil
diff --git a/scripts/top.py b/scripts/top.py
index 989f8306..e07a58f1 100755
--- a/scripts/top.py
+++ b/scripts/top.py
@@ -36,6 +36,8 @@ PID USER NI VIRT RES CPU% MEM% TIME+ NAME
import datetime
import sys
import time
+
+
try:
import curses
except ImportError:
diff --git a/setup.py b/setup.py
index 90ae5170..7521d08e 100755
--- a/setup.py
+++ b/setup.py
@@ -7,6 +7,7 @@
"""Cross-platform lib for process and system monitoring in Python."""
from __future__ import print_function
+
import contextlib
import io
import os
@@ -19,14 +20,17 @@ import sys
import tempfile
import warnings
+
with warnings.catch_warnings():
warnings.simplefilter("ignore")
try:
import setuptools
- from setuptools import setup, Extension
+ from setuptools import Extension
+ from setuptools import setup
except ImportError:
setuptools = None
- from distutils.core import setup, Extension
+ from distutils.core import Extension
+ from distutils.core import setup
HERE = os.path.abspath(os.path.dirname(__file__))
@@ -36,7 +40,6 @@ sys.path.insert(0, os.path.join(HERE, "psutil"))
from _common import AIX # NOQA
from _common import BSD # NOQA
from _common import FREEBSD # NOQA
-from _common import hilite # NOQA
from _common import LINUX # NOQA
from _common import MACOS # NOQA
from _common import NETBSD # NOQA
@@ -44,6 +47,7 @@ from _common import OPENBSD # NOQA
from _common import POSIX # NOQA
from _common import SUNOS # NOQA
from _common import WINDOWS # NOQA
+from _common import hilite # NOQA
from _compat import PY3 # NOQA
from _compat import which # NOQA
@@ -236,8 +240,8 @@ elif NETBSD:
elif LINUX:
def get_ethtool_macro():
# see: https://github.com/giampaolo/psutil/issues/659
- from distutils.unixccompiler import UnixCCompiler
from distutils.errors import CompileError
+ from distutils.unixccompiler import UnixCCompiler
with tempfile.NamedTemporaryFile(
suffix='.c', delete=False, mode="wt") as f: