diff --git a/setup.py b/setup.py index 612f4d57..ac3e94b6 100755 --- a/setup.py +++ b/setup.py @@ -75,7 +75,7 @@ setup( ], tests_require=['pytest'], - python_requires=">=3.10", + python_requires=">=3.11", keywords=[ 'trio', 'async', diff --git a/tests/test_debugger.py b/tests/test_debugger.py index f665d850..25f6dad2 100644 --- a/tests/test_debugger.py +++ b/tests/test_debugger.py @@ -26,7 +26,7 @@ from pexpect.exceptions import ( from tractor._testing import ( examples_dir, ) -from conftest import ( +from .conftest import ( _ci_env, ) diff --git a/tests/test_multi_program.py b/tests/test_multi_program.py index 0b6b5baf..92f4c52d 100644 --- a/tests/test_multi_program.py +++ b/tests/test_multi_program.py @@ -10,7 +10,7 @@ import tractor from tractor._testing import ( tractor_test, ) -from conftest import ( +from .conftest import ( sig_prog, _INT_SIGNAL, _INT_RETURN_CODE, diff --git a/tractor/__init__.py b/tractor/__init__.py index 64c81e99..7af40c6e 100644 --- a/tractor/__init__.py +++ b/tractor/__init__.py @@ -18,8 +18,6 @@ tractor: structured concurrent ``trio``-"actors". """ -from exceptiongroup import BaseExceptionGroup - from ._clustering import open_actor_cluster from ._ipc import Channel from ._context import ( diff --git a/tractor/_context.py b/tractor/_context.py index 11975bae..50f7bfa5 100644 --- a/tractor/_context.py +++ b/tractor/_context.py @@ -313,7 +313,7 @@ async def _drain_to_final_msg( log.critical('SHOULD NEVER GET HERE!?') assert msg is ctx._cancel_msg assert error.msgdata == ctx._remote_error.msgdata - from .devx._debug import pause + from ._debug import pause await pause() ctx._maybe_cancel_and_set_remote_error(error) ctx._maybe_raise_remote_err(error) @@ -2199,12 +2199,12 @@ async def open_context_from_portal( # pass # TODO: factor ^ into below for non-root cases? # - from .devx import maybe_wait_for_debugger + from ._debug import maybe_wait_for_debugger was_acquired: bool = await maybe_wait_for_debugger( - header_msg=( - 'Delaying `ctx.cancel()` until debug lock ' - 'acquired..\n' - ), + # header_msg=( + # 'Delaying `ctx.cancel()` until debug lock ' + # 'acquired..\n' + # ), ) if was_acquired: log.pdb( @@ -2310,7 +2310,7 @@ async def open_context_from_portal( # where the root is waiting on the lock to clear but the # child has already cleared it and clobbered IPC. if debug_mode(): - from .devx import maybe_wait_for_debugger + from ._debug import maybe_wait_for_debugger await maybe_wait_for_debugger() # though it should be impossible for any tasks diff --git a/tractor/_rpc.py b/tractor/_rpc.py index 6bdc0c6b..47548106 100644 --- a/tractor/_rpc.py +++ b/tractor/_rpc.py @@ -55,15 +55,10 @@ from ._exceptions import ( unpack_error, TransportClosed, ) -from .devx import ( - # pause, - maybe_wait_for_debugger, - _debug, -) +from . import _debug from . import _state from .log import get_logger - if TYPE_CHECKING: from ._runtime import Actor @@ -651,7 +646,7 @@ async def _invoke( # don't pop the local context until we know the # associated child isn't in debug any more - await maybe_wait_for_debugger() + await _debug.maybe_wait_for_debugger() ctx: Context = actor._contexts.pop(( chan.uid, cid, diff --git a/tractor/_runtime.py b/tractor/_runtime.py index d1f8fc48..cc8eaf5f 100644 --- a/tractor/_runtime.py +++ b/tractor/_runtime.py @@ -1318,7 +1318,6 @@ class Actor: log.runtime("Shutting down channel server") self._server_n.cancel_scope.cancel() - @property @property def accept_addr(self) -> tuple[str, int]: '''