Skip to content

Commit

Permalink
refactor: use absolute imports (#4167)
Browse files Browse the repository at this point in the history
  • Loading branch information
JoanFM committed Jan 12, 2022
1 parent 782f106 commit cea3006
Show file tree
Hide file tree
Showing 99 changed files with 533 additions and 514 deletions.
4 changes: 2 additions & 2 deletions cli/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ def _get_run_args(print_args: bool = True):


def _quick_ac_lookup():
from .autocomplete import ac_table
from cli.autocomplete import ac_table

if len(sys.argv) > 1:
if sys.argv[1] == 'commands':
Expand Down Expand Up @@ -104,7 +104,7 @@ def main():
"""The main entrypoint of the CLI """
_quick_ac_lookup()

from . import api
from cli import api

args = _get_run_args()

Expand Down
4 changes: 2 additions & 2 deletions cli/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ def export_api(args: 'Namespace'):
:param args: arguments coming from the CLI.
"""
import json
from .export import api_to_dict
from cli.export import api_to_dict
from jina.jaml import JAML
from jina import __version__
from jina.logging.predefined import default_logger
Expand Down Expand Up @@ -242,6 +242,6 @@ def help(args: 'Namespace'):
:param args: arguments coming from the CLI.
"""
from .lookup import lookup_and_print
from cli.lookup import lookup_and_print

lookup_and_print(args.query.lower())
6 changes: 3 additions & 3 deletions jina/checker.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from .logging.predefined import default_logger
import argparse

from jina.logging.predefined import default_logger


class NetworkChecker:
"""Check if a BasePod is running or not."""
Expand All @@ -12,9 +13,8 @@ def __init__(self, args: 'argparse.Namespace'):
:param args: args provided by the CLI.
"""

from .logging.profile import TimeContext
from jina.logging.profile import TimeContext
from jina.peapods.runtimes.worker import WorkerRuntime
from google.protobuf.json_format import MessageToJson
import time

ctrl_addr = f'{args.host}:{args.port}'
Expand Down
20 changes: 10 additions & 10 deletions jina/clients/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@

__all__ = ['Client']

from ..enums import GatewayProtocolType
from jina.enums import GatewayProtocolType

if TYPE_CHECKING:
from .grpc import GRPCClient, AsyncGRPCClient
from .websocket import WebSocketClient, AsyncWebSocketClient
from .http import HTTPClient, AsyncHTTPClient
from jina.clients.grpc import GRPCClient, AsyncGRPCClient
from jina.clients.websocket import WebSocketClient, AsyncWebSocketClient
from jina.clients.http import HTTPClient, AsyncHTTPClient


# overload_inject_start_client
Expand Down Expand Up @@ -77,28 +77,28 @@ def Client(

if protocol == GatewayProtocolType.GRPC:
if is_async:
from .grpc import AsyncGRPCClient
from jina.clients.grpc import AsyncGRPCClient

return AsyncGRPCClient(args, **kwargs)
else:
from .grpc import GRPCClient
from jina.clients.grpc import GRPCClient

return GRPCClient(args, **kwargs)
elif protocol == GatewayProtocolType.WEBSOCKET:
if is_async:
from .websocket import AsyncWebSocketClient
from jina.clients.websocket import AsyncWebSocketClient

return AsyncWebSocketClient(args, **kwargs)
else:
from .websocket import WebSocketClient
from jina.clients.websocket import WebSocketClient

return WebSocketClient(args, **kwargs)
elif protocol == GatewayProtocolType.HTTP:
if is_async:
from .http import AsyncHTTPClient
from jina.clients.http import AsyncHTTPClient

return AsyncHTTPClient(args, **kwargs)
else:
from .http import HTTPClient
from jina.clients.http import HTTPClient

return HTTPClient(args, **kwargs)
22 changes: 11 additions & 11 deletions jina/clients/base/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@
from abc import ABC
from typing import Callable, Union, Optional, Iterator, AsyncIterator, TYPE_CHECKING

from ...excepts import BadClientInput
from ...helper import typename, ArgNamespace, T
from ...logging.logger import JinaLogger
from ...logging.predefined import default_logger
from ...parsers import set_client_cli_parser
from jina.excepts import BadClientInput
from jina.helper import typename, ArgNamespace, T
from jina.logging.logger import JinaLogger
from jina.logging.predefined import default_logger
from jina.parsers import set_client_cli_parser

if TYPE_CHECKING:
from ..request import GeneratorSourceType
from ...types.request import Request, Response
from jina.clients.request import GeneratorSourceType
from jina.types.request import Request, Response

InputType = Union[GeneratorSourceType, Callable[..., GeneratorSourceType]]
CallbackFnType = Optional[Callable[[Response], None]]
Expand Down Expand Up @@ -74,10 +74,10 @@ def check_input(inputs: Optional['InputType'] = None, **kwargs) -> None:
)

try:
from ..request import request_generator
from jina.clients.request import request_generator

r = next(request_generator(**kwargs))
from ...types.request import Request
from jina.types.request import Request

if not isinstance(r, Request):
raise TypeError(f'{typename(r)} is not a valid Request')
Expand Down Expand Up @@ -105,11 +105,11 @@ def _get_requests(
self._inputs_length = None

if inspect.isasyncgen(self.inputs):
from ..request.asyncio import request_generator
from jina.clients.request.asyncio import request_generator

return request_generator(**_kwargs)
else:
from ..request import request_generator
from jina.clients.request import request_generator

return request_generator(**_kwargs)

Expand Down
14 changes: 7 additions & 7 deletions jina/clients/base/grpc.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@

import grpc

from ..base import BaseClient
from ..helper import callback_exec
from ...excepts import BadClient, BadClientInput
from ...logging.profile import ProgressBar
from ...proto import jina_pb2_grpc
from ...peapods.networking import GrpcConnectionPool
from jina.clients.base import BaseClient
from jina.clients.helper import callback_exec
from jina.excepts import BadClient, BadClientInput
from jina.logging.profile import ProgressBar
from jina.proto import jina_pb2_grpc
from jina.peapods.networking import GrpcConnectionPool

if TYPE_CHECKING:
from . import InputType, CallbackFnType
from jina.clients.base import InputType, CallbackFnType


class GRPCBaseClient(BaseClient):
Expand Down
10 changes: 5 additions & 5 deletions jina/clients/base/helper.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@
from typing import TYPE_CHECKING
from abc import ABC, abstractmethod

from ...types.request import Request
from ...importer import ImportExtensions
from ...types.request.data import DataRequest
from jina.types.request import Request
from jina.importer import ImportExtensions
from jina.types.request.data import DataRequest

if TYPE_CHECKING:
from ...types.request import Response
from ...logging.logger import JinaLogger
from jina.types.request import Response
from jina.logging.logger import JinaLogger


class AioHttpClientlet(ABC):
Expand Down
20 changes: 10 additions & 10 deletions jina/clients/base/http.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,18 @@
from contextlib import nullcontext, AsyncExitStack
from typing import Optional, TYPE_CHECKING

from .helper import HTTPClientlet
from ..base import BaseClient
from ..helper import callback_exec
from ...excepts import BadClient
from ...importer import ImportExtensions
from ...logging.profile import ProgressBar
from ...types.request import Request
from ...peapods.stream import RequestStreamer
from ...types.request.data import DataRequest
from jina.clients.base.helper import HTTPClientlet
from jina.clients.base import BaseClient
from jina.clients.helper import callback_exec
from jina.excepts import BadClient
from jina.importer import ImportExtensions
from jina.logging.profile import ProgressBar
from jina.types.request import Request
from jina.peapods.stream import RequestStreamer
from jina.types.request.data import DataRequest

if TYPE_CHECKING:
from ..base import InputType, CallbackFnType
from jina.clients.base import InputType, CallbackFnType


class HTTPBaseClient(BaseClient):
Expand Down
19 changes: 10 additions & 9 deletions jina/clients/base/websocket.py
Original file line number Diff line number Diff line change
@@ -1,19 +1,20 @@
"""A module for the websockets-based Client for Jina."""
import asyncio

from contextlib import nullcontext, AsyncExitStack
from typing import Optional, TYPE_CHECKING, Dict

from .helper import WebsocketClientlet
from ..base import BaseClient
from ..helper import callback_exec
from ...importer import ImportExtensions
from ...logging.profile import ProgressBar
from ...peapods.stream import RequestStreamer
from ...helper import get_or_reuse_loop
from jina.clients.base.helper import WebsocketClientlet
from jina.clients.base import BaseClient
from jina.clients.helper import callback_exec
from jina.importer import ImportExtensions
from jina.logging.profile import ProgressBar
from jina.peapods.stream import RequestStreamer
from jina.helper import get_or_reuse_loop

if TYPE_CHECKING:
from ...types.request import Request
from ..base import CallbackFnType, InputType
from jina.types.request import Request
from jina.clients.base import CallbackFnType, InputType


class WebSocketBaseClient(BaseClient):
Expand Down
4 changes: 2 additions & 2 deletions jina/clients/grpc.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from .base.grpc import GRPCBaseClient
from .mixin import AsyncPostMixin, PostMixin
from jina.clients.base.grpc import GRPCBaseClient
from jina.clients.mixin import AsyncPostMixin, PostMixin


class GRPCClient(GRPCBaseClient, PostMixin):
Expand Down
10 changes: 4 additions & 6 deletions jina/clients/helper.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,10 @@
from functools import wraps
from typing import Callable

from ..excepts import BadClientCallback
from ..helper import colored
from ..importer import ImportExtensions
from ..logging.logger import JinaLogger
from ..proto import jina_pb2
from ..types.request.data import Response
from jina.excepts import BadClientCallback
from jina.logging.logger import JinaLogger
from jina.proto import jina_pb2
from jina.types.request.data import Response


def pprint_routes(resp: 'Response', stack_limit: int = 3):
Expand Down
4 changes: 2 additions & 2 deletions jina/clients/http.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from .base.http import HTTPBaseClient
from .mixin import AsyncPostMixin, PostMixin
from jina.clients.base.http import HTTPBaseClient
from jina.clients.mixin import AsyncPostMixin, PostMixin


class HTTPClient(HTTPBaseClient, PostMixin):
Expand Down
8 changes: 4 additions & 4 deletions jina/clients/mixin.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
from functools import partialmethod
from typing import Optional, Dict, List, AsyncGenerator, TYPE_CHECKING, Union

from ..helper import run_async
from jina.helper import run_async

if TYPE_CHECKING:
from .base import CallbackFnType, InputType
from ..types.request import Response
from .. import DocumentArray
from jina.clients.base import CallbackFnType, InputType
from jina.types.request import Response
from jina import DocumentArray


class PostMixin:
Expand Down
12 changes: 6 additions & 6 deletions jina/clients/request/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,16 @@
TYPE_CHECKING,
)

from .helper import _new_data_request_from_batch, _new_data_request
from ...enums import DataInputType
from ...helper import batch_iterator
from ...logging.predefined import default_logger
from jina.clients.request.helper import _new_data_request_from_batch, _new_data_request
from jina.enums import DataInputType
from jina.helper import batch_iterator
from jina.logging.predefined import default_logger

if TYPE_CHECKING:
from ... import Document
from jina import Document
from docarray.document import DocumentSourceType
from docarray.document.mixins.content import DocumentContentType
from ...types.request import Request
from jina.types.request import Request

SingletonDataType = Union[
DocumentContentType,
Expand Down
12 changes: 6 additions & 6 deletions jina/clients/request/asyncio.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@

from typing import AsyncIterator, Optional, Dict, TYPE_CHECKING

from .helper import _new_data_request_from_batch, _new_data_request
from ...enums import DataInputType
from ...importer import ImportExtensions
from ...logging.predefined import default_logger
from ...types.request import Request
from jina.clients.request.helper import _new_data_request_from_batch, _new_data_request
from jina.enums import DataInputType
from jina.importer import ImportExtensions
from jina.logging.predefined import default_logger
from jina.types.request import Request

if TYPE_CHECKING:
from . import GeneratorSourceType
from jina.clients.request import GeneratorSourceType


async def request_generator(
Expand Down
9 changes: 5 additions & 4 deletions jina/clients/request/helper.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
"""Module for helper functions for clients."""
from typing import Tuple

from ...enums import DataInputType
from ...excepts import BadRequestType
from docarray.document import Document
from ...types.request.data import DataRequest

from jina.enums import DataInputType
from jina.excepts import BadRequestType
from jina.types.request.data import DataRequest


def _new_data_request_from_batch(
Expand Down Expand Up @@ -71,7 +72,7 @@ def _add_docs_groundtruths(req, batch, data_type, _kwargs):


def _add_control_propagate(req, kwargs):
from ...proto import jina_pb2
from jina.proto import jina_pb2

extra_kwargs = kwargs[
'extra_kwargs'
Expand Down
4 changes: 2 additions & 2 deletions jina/clients/websocket.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from .base.websocket import WebSocketBaseClient
from .mixin import AsyncPostMixin, PostMixin
from jina.clients.base.websocket import WebSocketBaseClient
from jina.clients.mixin import AsyncPostMixin, PostMixin


class WebSocketClient(WebSocketBaseClient, PostMixin):
Expand Down
2 changes: 1 addition & 1 deletion jina/enums.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ def register_class(cls):
if cls.__name__ not in reg_cls_set or getattr(cls, 'force_register', False):
reg_cls_set.add(cls.__name__)
setattr(cls, '_registered_class', reg_cls_set)
from .jaml import JAML
from jina.jaml import JAML

JAML.register(cls)
return cls
Expand Down

0 comments on commit cea3006

Please sign in to comment.