diff --git a/changelogs/fragments/unused-imports-core.yml b/changelogs/fragments/unused-imports-core.yml new file mode 100644 index 00000000000..72c7b6d7bca --- /dev/null +++ b/changelogs/fragments/unused-imports-core.yml @@ -0,0 +1,2 @@ +minor_changes: + - Cleaned up unused imports in core. diff --git a/lib/ansible/cli/scripts/ansible_connection_cli_stub.py b/lib/ansible/cli/scripts/ansible_connection_cli_stub.py index 2dcc66c6b25..446f41ab21d 100755 --- a/lib/ansible/cli/scripts/ansible_connection_cli_stub.py +++ b/lib/ansible/cli/scripts/ansible_connection_cli_stub.py @@ -6,7 +6,6 @@ from __future__ import (absolute_import, division, print_function) __metaclass__ = type -import argparse import fcntl import hashlib import io diff --git a/lib/ansible/collections/list.py b/lib/ansible/collections/list.py index 3cb509c7e7c..a867af2429f 100644 --- a/lib/ansible/collections/list.py +++ b/lib/ansible/collections/list.py @@ -6,8 +6,6 @@ __metaclass__ = type import os -from collections import defaultdict - from ansible.errors import AnsibleError from ansible.cli.galaxy import with_collection_artifacts_manager from ansible.galaxy.collection import find_existing_collections diff --git a/lib/ansible/compat/importlib_resources.py b/lib/ansible/compat/importlib_resources.py index cbd537f6903..ed104d6c5d0 100644 --- a/lib/ansible/compat/importlib_resources.py +++ b/lib/ansible/compat/importlib_resources.py @@ -10,7 +10,7 @@ HAS_IMPORTLIB_RESOURCES = False if sys.version_info < (3, 10): try: - from importlib_resources import files # type: ignore[import] + from importlib_resources import files # type: ignore[import] # pylint: disable=unused-import except ImportError: files = None # type: ignore[assignment] else: diff --git a/lib/ansible/config/manager.py b/lib/ansible/config/manager.py index e1fde1d30aa..203f7180fd8 100644 --- a/lib/ansible/config/manager.py +++ b/lib/ansible/config/manager.py @@ -11,7 +11,6 @@ import os.path import sys import stat import tempfile -import traceback from collections import namedtuple from collections.abc import Mapping, Sequence diff --git a/lib/ansible/executor/action_write_locks.py b/lib/ansible/executor/action_write_locks.py index fd827440ad6..d2acae9b6ff 100644 --- a/lib/ansible/executor/action_write_locks.py +++ b/lib/ansible/executor/action_write_locks.py @@ -15,9 +15,7 @@ # You should have received a copy of the GNU General Public License # along with Ansible. If not, see . -# Make coding more python3-ish -from __future__ import (absolute_import, division, print_function) -__metaclass__ = type +from __future__ import annotations import multiprocessing.synchronize @@ -29,7 +27,7 @@ if 'action_write_locks' not in globals(): # Do not initialize this more than once because it seems to bash # the existing one. multiprocessing must be reloading the module # when it forks? - action_write_locks = dict() # type: dict[str | None, multiprocessing.synchronize.Lock] + action_write_locks: dict[str | None, multiprocessing.synchronize.Lock] = dict() # Below is a Lock for use when we weren't expecting a named module. It gets used when an action # plugin invokes a module whose name does not match with the action's name. Slightly less diff --git a/lib/ansible/executor/task_executor.py b/lib/ansible/executor/task_executor.py index 1f35031f8c1..c7a36fad264 100644 --- a/lib/ansible/executor/task_executor.py +++ b/lib/ansible/executor/task_executor.py @@ -27,7 +27,7 @@ from ansible.playbook.task import Task from ansible.plugins import get_plugin_class from ansible.plugins.loader import become_loader, cliconf_loader, connection_loader, httpapi_loader, netconf_loader, terminal_loader from ansible.template import Templar -from ansible.utils.collection_loader import AnsibleCollectionConfig, AnsibleCollectionRef +from ansible.utils.collection_loader import AnsibleCollectionConfig from ansible.utils.listify import listify_lookup_plugin_terms from ansible.utils.unsafe_proxy import to_unsafe_text, wrap_var from ansible.vars.clean import namespace_facts, clean_facts diff --git a/lib/ansible/galaxy/dependency_resolution/errors.py b/lib/ansible/galaxy/dependency_resolution/errors.py index ae3b4396d70..acd885750d9 100644 --- a/lib/ansible/galaxy/dependency_resolution/errors.py +++ b/lib/ansible/galaxy/dependency_resolution/errors.py @@ -7,7 +7,7 @@ from __future__ import (absolute_import, division, print_function) __metaclass__ = type try: - from resolvelib.resolvers import ( + from resolvelib.resolvers import ( # pylint: disable=unused-import ResolutionImpossible as CollectionDependencyResolutionImpossible, InconsistentCandidate as CollectionDependencyInconsistentCandidate, ) diff --git a/lib/ansible/parsing/ajson.py b/lib/ansible/parsing/ajson.py index 8049755b0ab..48242271516 100644 --- a/lib/ansible/parsing/ajson.py +++ b/lib/ansible/parsing/ajson.py @@ -8,7 +8,7 @@ __metaclass__ = type import json # Imported for backwards compat -from ansible.module_utils.common.json import AnsibleJSONEncoder +from ansible.module_utils.common.json import AnsibleJSONEncoder # pylint: disable=unused-import from ansible.parsing.vault import VaultLib from ansible.parsing.yaml.objects import AnsibleVaultEncryptedUnicode diff --git a/lib/ansible/parsing/yaml/objects.py b/lib/ansible/parsing/yaml/objects.py index a2e2a66baa1..40df65fa42f 100644 --- a/lib/ansible/parsing/yaml/objects.py +++ b/lib/ansible/parsing/yaml/objects.py @@ -19,14 +19,10 @@ from __future__ import (absolute_import, division, print_function) __metaclass__ = type -import string import sys as _sys from collections.abc import Sequence -import sys -import yaml - from ansible.module_utils.six import text_type from ansible.module_utils._text import to_bytes, to_text, to_native diff --git a/lib/ansible/playbook/attribute.py b/lib/ansible/playbook/attribute.py index b28405d2430..a37910f672e 100644 --- a/lib/ansible/playbook/attribute.py +++ b/lib/ansible/playbook/attribute.py @@ -19,8 +19,6 @@ from __future__ import (absolute_import, division, print_function) __metaclass__ = type -from copy import copy, deepcopy - from ansible.utils.sentinel import Sentinel _CONTAINERS = frozenset(('list', 'dict', 'set')) diff --git a/lib/ansible/playbook/conditional.py b/lib/ansible/playbook/conditional.py index fe07358cbdf..a2850e3d405 100644 --- a/lib/ansible/playbook/conditional.py +++ b/lib/ansible/playbook/conditional.py @@ -25,10 +25,9 @@ import re from jinja2.compiler import generate from jinja2.exceptions import UndefinedError -from ansible import constants as C from ansible.errors import AnsibleError, AnsibleUndefinedVariable from ansible.module_utils.six import text_type -from ansible.module_utils._text import to_native, to_text +from ansible.module_utils._text import to_native from ansible.playbook.attribute import FieldAttribute from ansible.utils.display import Display diff --git a/lib/ansible/playbook/helpers.py b/lib/ansible/playbook/helpers.py index 444f571e99b..13d3dcbeb79 100644 --- a/lib/ansible/playbook/helpers.py +++ b/lib/ansible/playbook/helpers.py @@ -21,9 +21,8 @@ __metaclass__ = type import os from ansible import constants as C -from ansible.errors import AnsibleParserError, AnsibleUndefinedVariable, AnsibleFileNotFound, AnsibleAssertionError +from ansible.errors import AnsibleParserError, AnsibleUndefinedVariable, AnsibleAssertionError from ansible.module_utils._text import to_native -from ansible.module_utils.six import string_types from ansible.parsing.mod_args import ModuleArgsParser from ansible.utils.display import Display diff --git a/lib/ansible/playbook/play_context.py b/lib/ansible/playbook/play_context.py index 90de9293649..1235a81fb92 100644 --- a/lib/ansible/playbook/play_context.py +++ b/lib/ansible/playbook/play_context.py @@ -23,11 +23,9 @@ __metaclass__ = type from ansible import constants as C from ansible import context -from ansible.module_utils.compat.paramiko import paramiko from ansible.playbook.attribute import FieldAttribute from ansible.playbook.base import Base from ansible.utils.display import Display -from ansible.utils.ssh_functions import check_for_controlpersist display = Display() diff --git a/lib/ansible/playbook/playbook_include.py b/lib/ansible/playbook/playbook_include.py index 03210ea37dc..3ea1d0ac1e1 100644 --- a/lib/ansible/playbook/playbook_include.py +++ b/lib/ansible/playbook/playbook_include.py @@ -25,7 +25,7 @@ import ansible.constants as C from ansible.errors import AnsibleParserError, AnsibleAssertionError from ansible.module_utils._text import to_bytes from ansible.module_utils.six import string_types -from ansible.parsing.splitter import split_args, parse_kv +from ansible.parsing.splitter import split_args from ansible.parsing.yaml.objects import AnsibleBaseYAMLObject, AnsibleMapping from ansible.playbook.attribute import FieldAttribute from ansible.playbook.base import Base diff --git a/lib/ansible/playbook/role_include.py b/lib/ansible/playbook/role_include.py index 23d3af039d3..efb29727fbd 100644 --- a/lib/ansible/playbook/role_include.py +++ b/lib/ansible/playbook/role_include.py @@ -23,7 +23,6 @@ from os.path import basename import ansible.constants as C from ansible.errors import AnsibleParserError from ansible.playbook.attribute import FieldAttribute -from ansible.playbook.block import Block from ansible.playbook.task_include import TaskInclude from ansible.playbook.role import Role from ansible.playbook.role.include import RoleInclude diff --git a/lib/ansible/plugins/list.py b/lib/ansible/plugins/list.py index 236fcc78cda..1e0433d3912 100644 --- a/lib/ansible/plugins/list.py +++ b/lib/ansible/plugins/list.py @@ -14,7 +14,7 @@ from ansible.errors import AnsibleError from ansible.module_utils._text import to_native, to_bytes from ansible.plugins import loader from ansible.utils.display import Display -from ansible.utils.collection_loader._collection_finder import _get_collection_path, AnsibleCollectionRef +from ansible.utils.collection_loader._collection_finder import _get_collection_path display = Display() diff --git a/lib/ansible/plugins/loader.py b/lib/ansible/plugins/loader.py index 66d9c7e5be9..eb61ec31fe4 100644 --- a/lib/ansible/plugins/loader.py +++ b/lib/ansible/plugins/loader.py @@ -30,7 +30,7 @@ from ansible.plugins import get_plugin_class, MODULE_CACHE, PATH_CACHE, PLUGIN_P from ansible.utils.collection_loader import AnsibleCollectionConfig, AnsibleCollectionRef from ansible.utils.collection_loader._collection_finder import _AnsibleCollectionFinder, _get_collection_metadata from ansible.utils.display import Display -from ansible.utils.plugin_docs import add_fragments, find_plugin_docfile +from ansible.utils.plugin_docs import add_fragments # TODO: take the packaging dep, or vendor SpecifierSet? diff --git a/lib/ansible/utils/unsafe_proxy.py b/lib/ansible/utils/unsafe_proxy.py index d78ebf6e8da..d7c07730efd 100644 --- a/lib/ansible/utils/unsafe_proxy.py +++ b/lib/ansible/utils/unsafe_proxy.py @@ -57,7 +57,7 @@ from collections.abc import Mapping, Set from ansible.module_utils._text import to_bytes, to_text from ansible.module_utils.common.collections import is_sequence -from ansible.module_utils.six import string_types, binary_type, text_type +from ansible.module_utils.six import binary_type, text_type from ansible.utils.native_jinja import NativeJinjaText diff --git a/lib/ansible/utils/version.py b/lib/ansible/utils/version.py index c045e7d1c86..e7da9fdbf69 100644 --- a/lib/ansible/utils/version.py +++ b/lib/ansible/utils/version.py @@ -9,8 +9,6 @@ import re from ansible.module_utils.compat.version import LooseVersion, Version -from ansible.module_utils.six import text_type - # Regular expression taken from # https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string diff --git a/lib/ansible/vars/clean.py b/lib/ansible/vars/clean.py index 1de6fcfa013..c49e63ec109 100644 --- a/lib/ansible/vars/clean.py +++ b/lib/ansible/vars/clean.py @@ -13,7 +13,6 @@ from collections.abc import MutableMapping, MutableSequence from ansible import constants as C from ansible.errors import AnsibleError from ansible.module_utils import six -from ansible.module_utils._text import to_text from ansible.plugins.loader import connection_loader from ansible.utils.display import Display