Repository: ansible/ansible-navigator (language: python)

Issue:
Unpin `astroid` in `tox.ini`
astroid is a dep for pylint, > 2.9.0 introduces false no-name-in-module and no-member errors
attempt to remove when astroid 2.9.4 or later is released
related: https://github.com/PyCQA/pylint/issues/5131

Sample errors:

```
src/ansible_navigator/actions/run.py:42:0: E0611: No name 'round_half_up' in module 'ansible_navigator.utils' (no-name-in-module)
************* Module ansible_navigator.actions.write_file
src/ansible_navigator/actions/write_file.py:11:0: E0611: No name 'remove_dbl_un' in module 'ansible_navigator.utils' (no-name-in-module)
************* Module ansible_navigator.actions.template
src/ansible_navigator/actions/template.py:14:0: E0611: No name 'remove_dbl_un' in module 'ansible_navigator.utils' (no-name-in-module)
src/ansible_navigator/actions/template.py:15:0: E0611: No name 'templar' in module 'ansible_navigator.utils' (no-name-in-module)
************* Module ansible_navigator.image_manager.inspector
src/ansible_navigator/image_manager/inspector.py:11:0: E0611: No name 'pascal_to_snake' in module 'ansible_navigator.utils' (no-name-in-module)
************* Module ansible_navigator.image_manager.puller
src/ansible_navigator/image_manager/puller.py:8:0: E0611: No name 'ExitMessage' in module 'ansible_navigator.utils' (no-name-in-module)
src/ansible_navigator/image_manager/puller.py:9:0: E0611: No name 'ExitPrefix' in module 'ansible_navigator.utils' (no-name-in-module)
src/ansible_navigator/image_manager/puller.py:10:0: E0611: No name 'LogMessage' in module 'ansible_navigator.utils' (no-name-in-module)
************* Module tests.unit.test_image_introspection
tests/unit/test_image_introspection.py:48:47: E1101: Module 'ansible_navigator.utils' has no 'get_share_directory' member (no-member)
************* Module tests.unit.test_utils
tests/unit/test_utils.py:28:39: E1101: Module 'ansible_navigator.utils' has no 'find_settings_file' member (no-member)
tests/unit/test_utils.py:29:38: E1101: Module 'ansible_navigator.utils' has no 'oxfordcomma' member (no-member)
tests/unit/test_utils.py:42:39: E1101: Module 'ansible_navigator.utils' has no 'find_settings_file' member (no-member)
tests/unit/test_utils.py:43:38: E1101: Module 'ansible_navigator.utils' has no 'oxfordcomma' member (no-member)
tests/unit/test_utils.py:57:39: E1101: Module 'ansible_navigator.utils' has no 'find_settings_file' member (no-member)
tests/unit/test_utils.py:81:40: E1101: Module 'ansible_navigator.utils' has no 'environment_variable_is_file_path' member (no-member)
tests/unit/test_utils.py:100:20: E1101: Module 'ansible_navigator.utils' has no 'flatten_list' member (no-member)
tests/unit/test_utils.py:128:13: E1101: Module 'ansible_navigator.utils' has no 'human_time' member (no-member)
tests/unit/test_utils.py:138:13: E1101: Module 'ansible_navigator.utils' has no 'human_time' member (no-member)
tests/unit/test_utils.py:148:13: E1101: Module 'ansible_navigator.utils' has no 'human_time' member (no-member)
tests/unit/test_utils.py:158:13: E1101: Module 'ansible_navigator.utils' has no 'human_time' member (no-member)
tests/unit/test_utils.py:189:13: E1101: Module 'ansible_navigator.utils' has no 'round_half_up' member (no-member)
************* Module tests.unit.configuration_subsystem.conftest
tests/unit/configuration_subsystem/conftest.py:18:0: E0611: No name 'ExitMessage' in module 'ansible_navigator.utils' (no-name-in-module)
tests/unit/configuration_subsystem/conftest.py:19:0: E0611: No name 'LogMessage' in module 'ansible_navigator.utils' (no-name-in-module)
************* Module tests.unit.configuration_subsystem.test_invalid_params
tests/unit/configuration_subsystem/test_invalid_params.py:10:0: E0611: No name 'ExitMessage' in module 'ansible_navigator.utils' (no-name-in-module)
```



Discussion / hints:

Fix patch:
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 6bdb29df7..96dfd64ed 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -213,7 +213,7 @@ repos:
           - --python-version=3.8
 
   - repo: https://github.com/pycqa/pylint.git
-    rev: v2.12.2
+    rev: v2.13.2
     hooks:
       - id: pylint
         args:
@@ -224,11 +224,7 @@ repos:
           - tests/
         additional_dependencies:
           - ansible-core
-          # astroid is a transitive dep for pylint, > 2.9.0 introduces false no-name-in-module and no-member errors
-          # attempt to remove this when astroid 2.9.4 or later is released
-          # related: https://github.com/PyCQA/pylint/issues/5131
-          # related: https://github.com/ansible/ansible-navigator/issues/772
-          - astroid == 2.9.0
+          - astroid
           - ansible-runner
           - jinja2
           - jsonschema
diff --git a/src/ansible_navigator/configuration_subsystem/definitions.py b/src/ansible_navigator/configuration_subsystem/definitions.py
index 62ba633f9..0f57a2586 100644
--- a/src/ansible_navigator/configuration_subsystem/definitions.py
+++ b/src/ansible_navigator/configuration_subsystem/definitions.py
@@ -303,7 +303,7 @@ class VolumeMountOption(Enum):
     z = "z"  # pylint: disable=invalid-name
 
 
-V = TypeVar("V", bound="VolumeMount")  # pylint: disable=invalid-name
+V = TypeVar("V", bound="VolumeMount")
 
 
 class VolumeMountError(Exception):
diff --git a/src/ansible_navigator/content_defs.py b/src/ansible_navigator/content_defs.py
index 9ada6f563..f57eecce2 100644
--- a/src/ansible_navigator/content_defs.py
+++ b/src/ansible_navigator/content_defs.py
@@ -25,7 +25,7 @@ class ContentView(Enum):
     NORMAL = "normal"
 
 
-T = TypeVar("T")  # pylint:disable=invalid-name # https://github.com/PyCQA/pylint/pull/5221
+T = TypeVar("T")
 DictType: "TypeAlias" = Dict[str, T]
 
 
diff --git a/src/ansible_navigator/steps.py b/src/ansible_navigator/steps.py
index 52f425587..fdf76e389 100644
--- a/src/ansible_navigator/steps.py
+++ b/src/ansible_navigator/steps.py
@@ -141,7 +141,7 @@ class StepType(Enum):
     CONTENT = "content"
 
 
-T = TypeVar("T")  # pylint: disable=invalid-name
+T = TypeVar("T")
 
 
 @dataclass


Test patch:
diff --git a/tests/unit/configuration_subsystem/test_previous_cli.py b/tests/unit/configuration_subsystem/test_previous_cli.py
index 4514cdd3b..11c4fa6a3 100644
--- a/tests/unit/configuration_subsystem/test_previous_cli.py
+++ b/tests/unit/configuration_subsystem/test_previous_cli.py
@@ -43,7 +43,7 @@ def test_apply_previous_cli_all():
         params=params.split(),
     )
     _messages, exit_messages = configurator.configure()
-    assert exit_messages == []
+    assert not exit_messages
     assert isinstance(application_configuration.initial, ApplicationConfiguration)
 
     for expect in expected:
@@ -57,7 +57,7 @@ def test_apply_previous_cli_all():
         apply_previous_cli_entries=C.ALL,
     )
     _messages, exit_messages = configurator.configure()
-    assert exit_messages == []
+    assert not exit_messages
 
     expected = [
         ("app", "doc", C.USER_CLI),