diff --git a/test-requirements.txt b/test-requirements.txt index eb4cab95..8eca233b 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -1,5 +1,6 @@ attrs==21.2.0 bcrypt==3.2.0 +black==22.12.0 cached-property==1.5.2 certifi==2022.12.7 cffi==1.14.6 diff --git a/tox.ini b/tox.ini index b4d04f63..026ec732 100644 --- a/tox.ini +++ b/tox.ini @@ -45,13 +45,11 @@ deps = [testenv:black-format] skip_install = true -deps = black commands = black ydb examples tests --extend-exclude ydb/_grpc [testenv:black] skip_install = true -deps = black commands = black --diff --check ydb examples tests --extend-exclude ydb/_grpc diff --git a/ydb/_apis.py b/ydb/_apis.py index 2820f482..342c485f 100644 --- a/ydb/_apis.py +++ b/ydb/_apis.py @@ -1,26 +1,44 @@ # -*- coding: utf-8 -*- -from ydb._grpc.common import ( - ydb_cms_v1_pb2_grpc, - ydb_discovery_v1_pb2_grpc, - ydb_scheme_v1_pb2_grpc, - ydb_table_v1_pb2_grpc, -) -from ydb._grpc.common.protos import ( - ydb_status_codes_pb2, - ydb_discovery_pb2, - ydb_scheme_pb2, - ydb_table_pb2, - ydb_value_pb2, -) -from ydb._grpc.common.protos import ydb_operation_pb2 -from ydb._grpc.common.protos import ydb_common_pb2 -from ydb._grpc.common import ydb_operation_v1_pb2_grpc - -# Workaround for good IDE and universal runtime +# Workaround for good IDE and universal for runtime +# noinspection PyUnreachableCode if False: - from ydb._grpc.v4 import ydb_topic_v1_pb2_grpc + from ._grpc.v4 import ( + ydb_cms_v1_pb2_grpc, + ydb_discovery_v1_pb2_grpc, + ydb_scheme_v1_pb2_grpc, + ydb_table_v1_pb2_grpc, + ydb_operation_v1_pb2_grpc, + ydb_topic_v1_pb2_grpc, + ) + + from ._grpc.v4.protos import ( + ydb_status_codes_pb2, + ydb_discovery_pb2, + ydb_scheme_pb2, + ydb_table_pb2, + ydb_value_pb2, + ydb_operation_pb2, + ydb_common_pb2, + ) else: - from ydb._grpc.common import ydb_topic_v1_pb2_grpc + from ._grpc.common import ( + ydb_cms_v1_pb2_grpc, + ydb_discovery_v1_pb2_grpc, + ydb_scheme_v1_pb2_grpc, + ydb_table_v1_pb2_grpc, + ydb_operation_v1_pb2_grpc, + ydb_topic_v1_pb2_grpc, + ) + + from ._grpc.common.protos import ( + ydb_status_codes_pb2, + ydb_discovery_pb2, + ydb_scheme_pb2, + ydb_table_pb2, + ydb_value_pb2, + ydb_operation_pb2, + ydb_common_pb2, + ) StatusIds = ydb_status_codes_pb2.StatusIds diff --git a/ydb/credentials.py b/ydb/credentials.py index d3c0d3ca..8e22fe2a 100644 --- a/ydb/credentials.py +++ b/ydb/credentials.py @@ -7,8 +7,15 @@ from concurrent import futures import logging import time -from ydb._grpc.common.protos import ydb_auth_pb2 -from ydb._grpc.common import ydb_auth_v1_pb2_grpc + +# Workaround for good IDE and universal for runtime +# noinspection PyUnreachableCode +if False: + from ._grpc.v4.protos import ydb_auth_pb2 + from ._grpc.v4 import ydb_auth_v1_pb2_grpc +else: + from ._grpc.common.protos import ydb_auth_pb2 + from ._grpc.common import ydb_auth_v1_pb2_grpc YDB_AUTH_TICKET_HEADER = "x-ydb-auth-ticket" diff --git a/ydb/export.py b/ydb/export.py index 23df3c63..419a753b 100644 --- a/ydb/export.py +++ b/ydb/export.py @@ -3,8 +3,16 @@ from . import _apis from . import settings_impl as s_impl -from ydb._grpc.common.protos import ydb_export_pb2 -from ydb._grpc.common import ydb_export_v1_pb2_grpc + +# Workaround for good IDE and universal for runtime +# noinspection PyUnreachableCode +if False: + from ._grpc.v4.protos import ydb_export_pb2 + from ._grpc.v4 import ydb_export_v1_pb2_grpc +else: + from ._grpc.common.protos import ydb_export_pb2 + from ._grpc.common import ydb_export_v1_pb2_grpc + from . import operation _ExportToYt = "ExportToYt" diff --git a/ydb/import_client.py b/ydb/import_client.py index 61199b8c..d1ccc99a 100644 --- a/ydb/import_client.py +++ b/ydb/import_client.py @@ -3,8 +3,17 @@ from . import _apis from . import settings_impl as s_impl -from ydb._grpc.common.protos import ydb_import_pb2 -from ydb._grpc.common import ydb_import_v1_pb2_grpc + +# Workaround for good IDE and universal for runtime +# noinspection PyUnreachableCode +if False: + from ._grpc.v4.protos import ydb_import_pb2 + from ._grpc.v4 import ydb_import_v1_pb2_grpc +else: + from ._grpc.common.protos import ydb_import_pb2 + from ._grpc.common import ydb_import_v1_pb2_grpc + + from . import operation _ImportFromS3 = "ImportFromS3" diff --git a/ydb/scripting.py b/ydb/scripting.py index 247f8105..9fed037a 100644 --- a/ydb/scripting.py +++ b/ydb/scripting.py @@ -1,5 +1,13 @@ -from ydb._grpc.common.protos import ydb_scripting_pb2 -from ydb._grpc.common import ydb_scripting_v1_pb2_grpc +# Workaround for good IDE and universal for runtime +# noinspection PyUnreachableCode +if False: + from ._grpc.v4.protos import ydb_scripting_pb2 + from ._grpc.v4 import ydb_scripting_v1_pb2_grpc +else: + from ._grpc.common.protos import ydb_scripting_pb2 + from ._grpc.common import ydb_scripting_v1_pb2_grpc + + from . import issues, convert, settings