diff --git a/ansible_mitogen/plugins/connection/__init__.py b/ansible_mitogen/plugins/connection/__init__.py index 3afb9a91..e69de29b 100644 --- a/ansible_mitogen/plugins/connection/__init__.py +++ b/ansible_mitogen/plugins/connection/__init__.py @@ -1,11 +0,0 @@ -# SPDX-FileCopyrightText: 2025 Mitogen authors -# SPDX-License-Identifier: BSD-3-Clause -# !mitogen: minify_safe - -import os -import sys - -try: - import ansible_mitogen -except ImportError: - sys.path.insert(0, os.path.abspath(os.path.join(__file__, '../../../..'))) diff --git a/ansible_mitogen/plugins/connection/mitogen_buildah.py b/ansible_mitogen/plugins/connection/mitogen_buildah.py index d6fbd6f8..4827375b 100644 --- a/ansible_mitogen/plugins/connection/mitogen_buildah.py +++ b/ansible_mitogen/plugins/connection/mitogen_buildah.py @@ -29,6 +29,14 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type +import os +import sys + +try: + import ansible_mitogen +except ImportError: + sys.path.insert(0, os.path.abspath(os.path.join(__file__, '../../../..'))) + import ansible_mitogen.connection diff --git a/ansible_mitogen/plugins/connection/mitogen_doas.py b/ansible_mitogen/plugins/connection/mitogen_doas.py index ef52ea78..23cf4f02 100644 --- a/ansible_mitogen/plugins/connection/mitogen_doas.py +++ b/ansible_mitogen/plugins/connection/mitogen_doas.py @@ -29,6 +29,14 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type +import os +import sys + +try: + import ansible_mitogen +except ImportError: + sys.path.insert(0, os.path.abspath(os.path.join(__file__, '../../../..'))) + import ansible_mitogen.connection diff --git a/ansible_mitogen/plugins/connection/mitogen_docker.py b/ansible_mitogen/plugins/connection/mitogen_docker.py index 79555dc3..ac3ba879 100644 --- a/ansible_mitogen/plugins/connection/mitogen_docker.py +++ b/ansible_mitogen/plugins/connection/mitogen_docker.py @@ -29,6 +29,14 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type +import os +import sys + +try: + import ansible_mitogen +except ImportError: + sys.path.insert(0, os.path.abspath(os.path.join(__file__, '../../../..'))) + import ansible_mitogen.connection diff --git a/ansible_mitogen/plugins/connection/mitogen_jail.py b/ansible_mitogen/plugins/connection/mitogen_jail.py index 3877aad1..9882117f 100644 --- a/ansible_mitogen/plugins/connection/mitogen_jail.py +++ b/ansible_mitogen/plugins/connection/mitogen_jail.py @@ -29,6 +29,14 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type +import os +import sys + +try: + import ansible_mitogen +except ImportError: + sys.path.insert(0, os.path.abspath(os.path.join(__file__, '../../../..'))) + import ansible_mitogen.connection diff --git a/ansible_mitogen/plugins/connection/mitogen_kubectl.py b/ansible_mitogen/plugins/connection/mitogen_kubectl.py index 0a60b403..b9088ffb 100644 --- a/ansible_mitogen/plugins/connection/mitogen_kubectl.py +++ b/ansible_mitogen/plugins/connection/mitogen_kubectl.py @@ -30,8 +30,16 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type +import os +import sys + import ansible.errors +try: + import ansible_mitogen +except ImportError: + sys.path.insert(0, os.path.abspath(os.path.join(__file__, '../../../..'))) + import ansible_mitogen.connection import ansible_mitogen.loaders diff --git a/ansible_mitogen/plugins/connection/mitogen_local.py b/ansible_mitogen/plugins/connection/mitogen_local.py index 61c6b809..dfc04a24 100644 --- a/ansible_mitogen/plugins/connection/mitogen_local.py +++ b/ansible_mitogen/plugins/connection/mitogen_local.py @@ -30,6 +30,12 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type import os +import sys + +try: + import ansible_mitogen +except ImportError: + sys.path.insert(0, os.path.abspath(os.path.join(__file__, '../../../..'))) import ansible_mitogen.connection import ansible_mitogen.process diff --git a/ansible_mitogen/plugins/connection/mitogen_lxc.py b/ansible_mitogen/plugins/connection/mitogen_lxc.py index 23f3c1f4..dc812687 100644 --- a/ansible_mitogen/plugins/connection/mitogen_lxc.py +++ b/ansible_mitogen/plugins/connection/mitogen_lxc.py @@ -29,6 +29,14 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type +import os +import sys + +try: + import ansible_mitogen +except ImportError: + sys.path.insert(0, os.path.abspath(os.path.join(__file__, '../../../..'))) + import ansible_mitogen.connection diff --git a/ansible_mitogen/plugins/connection/mitogen_lxd.py b/ansible_mitogen/plugins/connection/mitogen_lxd.py index 9842b763..88aa867c 100644 --- a/ansible_mitogen/plugins/connection/mitogen_lxd.py +++ b/ansible_mitogen/plugins/connection/mitogen_lxd.py @@ -29,6 +29,14 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type +import os +import sys + +try: + import ansible_mitogen +except ImportError: + sys.path.insert(0, os.path.abspath(os.path.join(__file__, '../../../..'))) + import ansible_mitogen.connection diff --git a/ansible_mitogen/plugins/connection/mitogen_machinectl.py b/ansible_mitogen/plugins/connection/mitogen_machinectl.py index c531a772..58f608ab 100644 --- a/ansible_mitogen/plugins/connection/mitogen_machinectl.py +++ b/ansible_mitogen/plugins/connection/mitogen_machinectl.py @@ -29,6 +29,14 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type +import os +import sys + +try: + import ansible_mitogen +except ImportError: + sys.path.insert(0, os.path.abspath(os.path.join(__file__, '../../../..'))) + import ansible_mitogen.connection diff --git a/ansible_mitogen/plugins/connection/mitogen_podman.py b/ansible_mitogen/plugins/connection/mitogen_podman.py index 19008857..adca559d 100644 --- a/ansible_mitogen/plugins/connection/mitogen_podman.py +++ b/ansible_mitogen/plugins/connection/mitogen_podman.py @@ -29,6 +29,14 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type +import os +import sys + +try: + import ansible_mitogen +except ImportError: + sys.path.insert(0, os.path.abspath(os.path.join(__file__, '../../../..'))) + import ansible_mitogen.connection diff --git a/ansible_mitogen/plugins/connection/mitogen_setns.py b/ansible_mitogen/plugins/connection/mitogen_setns.py index fbb8cc70..254b703d 100644 --- a/ansible_mitogen/plugins/connection/mitogen_setns.py +++ b/ansible_mitogen/plugins/connection/mitogen_setns.py @@ -29,6 +29,14 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type +import os +import sys + +try: + import ansible_mitogen +except ImportError: + sys.path.insert(0, os.path.abspath(os.path.join(__file__, '../../../..'))) + import ansible_mitogen.connection diff --git a/ansible_mitogen/plugins/connection/mitogen_ssh.py b/ansible_mitogen/plugins/connection/mitogen_ssh.py index 3b1662da..6cd126dc 100644 --- a/ansible_mitogen/plugins/connection/mitogen_ssh.py +++ b/ansible_mitogen/plugins/connection/mitogen_ssh.py @@ -29,6 +29,9 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type +import os +import sys + from ansible.plugins.connection.ssh import ( DOCUMENTATION as _ansible_ssh_DOCUMENTATION, ) @@ -44,6 +47,10 @@ DOCUMENTATION = """ options: """ + _ansible_ssh_DOCUMENTATION.partition('options:\n')[2] +try: + import ansible_mitogen +except ImportError: + sys.path.insert(0, os.path.abspath(os.path.join(__file__, '../../../..'))) import ansible_mitogen.connection import ansible_mitogen.loaders diff --git a/ansible_mitogen/plugins/connection/mitogen_su.py b/ansible_mitogen/plugins/connection/mitogen_su.py index c9dea2e9..db302310 100644 --- a/ansible_mitogen/plugins/connection/mitogen_su.py +++ b/ansible_mitogen/plugins/connection/mitogen_su.py @@ -29,6 +29,14 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type +import os +import sys + +try: + import ansible_mitogen +except ImportError: + sys.path.insert(0, os.path.abspath(os.path.join(__file__, '../../../..'))) + import ansible_mitogen.connection diff --git a/ansible_mitogen/plugins/connection/mitogen_sudo.py b/ansible_mitogen/plugins/connection/mitogen_sudo.py index fe560a68..0e390ddc 100644 --- a/ansible_mitogen/plugins/connection/mitogen_sudo.py +++ b/ansible_mitogen/plugins/connection/mitogen_sudo.py @@ -29,6 +29,14 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type +import os +import sys + +try: + import ansible_mitogen +except ImportError: + sys.path.insert(0, os.path.abspath(os.path.join(__file__, '../../../..'))) + import ansible_mitogen.connection diff --git a/ansible_mitogen/plugins/strategy/__init__.py b/ansible_mitogen/plugins/strategy/__init__.py index 3afb9a91..e69de29b 100644 --- a/ansible_mitogen/plugins/strategy/__init__.py +++ b/ansible_mitogen/plugins/strategy/__init__.py @@ -1,11 +0,0 @@ -# SPDX-FileCopyrightText: 2025 Mitogen authors -# SPDX-License-Identifier: BSD-3-Clause -# !mitogen: minify_safe - -import os -import sys - -try: - import ansible_mitogen -except ImportError: - sys.path.insert(0, os.path.abspath(os.path.join(__file__, '../../../..'))) diff --git a/ansible_mitogen/plugins/strategy/mitogen.py b/ansible_mitogen/plugins/strategy/mitogen.py index 95508f2d..63c639ad 100644 --- a/ansible_mitogen/plugins/strategy/mitogen.py +++ b/ansible_mitogen/plugins/strategy/mitogen.py @@ -29,6 +29,8 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type +import os +import sys # # This is not the real Strategy implementation module, it simply exists as a @@ -45,6 +47,11 @@ __metaclass__ = type # debuggers and isinstance() work predictably. # +try: + import ansible_mitogen +except ImportError: + sys.path.insert(0, os.path.abspath(os.path.join(__file__, '../../../..'))) + import ansible_mitogen.strategy import ansible.plugins.strategy.linear diff --git a/ansible_mitogen/plugins/strategy/mitogen_free.py b/ansible_mitogen/plugins/strategy/mitogen_free.py index 89fba1c9..0d626715 100644 --- a/ansible_mitogen/plugins/strategy/mitogen_free.py +++ b/ansible_mitogen/plugins/strategy/mitogen_free.py @@ -29,6 +29,8 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type +import os +import sys # # This is not the real Strategy implementation module, it simply exists as a @@ -45,6 +47,11 @@ __metaclass__ = type # debuggers and isinstance() work predictably. # +try: + import ansible_mitogen +except ImportError: + sys.path.insert(0, os.path.abspath(os.path.join(__file__, '../../../..'))) + import ansible_mitogen.loaders import ansible_mitogen.strategy diff --git a/ansible_mitogen/plugins/strategy/mitogen_host_pinned.py b/ansible_mitogen/plugins/strategy/mitogen_host_pinned.py index c130b720..45a8e961 100644 --- a/ansible_mitogen/plugins/strategy/mitogen_host_pinned.py +++ b/ansible_mitogen/plugins/strategy/mitogen_host_pinned.py @@ -29,6 +29,8 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type +import os +import sys # # This is not the real Strategy implementation module, it simply exists as a @@ -45,6 +47,11 @@ __metaclass__ = type # debuggers and isinstance() work predictably. # +try: + import ansible_mitogen +except ImportError: + sys.path.insert(0, os.path.abspath(os.path.join(__file__, '../../../..'))) + import ansible_mitogen.loaders import ansible_mitogen.strategy diff --git a/ansible_mitogen/plugins/strategy/mitogen_linear.py b/ansible_mitogen/plugins/strategy/mitogen_linear.py index e103fa9c..1f96e5b6 100644 --- a/ansible_mitogen/plugins/strategy/mitogen_linear.py +++ b/ansible_mitogen/plugins/strategy/mitogen_linear.py @@ -29,6 +29,8 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type +import os +import sys # # This is not the real Strategy implementation module, it simply exists as a @@ -45,6 +47,11 @@ __metaclass__ = type # debuggers and isinstance() work predictably. # +try: + import ansible_mitogen +except ImportError: + sys.path.insert(0, os.path.abspath(os.path.join(__file__, '../../../..'))) + import ansible_mitogen.loaders import ansible_mitogen.strategy diff --git a/docs/changelog.rst b/docs/changelog.rst index a3ffb89e..d39f471a 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -18,6 +18,13 @@ To avail of fixes in an unreleased version, please download a ZIP file `directly from GitHub `_. +v0.3.31 (2025-11-05) +-------------------- + +* :gh:issue:`1350` :mod:`ansible_mitogen`: Fix regression when loading plugins + from ``/custom/path/to/mitogen`` + + v0.3.30 (2025-10-30) -------------------- diff --git a/mitogen/__init__.py b/mitogen/__init__.py index 719108f7..2fd7ce9d 100644 --- a/mitogen/__init__.py +++ b/mitogen/__init__.py @@ -35,7 +35,7 @@ be expected. On the slave, it is built dynamically during startup. #: Library version as a tuple. -__version__ = (0, 3, 30) +__version__ = (0, 3, 31) #: This is :data:`False` in slave contexts. Previously it was used to prevent