diff --git a/src/lifeblood/basenode.py b/src/lifeblood/basenode.py index 8b16650f..fc70284e 100644 --- a/src/lifeblood/basenode.py +++ b/src/lifeblood/basenode.py @@ -4,16 +4,13 @@ from logging import Logger from .nodethings import ProcessingResult from .node_ui import NodeUi -from .node_parameters import ParameterNotFound, Parameter +from .node_parameters import ParameterNotFound, Parameter from .processingcontext import ProcessingContext from .logging import get_logger from .plugin_info import PluginInfo, empty_plugin_info from .nodegraph_holder_base import NodeGraphHolderBase from .node_ui_callback_receiver_base import NodeUiCallbackReceiverBase -# reexport -from .nodethings import ProcessingError - from typing import Iterable diff --git a/src/lifeblood/broadcasting.py b/src/lifeblood/broadcasting.py index 1f8e421c..7b6e1def 100644 --- a/src/lifeblood/broadcasting.py +++ b/src/lifeblood/broadcasting.py @@ -1,15 +1,10 @@ import asyncio import socket -from string import ascii_letters -import random import struct - from . import logging from .nethelpers import get_localhost from .defaults import broadcast_port as default_broadcast_port -from . import os_based_cheats - from typing import Tuple, Union, Optional, Callable, Coroutine, Any Address = Tuple[str, int] diff --git a/src/lifeblood/hardware_resources.py b/src/lifeblood/hardware_resources.py index 9934984b..33c0d859 100644 --- a/src/lifeblood/hardware_resources.py +++ b/src/lifeblood/hardware_resources.py @@ -1,5 +1,3 @@ -import psutil -import copy import re import json from .misc import get_unique_machine_id @@ -128,11 +126,11 @@ def __repr__(self): parts = [] for res_name, res in self.__resources.items(): parts.append(f'{res_name}: {res.value}') - for dev_type, dev_res in self.__dev_resources.items(): + for dev_type, dev_name, dev_res in self.__dev_resources: dev_parts = [] for res_name, res in dev_res.items(): dev_parts.append(f'{res_name}: {res.value}') - parts.append(f'device({dev_type})[{", ".join(dev_parts)}]') + parts.append(f'device(type:"{dev_type}" name:"{dev_name}")[{", ".join(dev_parts)}]') return f'' diff --git a/src/lifeblood/local_notifier.py b/src/lifeblood/local_notifier.py index 6ff7c0f7..f726f97f 100644 --- a/src/lifeblood/local_notifier.py +++ b/src/lifeblood/local_notifier.py @@ -2,10 +2,9 @@ import json import uuid from . import broadcasting -from . import logging from .nethelpers import get_localhost -from typing import Optional, Tuple, Callable, Coroutine, Any +from typing import Optional, Tuple, Callable, Coroutine from .logging import get_logger diff --git a/src/lifeblood/main_scheduler.py b/src/lifeblood/main_scheduler.py index dadc8550..79092486 100644 --- a/src/lifeblood/main_scheduler.py +++ b/src/lifeblood/main_scheduler.py @@ -12,7 +12,7 @@ from .scheduler_config_provider_file import SchedulerConfigProviderFileOverrides from . import logging -from typing import Iterable, List, Optional, Tuple, Union +from typing import Iterable, List, Tuple, Union def __construct_plugin_paths(custom_plugins_path: Union[None, str, Path], plugin_search_locations: Iterable[Union[str, Path]]) -> List[Tuple[Path, str]]: diff --git a/src/lifeblood/misc.py b/src/lifeblood/misc.py index d3f439d4..dd759f07 100644 --- a/src/lifeblood/misc.py +++ b/src/lifeblood/misc.py @@ -1,6 +1,5 @@ import os import asyncio -import random import uuid import time import psutil @@ -8,7 +7,7 @@ from contextlib import contextmanager, asynccontextmanager from .logging import get_logger, logging -from typing import List, Optional, Union +from typing import Union class DummyLock: diff --git a/src/lifeblood/names.py b/src/lifeblood/names.py index f407bb6f..794103bc 100644 --- a/src/lifeblood/names.py +++ b/src/lifeblood/names.py @@ -1,5 +1,3 @@ -import re - from lifeblood.logging import get_logger from typing import Iterable diff --git a/src/lifeblood/net_messages/impl/message_protocol.py b/src/lifeblood/net_messages/impl/message_protocol.py index 2fd38c68..328f99c6 100644 --- a/src/lifeblood/net_messages/impl/message_protocol.py +++ b/src/lifeblood/net_messages/impl/message_protocol.py @@ -1,14 +1,11 @@ import asyncio -import uuid import struct from ..logging import get_logger from ..stream_wrappers import MessageReceiveStream from ..messages import Message -from ..queue import MessageQueue from ..address import DirectAddress -from ..exceptions import MessageReceivingError, NoMessageError, MessageTransferError, MessageTransferTimeoutError -from ..interfaces import MessageStreamFactory +from ..exceptions import NoMessageError, MessageTransferError, MessageTransferTimeoutError from typing import Callable, Awaitable, Tuple diff --git a/src/lifeblood/net_messages/impl/tcp_message_processor.py b/src/lifeblood/net_messages/impl/tcp_message_processor.py index c1e1dfdf..2ba09105 100644 --- a/src/lifeblood/net_messages/impl/tcp_message_processor.py +++ b/src/lifeblood/net_messages/impl/tcp_message_processor.py @@ -1,4 +1,3 @@ -import asyncio from ..message_processor import MessageProcessorBase from ..message_handler import MessageHandlerBase from ..messages import Message diff --git a/src/lifeblood/net_messages/impl/tcp_message_receiver.py b/src/lifeblood/net_messages/impl/tcp_message_receiver.py index 0709e589..dbcf0964 100644 --- a/src/lifeblood/net_messages/impl/tcp_message_receiver.py +++ b/src/lifeblood/net_messages/impl/tcp_message_receiver.py @@ -1,6 +1,6 @@ import asyncio from .message_protocol import MessageProtocol, IProtocolInstanceCounter -from ..interfaces import MessageReceiver, MessageStreamFactory +from ..interfaces import MessageReceiver from ..messages import Message from ..address import DirectAddress from ..logging import get_logger diff --git a/src/lifeblood/net_messages/impl/tcp_message_stream_factory.py b/src/lifeblood/net_messages/impl/tcp_message_stream_factory.py index 36485b6c..7deca6e9 100644 --- a/src/lifeblood/net_messages/impl/tcp_message_stream_factory.py +++ b/src/lifeblood/net_messages/impl/tcp_message_stream_factory.py @@ -7,7 +7,7 @@ from ..exceptions import MessageTransferError, MessageTransferTimeoutError from ..interfaces import MessageStreamFactory from ..stream_wrappers import MessageSendStream, MessageSendStreamBase -from ..address import DirectAddress, AddressChain +from ..address import DirectAddress from ..defaults import default_stream_timeout from ..messages import Message diff --git a/src/lifeblood/net_messages/interfaces.py b/src/lifeblood/net_messages/interfaces.py index 3dfad908..89d1c211 100644 --- a/src/lifeblood/net_messages/interfaces.py +++ b/src/lifeblood/net_messages/interfaces.py @@ -1,6 +1,6 @@ from .messages import Message -from .message_stream import MessageSendStreamBase, MessageReceiveStreamBase -from .address import DirectAddress, AddressChain +from .message_stream import MessageSendStreamBase +from .address import DirectAddress from typing import Callable, Awaitable diff --git a/src/lifeblood/net_messages/messages.py b/src/lifeblood/net_messages/messages.py index bd8253f7..c3420b99 100644 --- a/src/lifeblood/net_messages/messages.py +++ b/src/lifeblood/net_messages/messages.py @@ -1,10 +1,8 @@ -import asyncio -import struct import uuid from .enums import MessageType from .address import AddressChain -from typing import Optional, Tuple, Union +from typing import Optional, Union class MessageInterface: @@ -70,17 +68,5 @@ def set_message_destination(self, destination: AddressChain): def set_message_source(self, source: AddressChain): self.__source = source - def create_reply_message(self, data: bytes = b''): - if self.__message_type in (MessageType.SESSION_START, MessageType.SESSION_MESSAGE): - return_type = MessageType.SESSION_MESSAGE - elif self.__message_type == MessageType.SESSION_END: - raise RuntimeError('cannot reply to session end message') - elif self.__message_type == MessageType.DEFAULT_MESSAGE: - return_type = self.__message_type - else: - raise RuntimeError(f'unknown message type {self.__message_type}') - return Message(data, return_type, self.__destination, self.__source, self.__session) - def message_type(self) -> MessageType: return self.__message_type - diff --git a/src/lifeblood/net_messages/stream_wrappers.py b/src/lifeblood/net_messages/stream_wrappers.py index 4c61776f..e9ba297b 100644 --- a/src/lifeblood/net_messages/stream_wrappers.py +++ b/src/lifeblood/net_messages/stream_wrappers.py @@ -6,7 +6,7 @@ from .message_stream import MessageSendStreamBase, MessageReceiveStreamBase from .enums import MessageType from .address import AddressChain, DirectAddress -from .exceptions import MessageReceivingError, MessageSendingError, MessageTransferTimeoutError, NoMessageError +from .exceptions import MessageSendingError, MessageTransferTimeoutError, NoMessageError from .defaults import default_stream_timeout from typing import Optional, Tuple, Union diff --git a/src/lifeblood/node_visualization_classes.py b/src/lifeblood/node_visualization_classes.py index d9468dea..506354fa 100644 --- a/src/lifeblood/node_visualization_classes.py +++ b/src/lifeblood/node_visualization_classes.py @@ -1,7 +1,4 @@ -from typing import Tuple - - class NodeColorScheme: def __init__(self): self.__main_color = (0, 0, 0) diff --git a/src/lifeblood/pulse_checker.py b/src/lifeblood/pulse_checker.py index 7e385de9..d1ec04c9 100644 --- a/src/lifeblood/pulse_checker.py +++ b/src/lifeblood/pulse_checker.py @@ -5,7 +5,7 @@ from .net_messages.message_processor import MessageProcessorBase from .net_messages.exceptions import MessageTransferError -from typing import Tuple, Callable, Coroutine +from typing import Callable, Coroutine class PulseChecker: diff --git a/src/lifeblood/scheduler/data_access.py b/src/lifeblood/scheduler/data_access.py index 7f746aa9..b47f0a18 100644 --- a/src/lifeblood/scheduler/data_access.py +++ b/src/lifeblood/scheduler/data_access.py @@ -17,7 +17,7 @@ from ..worker_resource_definition import WorkerResourceDataType from ..invocationjob import InvocationResources -from typing import Any, Dict, Iterable, List, Optional, Tuple, Type, Union +from typing import Any, Dict, Iterable, Optional, Tuple, Union SCHEDULER_DB_FORMAT_VERSION = 5 diff --git a/src/lifeblood/scheduler/pinger.py b/src/lifeblood/scheduler/pinger.py index 0af25f19..5406e174 100644 --- a/src/lifeblood/scheduler/pinger.py +++ b/src/lifeblood/scheduler/pinger.py @@ -3,7 +3,7 @@ import time from .. import logging from ..worker_message_processor_client import WorkerControlClient -from ..enums import WorkerState, InvocationState, WorkerPingState, WorkerPingReply +from ..enums import WorkerState, WorkerPingState, WorkerPingReply from .scheduler_component_base import SchedulerComponentBase from ..net_messages.address import AddressChain from ..net_messages.exceptions import MessageTransferError, MessageTransferTimeoutError diff --git a/src/lifeblood/scheduler/task_processor.py b/src/lifeblood/scheduler/task_processor.py index b7b4b074..483f9bdf 100644 --- a/src/lifeblood/scheduler/task_processor.py +++ b/src/lifeblood/scheduler/task_processor.py @@ -17,12 +17,13 @@ from ..attribute_serialization import serialize_attributes, deserialize_attributes from ..exceptions import * from .. import aiosqlite_overlay -from ..ui_events import TaskData, TaskDelta +from ..ui_events import TaskDelta +from ..ui_protocol_data import TaskData from ..net_messages.address import AddressChain from .scheduler_component_base import SchedulerComponentBase -from typing import List, Optional, TYPE_CHECKING +from typing import List, TYPE_CHECKING if TYPE_CHECKING: # TODO: maybe separate a subset of scheduler's methods to smth like SchedulerData class, or idunno, for now no obvious way to separate, so having a reference back from .scheduler_core import SchedulerCore diff --git a/src/lifeblood/scheduler/ui_state_accessor.py b/src/lifeblood/scheduler/ui_state_accessor.py index b9224a46..7c73aca8 100644 --- a/src/lifeblood/scheduler/ui_state_accessor.py +++ b/src/lifeblood/scheduler/ui_state_accessor.py @@ -5,12 +5,12 @@ import time from enum import Enum from ..logging import get_logger -from ..misc import atimeit, aperformance_measurer +from ..misc import aperformance_measurer from ..enums import InvocationState, TaskState, TaskGroupArchivedState, WorkerState, WorkerType, UIEventType from ..exceptions import NotSubscribedError from ..scheduler_event_log import SchedulerEventLog from ..ui_events import TaskEvent, TaskFullState, TasksUpdated, TasksRemoved, TasksChanged -from ..ui_protocol_data import TaskBatchData, UiData, TaskGroupData, TaskGroupBatchData, TaskGroupStatisticsData, \ +from ..ui_protocol_data import TaskBatchData, TaskGroupData, TaskGroupBatchData, TaskGroupStatisticsData, \ NodeGraphStructureData, WorkerBatchData, WorkerData, WorkerResource, WorkerResourceType, WorkerResources, NodeConnectionData, NodeData, TaskData, TaskDelta, \ WorkerDevice, WorkerDeviceResource from .scheduler_component_base import SchedulerComponentBase diff --git a/src/lifeblood/scheduler_config_provider_file.py b/src/lifeblood/scheduler_config_provider_file.py index 1a7002b4..f49b4410 100644 --- a/src/lifeblood/scheduler_config_provider_file.py +++ b/src/lifeblood/scheduler_config_provider_file.py @@ -7,7 +7,7 @@ from .config import Config from .nethelpers import all_interfaces from .exceptions import SchedulerConfigurationError -from .config import create_default_user_config_file, get_local_scratch_path +from .config import get_local_scratch_path from .text import escape from typing import Dict, List, Mapping, Optional, Tuple diff --git a/src/lifeblood/scheduler_event_log.py b/src/lifeblood/scheduler_event_log.py index 342426f2..665764bc 100644 --- a/src/lifeblood/scheduler_event_log.py +++ b/src/lifeblood/scheduler_event_log.py @@ -2,7 +2,7 @@ from .ui_events import SchedulerEvent from .enums import UIEventType -from typing import Dict, List, Optional, Set, Tuple +from typing import Dict, List, Optional, Tuple logger = logging.getLogger(__name__) diff --git a/src/lifeblood/scheduler_task_protocol.py b/src/lifeblood/scheduler_task_protocol.py index 8b5a6648..186331a0 100644 --- a/src/lifeblood/scheduler_task_protocol.py +++ b/src/lifeblood/scheduler_task_protocol.py @@ -1,16 +1,11 @@ import struct import asyncio -import aiofiles -from enum import Enum import pickle import json from . import logging -from . import invocationjob from .taskspawn import TaskSpawn -from .enums import WorkerType, SpawnStatus, WorkerState -from .hardware_resources import HardwareResources -from .worker_metadata import WorkerMetadata +from .enums import SpawnStatus, WorkerState from .scheduler.scheduler_core import SchedulerCore from typing import Optional, Tuple diff --git a/src/lifeblood/ui_events.py b/src/lifeblood/ui_events.py index 5f89072c..ab23c39d 100644 --- a/src/lifeblood/ui_events.py +++ b/src/lifeblood/ui_events.py @@ -3,11 +3,11 @@ import struct from dataclasses import dataclass, field from .buffered_connection import BufferedReader -from .ui_protocol_data import TaskData, TaskDelta, TaskBatchData, UiData +from .ui_protocol_data import TaskDelta, TaskBatchData from .buffer_serializable import IBufferSerializable from .enums import UIEventType -from typing import ClassVar, Dict, Iterable, List, Tuple, Type, Union +from typing import ClassVar, Dict, Iterable, List, Tuple, Type @dataclass diff --git a/src/lifeblood/ui_protocol_data.py b/src/lifeblood/ui_protocol_data.py index 6592c4ae..87d5ff1f 100644 --- a/src/lifeblood/ui_protocol_data.py +++ b/src/lifeblood/ui_protocol_data.py @@ -10,7 +10,7 @@ from dataclasses import dataclass from enum import Enum -from typing import Dict, List, Tuple, Type, Optional, Set, Union +from typing import Dict, List, Type, Optional, Set, Union def _serialize_string(s: str, stream: BufferedIOBase) -> int: diff --git a/src/lifeblood/worker_resource_definition.py b/src/lifeblood/worker_resource_definition.py index 657e357d..28e82259 100644 --- a/src/lifeblood/worker_resource_definition.py +++ b/src/lifeblood/worker_resource_definition.py @@ -1,7 +1,7 @@ from dataclasses import dataclass from enum import Enum -from typing import Dict, Union, Set, Tuple +from typing import Union, Tuple class WorkerResourceDataType(Enum): diff --git a/src/lifeblood_testing_common/nodes_common.py b/src/lifeblood_testing_common/nodes_common.py index 1b4ca963..405e5535 100644 --- a/src/lifeblood_testing_common/nodes_common.py +++ b/src/lifeblood_testing_common/nodes_common.py @@ -1,6 +1,4 @@ import asyncio -import time -from dataclasses import dataclass import os import shutil import tempfile @@ -17,7 +15,7 @@ from lifeblood.scheduler.scheduler import Scheduler from lifeblood_testing_common.common import create_default_scheduler from lifeblood.worker import Worker -from lifeblood.invocationjob import Invocation, InvocationJob, InvocationResources, Environment +from lifeblood.invocationjob import Invocation, InvocationResources, Environment from lifeblood.scheduler.pinger import Pinger from lifeblood.pluginloader import PluginNodeDataProvider from lifeblood.processingcontext import ProcessingContext