clarifai-grpc 6.4.0__py3-none-any.whl → 11.10.3__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- clarifai_grpc/__init__.py +33 -0
- clarifai_grpc/channel/clarifai_channel.py +150 -44
- clarifai_grpc/channel/custom_converters/custom_dict_to_message.py +41 -34
- clarifai_grpc/channel/custom_converters/custom_message_to_dict.py +85 -74
- clarifai_grpc/channel/errors.py +5 -0
- clarifai_grpc/channel/exceptions.py +1 -1
- clarifai_grpc/channel/grpc_json_channel.py +387 -261
- clarifai_grpc/channel/http_client.py +125 -104
- clarifai_grpc/grpc/api/resources_pb2.py +984 -7266
- clarifai_grpc/grpc/api/resources_pb2.pyi +17925 -0
- clarifai_grpc/grpc/api/resources_pb2_grpc.py +1 -0
- clarifai_grpc/grpc/api/service_pb2.py +1578 -8672
- clarifai_grpc/grpc/api/service_pb2.pyi +18269 -0
- clarifai_grpc/grpc/api/service_pb2_grpc.py +9746 -1859
- clarifai_grpc/grpc/api/status/status_code_pb2.py +33 -1334
- clarifai_grpc/grpc/api/status/status_code_pb2.pyi +1210 -0
- clarifai_grpc/grpc/api/status/status_code_pb2_grpc.py +1 -0
- clarifai_grpc/grpc/api/status/status_pb2.py +23 -149
- clarifai_grpc/grpc/api/status/status_pb2.pyi +174 -0
- clarifai_grpc/grpc/api/status/status_pb2_grpc.py +1 -0
- clarifai_grpc/grpc/api/utils/extensions_pb2.py +13 -46
- clarifai_grpc/grpc/api/utils/extensions_pb2.pyi +39 -0
- clarifai_grpc/grpc/api/utils/extensions_pb2_grpc.py +1 -0
- clarifai_grpc/grpc/api/utils/matrix_pb2.py +26 -0
- clarifai_grpc/grpc/api/utils/matrix_pb2.pyi +53 -0
- clarifai_grpc/grpc/api/utils/matrix_pb2_grpc.py +4 -0
- clarifai_grpc/grpc/api/utils/test_proto_pb2.py +17 -158
- clarifai_grpc/grpc/api/utils/test_proto_pb2.pyi +107 -0
- clarifai_grpc/grpc/api/utils/test_proto_pb2_grpc.py +1 -0
- clarifai_grpc/grpc/auth/scope/scope_pb2.py +245 -448
- clarifai_grpc/grpc/auth/scope/scope_pb2.pyi +550 -0
- clarifai_grpc/grpc/auth/scope/scope_pb2_grpc.py +1 -0
- clarifai_grpc/grpc/auth/types/types_pb2.py +11 -62
- clarifai_grpc/grpc/auth/types/types_pb2.pyi +78 -0
- clarifai_grpc/grpc/auth/types/types_pb2_grpc.py +1 -0
- clarifai_grpc/grpc/auth/util/extension_pb2.py +14 -68
- clarifai_grpc/grpc/auth/util/extension_pb2.pyi +68 -0
- clarifai_grpc/grpc/auth/util/extension_pb2_grpc.py +1 -0
- clarifai_grpc-11.10.3.dist-info/METADATA +124 -0
- clarifai_grpc-11.10.3.dist-info/RECORD +53 -0
- {clarifai_grpc-6.4.0.dist-info → clarifai_grpc-11.10.3.dist-info}/WHEEL +1 -1
- {clarifai_grpc-6.4.0.dist-info → clarifai_grpc-11.10.3.dist-info}/top_level.txt +0 -2
- clarifai_grpc-6.4.0.dist-info/METADATA +0 -88
- clarifai_grpc-6.4.0.dist-info/RECORD +0 -46
- scripts/__init__.py +0 -0
- scripts/app_and_key_for_tests.py +0 -180
- tests/__init__.py +0 -0
- tests/helpers.py +0 -105
- tests/test_integration.py +0 -243
- {clarifai_grpc-6.4.0.dist-info → clarifai_grpc-11.10.3.dist-info/licenses}/LICENSE +0 -0
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"""
|
|
2
|
+
@generated by mypy-protobuf. Do not edit manually!
|
|
3
|
+
isort:skip_file
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
import builtins
|
|
7
|
+
import sys
|
|
8
|
+
import typing
|
|
9
|
+
|
|
10
|
+
import google.protobuf.descriptor
|
|
11
|
+
import google.protobuf.internal.enum_type_wrapper
|
|
12
|
+
|
|
13
|
+
if sys.version_info >= (3, 10):
|
|
14
|
+
import typing as typing_extensions
|
|
15
|
+
else:
|
|
16
|
+
import typing_extensions
|
|
17
|
+
|
|
18
|
+
DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
|
|
19
|
+
|
|
20
|
+
class _AuthType:
|
|
21
|
+
ValueType = typing.NewType("ValueType", builtins.int)
|
|
22
|
+
V: typing_extensions.TypeAlias = ValueType
|
|
23
|
+
|
|
24
|
+
class _AuthTypeEnumTypeWrapper(
|
|
25
|
+
google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_AuthType.ValueType], builtins.type
|
|
26
|
+
):
|
|
27
|
+
DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
|
|
28
|
+
undef: _AuthType.ValueType # 0
|
|
29
|
+
"""introduce undef so that the zero (default/unset) value of the enum is not a real
|
|
30
|
+
permission. undef is only present for this purpose and should not be used
|
|
31
|
+
to indicate any "real" value.
|
|
32
|
+
"""
|
|
33
|
+
NoAuth: _AuthType.ValueType # 1
|
|
34
|
+
"""No authorization need for this endpoint."""
|
|
35
|
+
KeyAuth: _AuthType.ValueType # 2
|
|
36
|
+
"""This authorization requires API keys (both app-spceific keys and personal access tokens).
|
|
37
|
+
The endpoints that use this AuthType may also include a list of
|
|
38
|
+
clarifai.auth.utils.cl_depending_scopes.
|
|
39
|
+
"""
|
|
40
|
+
SessionTokenAuth: _AuthType.ValueType # 3
|
|
41
|
+
"""This uses a session token from your web browser. This is reserved for users/account level APIs
|
|
42
|
+
that are only needed in a browser.
|
|
43
|
+
"""
|
|
44
|
+
AdminAuth: _AuthType.ValueType # 4
|
|
45
|
+
"""This uses a special token for admin access to the APIs."""
|
|
46
|
+
PATAuth: _AuthType.ValueType # 5
|
|
47
|
+
"""This authorization requires personal access tokens. This is used for endpoints such as
|
|
48
|
+
/users/{user_id}/apps which are not specific. An app-specific API key will not work
|
|
49
|
+
when PATAuth is used.
|
|
50
|
+
"""
|
|
51
|
+
|
|
52
|
+
class AuthType(_AuthType, metaclass=_AuthTypeEnumTypeWrapper):
|
|
53
|
+
"""Authorization type for endpoints."""
|
|
54
|
+
|
|
55
|
+
undef: AuthType.ValueType # 0
|
|
56
|
+
"""introduce undef so that the zero (default/unset) value of the enum is not a real
|
|
57
|
+
permission. undef is only present for this purpose and should not be used
|
|
58
|
+
to indicate any "real" value.
|
|
59
|
+
"""
|
|
60
|
+
NoAuth: AuthType.ValueType # 1
|
|
61
|
+
"""No authorization need for this endpoint."""
|
|
62
|
+
KeyAuth: AuthType.ValueType # 2
|
|
63
|
+
"""This authorization requires API keys (both app-spceific keys and personal access tokens).
|
|
64
|
+
The endpoints that use this AuthType may also include a list of
|
|
65
|
+
clarifai.auth.utils.cl_depending_scopes.
|
|
66
|
+
"""
|
|
67
|
+
SessionTokenAuth: AuthType.ValueType # 3
|
|
68
|
+
"""This uses a session token from your web browser. This is reserved for users/account level APIs
|
|
69
|
+
that are only needed in a browser.
|
|
70
|
+
"""
|
|
71
|
+
AdminAuth: AuthType.ValueType # 4
|
|
72
|
+
"""This uses a special token for admin access to the APIs."""
|
|
73
|
+
PATAuth: AuthType.ValueType # 5
|
|
74
|
+
"""This authorization requires personal access tokens. This is used for endpoints such as
|
|
75
|
+
/users/{user_id}/apps which are not specific. An app-specific API key will not work
|
|
76
|
+
when PATAuth is used.
|
|
77
|
+
"""
|
|
78
|
+
global___AuthType = AuthType
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*-
|
|
2
2
|
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
3
|
# source: proto/clarifai/auth/util/extension.proto
|
|
4
|
-
|
|
4
|
+
"""Generated protocol buffer code."""
|
|
5
|
+
from google.protobuf.internal import builder as _builder
|
|
5
6
|
from google.protobuf import descriptor as _descriptor
|
|
6
|
-
from google.protobuf import
|
|
7
|
-
from google.protobuf import reflection as _reflection
|
|
7
|
+
from google.protobuf import descriptor_pool as _descriptor_pool
|
|
8
8
|
from google.protobuf import symbol_database as _symbol_database
|
|
9
9
|
# @@protoc_insertion_point(imports)
|
|
10
10
|
|
|
@@ -16,71 +16,17 @@ from clarifai_grpc.grpc.auth.types import types_pb2 as proto_dot_clarifai_dot_au
|
|
|
16
16
|
from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2
|
|
17
17
|
|
|
18
18
|
|
|
19
|
-
DESCRIPTOR =
|
|
20
|
-
name='proto/clarifai/auth/util/extension.proto',
|
|
21
|
-
package='clarifai.auth.util',
|
|
22
|
-
syntax='proto3',
|
|
23
|
-
serialized_options=b'\n\033com.clarifai.grpc.auth.utilP\001Z\004util\242\002\004CAIP',
|
|
24
|
-
serialized_pb=b'\n(proto/clarifai/auth/util/extension.proto\x12\x12\x63larifai.auth.util\x1a%proto/clarifai/auth/scope/scope.proto\x1a%proto/clarifai/auth/types/types.proto\x1a google/protobuf/descriptor.proto:9\n\x10\x63l_private_field\x12\x1d.google.protobuf.FieldOptions\x18\xc0\xf3\x04 \x01(\x08:8\n\x0e\x63l_private_rpc\x12\x1e.google.protobuf.MethodOptions\x18\xc1\xf3\x04 \x01(\x08:U\n\x13\x63l_depending_scopes\x12\x1e.google.protobuf.MethodOptions\x18\xc2\xf3\x04 \x03(\x0e\x32\x16.clarifai.auth.scope.S:U\n\x0c\x63l_auth_type\x12\x1e.google.protobuf.MethodOptions\x18\xc3\xf3\x04 \x01(\x0e\x32\x1d.clarifai.auth.types.AuthType:=\n\x12\x63l_private_message\x12\x1f.google.protobuf.MessageOptions\x18\xc4\xf3\x04 \x01(\x08\x42,\n\x1b\x63om.clarifai.grpc.auth.utilP\x01Z\x04util\xa2\x02\x04\x43\x41IPb\x06proto3'
|
|
25
|
-
,
|
|
26
|
-
dependencies=[proto_dot_clarifai_dot_auth_dot_scope_dot_scope__pb2.DESCRIPTOR,proto_dot_clarifai_dot_auth_dot_types_dot_types__pb2.DESCRIPTOR,google_dot_protobuf_dot_descriptor__pb2.DESCRIPTOR,])
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
CL_PRIVATE_FIELD_FIELD_NUMBER = 80320
|
|
30
|
-
cl_private_field = _descriptor.FieldDescriptor(
|
|
31
|
-
name='cl_private_field', full_name='clarifai.auth.util.cl_private_field', index=0,
|
|
32
|
-
number=80320, type=8, cpp_type=7, label=1,
|
|
33
|
-
has_default_value=False, default_value=False,
|
|
34
|
-
message_type=None, enum_type=None, containing_type=None,
|
|
35
|
-
is_extension=True, extension_scope=None,
|
|
36
|
-
serialized_options=None, file=DESCRIPTOR)
|
|
37
|
-
CL_PRIVATE_RPC_FIELD_NUMBER = 80321
|
|
38
|
-
cl_private_rpc = _descriptor.FieldDescriptor(
|
|
39
|
-
name='cl_private_rpc', full_name='clarifai.auth.util.cl_private_rpc', index=1,
|
|
40
|
-
number=80321, type=8, cpp_type=7, label=1,
|
|
41
|
-
has_default_value=False, default_value=False,
|
|
42
|
-
message_type=None, enum_type=None, containing_type=None,
|
|
43
|
-
is_extension=True, extension_scope=None,
|
|
44
|
-
serialized_options=None, file=DESCRIPTOR)
|
|
45
|
-
CL_DEPENDING_SCOPES_FIELD_NUMBER = 80322
|
|
46
|
-
cl_depending_scopes = _descriptor.FieldDescriptor(
|
|
47
|
-
name='cl_depending_scopes', full_name='clarifai.auth.util.cl_depending_scopes', index=2,
|
|
48
|
-
number=80322, type=14, cpp_type=8, label=3,
|
|
49
|
-
has_default_value=False, default_value=[],
|
|
50
|
-
message_type=None, enum_type=None, containing_type=None,
|
|
51
|
-
is_extension=True, extension_scope=None,
|
|
52
|
-
serialized_options=None, file=DESCRIPTOR)
|
|
53
|
-
CL_AUTH_TYPE_FIELD_NUMBER = 80323
|
|
54
|
-
cl_auth_type = _descriptor.FieldDescriptor(
|
|
55
|
-
name='cl_auth_type', full_name='clarifai.auth.util.cl_auth_type', index=3,
|
|
56
|
-
number=80323, type=14, cpp_type=8, label=1,
|
|
57
|
-
has_default_value=False, default_value=0,
|
|
58
|
-
message_type=None, enum_type=None, containing_type=None,
|
|
59
|
-
is_extension=True, extension_scope=None,
|
|
60
|
-
serialized_options=None, file=DESCRIPTOR)
|
|
61
|
-
CL_PRIVATE_MESSAGE_FIELD_NUMBER = 80324
|
|
62
|
-
cl_private_message = _descriptor.FieldDescriptor(
|
|
63
|
-
name='cl_private_message', full_name='clarifai.auth.util.cl_private_message', index=4,
|
|
64
|
-
number=80324, type=8, cpp_type=7, label=1,
|
|
65
|
-
has_default_value=False, default_value=False,
|
|
66
|
-
message_type=None, enum_type=None, containing_type=None,
|
|
67
|
-
is_extension=True, extension_scope=None,
|
|
68
|
-
serialized_options=None, file=DESCRIPTOR)
|
|
69
|
-
|
|
70
|
-
DESCRIPTOR.extensions_by_name['cl_private_field'] = cl_private_field
|
|
71
|
-
DESCRIPTOR.extensions_by_name['cl_private_rpc'] = cl_private_rpc
|
|
72
|
-
DESCRIPTOR.extensions_by_name['cl_depending_scopes'] = cl_depending_scopes
|
|
73
|
-
DESCRIPTOR.extensions_by_name['cl_auth_type'] = cl_auth_type
|
|
74
|
-
DESCRIPTOR.extensions_by_name['cl_private_message'] = cl_private_message
|
|
75
|
-
_sym_db.RegisterFileDescriptor(DESCRIPTOR)
|
|
19
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n(proto/clarifai/auth/util/extension.proto\x12\x12\x63larifai.auth.util\x1a%proto/clarifai/auth/scope/scope.proto\x1a%proto/clarifai/auth/types/types.proto\x1a google/protobuf/descriptor.proto:9\n\x10\x63l_private_field\x12\x1d.google.protobuf.FieldOptions\x18\xc0\xf3\x04 \x01(\x08:8\n\x0e\x63l_private_rpc\x12\x1e.google.protobuf.MethodOptions\x18\xc1\xf3\x04 \x01(\x08:U\n\x13\x63l_depending_scopes\x12\x1e.google.protobuf.MethodOptions\x18\xc2\xf3\x04 \x03(\x0e\x32\x16.clarifai.auth.scope.S:U\n\x0c\x63l_auth_type\x12\x1e.google.protobuf.MethodOptions\x18\xc3\xf3\x04 \x01(\x0e\x32\x1d.clarifai.auth.types.AuthType:=\n\x12\x63l_private_message\x12\x1f.google.protobuf.MessageOptions\x18\xc4\xf3\x04 \x01(\x08\x42\x65\n\x1b\x63om.clarifai.grpc.auth.utilP\x01Z=github.com/Clarifai/clarifai-go-grpc/proto/clarifai/auth/util\xa2\x02\x04\x43\x41IPb\x06proto3')
|
|
76
20
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
google_dot_protobuf_dot_descriptor__pb2.
|
|
81
|
-
|
|
82
|
-
google_dot_protobuf_dot_descriptor__pb2.MethodOptions.RegisterExtension(
|
|
83
|
-
google_dot_protobuf_dot_descriptor__pb2.
|
|
21
|
+
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals())
|
|
22
|
+
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'proto.clarifai.auth.util.extension_pb2', globals())
|
|
23
|
+
if _descriptor._USE_C_DESCRIPTORS == False:
|
|
24
|
+
google_dot_protobuf_dot_descriptor__pb2.FieldOptions.RegisterExtension(cl_private_field)
|
|
25
|
+
google_dot_protobuf_dot_descriptor__pb2.MethodOptions.RegisterExtension(cl_private_rpc)
|
|
26
|
+
google_dot_protobuf_dot_descriptor__pb2.MethodOptions.RegisterExtension(cl_depending_scopes)
|
|
27
|
+
google_dot_protobuf_dot_descriptor__pb2.MethodOptions.RegisterExtension(cl_auth_type)
|
|
28
|
+
google_dot_protobuf_dot_descriptor__pb2.MessageOptions.RegisterExtension(cl_private_message)
|
|
84
29
|
|
|
85
|
-
DESCRIPTOR._options = None
|
|
30
|
+
DESCRIPTOR._options = None
|
|
31
|
+
DESCRIPTOR._serialized_options = b'\n\033com.clarifai.grpc.auth.utilP\001Z=github.com/Clarifai/clarifai-go-grpc/proto/clarifai/auth/util\242\002\004CAIP'
|
|
86
32
|
# @@protoc_insertion_point(module_scope)
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"""
|
|
2
|
+
@generated by mypy-protobuf. Do not edit manually!
|
|
3
|
+
isort:skip_file
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
import builtins
|
|
7
|
+
|
|
8
|
+
import google.protobuf.descriptor
|
|
9
|
+
import google.protobuf.descriptor_pb2
|
|
10
|
+
import google.protobuf.internal.containers
|
|
11
|
+
import google.protobuf.internal.extension_dict
|
|
12
|
+
import proto.clarifai.auth.scope.scope_pb2
|
|
13
|
+
import proto.clarifai.auth.types.types_pb2
|
|
14
|
+
|
|
15
|
+
DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
|
|
16
|
+
|
|
17
|
+
CL_PRIVATE_FIELD_FIELD_NUMBER: builtins.int
|
|
18
|
+
CL_PRIVATE_RPC_FIELD_NUMBER: builtins.int
|
|
19
|
+
CL_DEPENDING_SCOPES_FIELD_NUMBER: builtins.int
|
|
20
|
+
CL_AUTH_TYPE_FIELD_NUMBER: builtins.int
|
|
21
|
+
CL_PRIVATE_MESSAGE_FIELD_NUMBER: builtins.int
|
|
22
|
+
cl_private_field: google.protobuf.internal.extension_dict._ExtensionFieldDescriptor[
|
|
23
|
+
google.protobuf.descriptor_pb2.FieldOptions, builtins.bool
|
|
24
|
+
]
|
|
25
|
+
"""indicates if this field should be private. If true, then internal use only. If False,
|
|
26
|
+
then publicly avaliable to world.
|
|
27
|
+
"""
|
|
28
|
+
cl_private_rpc: google.protobuf.internal.extension_dict._ExtensionFieldDescriptor[
|
|
29
|
+
google.protobuf.descriptor_pb2.MethodOptions, builtins.bool
|
|
30
|
+
]
|
|
31
|
+
"""indicates if this rpc should be private. If true, then internal use only. If False,
|
|
32
|
+
then publicly available to world.
|
|
33
|
+
"""
|
|
34
|
+
cl_depending_scopes: google.protobuf.internal.extension_dict._ExtensionFieldDescriptor[
|
|
35
|
+
google.protobuf.descriptor_pb2.MethodOptions,
|
|
36
|
+
google.protobuf.internal.containers.RepeatedScalarFieldContainer[
|
|
37
|
+
proto.clarifai.auth.scope.scope_pb2.S.ValueType
|
|
38
|
+
],
|
|
39
|
+
]
|
|
40
|
+
"""For each grpc method we define a list of required low-level auth scopes that are needed
|
|
41
|
+
for the key that is issuing the request. These are checked at authorization time for the
|
|
42
|
+
request as one of the first things in the life of a request once it reaches out API
|
|
43
|
+
servers. There are additional checks for each scope when the resource is used throughout the
|
|
44
|
+
backend in order to protect that resource. For example, Inputs_Add protects the writes to the
|
|
45
|
+
inputs DB table. Since we know every PostInputs call needs to do that, we add Inputs_Add scope
|
|
46
|
+
to the cl_depending_scopes list for the PostInputs method.
|
|
47
|
+
|
|
48
|
+
This is only checked valid when used with KeyAuth cl_auth_type.
|
|
49
|
+
|
|
50
|
+
This should be the absolute minimum required scopes to make API calls with the method
|
|
51
|
+
that this options is used for. If there are some scopes that are needed some of the time
|
|
52
|
+
depending on the request, then leave those out as they will be checked at the tighest
|
|
53
|
+
possible portion of the codebase to protect that resource and won't effect every API call. For
|
|
54
|
+
example, the PostAnnotations call is often used to add concepts as well. If those concepts are
|
|
55
|
+
new, then the Concepts_Add scope will be needed. But since you don't always annotate with
|
|
56
|
+
concepts, it is not a hard requirements that Concepts_Add is used.
|
|
57
|
+
"""
|
|
58
|
+
cl_auth_type: google.protobuf.internal.extension_dict._ExtensionFieldDescriptor[
|
|
59
|
+
google.protobuf.descriptor_pb2.MethodOptions,
|
|
60
|
+
proto.clarifai.auth.types.types_pb2.AuthType.ValueType,
|
|
61
|
+
]
|
|
62
|
+
"""This is the authorizer type for the endpoint our of multiple backend authorizers."""
|
|
63
|
+
cl_private_message: google.protobuf.internal.extension_dict._ExtensionFieldDescriptor[
|
|
64
|
+
google.protobuf.descriptor_pb2.MessageOptions, builtins.bool
|
|
65
|
+
]
|
|
66
|
+
"""indicates if this message should be private. If true, then internal use only. If False,
|
|
67
|
+
then publicly avaliable to world.
|
|
68
|
+
"""
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: clarifai-grpc
|
|
3
|
+
Version: 11.10.3
|
|
4
|
+
Summary: Clarifai gRPC API Client
|
|
5
|
+
Home-page: https://github.com/Clarifai/clarifai-python-grpc
|
|
6
|
+
Author: Clarifai
|
|
7
|
+
Author-email: support@clarifai.com
|
|
8
|
+
License: Apache 2.0
|
|
9
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
10
|
+
Classifier: Programming Language :: Python :: 3
|
|
11
|
+
Classifier: License :: OSI Approved :: Apache Software License
|
|
12
|
+
Classifier: Operating System :: OS Independent
|
|
13
|
+
Requires-Python: >=3.8
|
|
14
|
+
Description-Content-Type: text/markdown
|
|
15
|
+
License-File: LICENSE
|
|
16
|
+
Requires-Dist: grpcio>=1.53.2; python_version < "3.13"
|
|
17
|
+
Requires-Dist: grpcio>=1.68.0; python_version >= "3.13"
|
|
18
|
+
Requires-Dist: protobuf>=5.29.5
|
|
19
|
+
Requires-Dist: googleapis-common-protos>=1.57.0
|
|
20
|
+
Dynamic: author
|
|
21
|
+
Dynamic: author-email
|
|
22
|
+
Dynamic: classifier
|
|
23
|
+
Dynamic: description
|
|
24
|
+
Dynamic: description-content-type
|
|
25
|
+
Dynamic: home-page
|
|
26
|
+
Dynamic: license
|
|
27
|
+
Dynamic: license-file
|
|
28
|
+
Dynamic: requires-dist
|
|
29
|
+
Dynamic: requires-python
|
|
30
|
+
Dynamic: summary
|
|
31
|
+
|
|
32
|
+

|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
# Clarifai Python gRPC Client
|
|
36
|
+
|
|
37
|
+
This is the official Clarifai gRPC Python client for interacting with our powerful recognition
|
|
38
|
+
[API](https://docs.clarifai.com).
|
|
39
|
+
Clarifai provides a platform for data scientists, developers, researchers and enterprises to master the entire
|
|
40
|
+
artificial intelligence lifecycle. Gather valuable business insights from images, video and text using computer vision
|
|
41
|
+
and natural language processing.
|
|
42
|
+
|
|
43
|
+
* Try the Clarifai demo at: https://clarifai.com/demo
|
|
44
|
+
* Sign up for a free account at: https://portal.clarifai.com/signup
|
|
45
|
+
* Read the documentation at: https://docs.clarifai.com/
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
[](https://pypi.python.org/pypi/clarifai-grpc)
|
|
49
|
+
[](https://github.com/Clarifai/clarifai-python-grpc/actions)
|
|
50
|
+
|
|
51
|
+
## Installation
|
|
52
|
+
|
|
53
|
+
```cmd
|
|
54
|
+
python -m pip install clarifai-grpc
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Versioning
|
|
58
|
+
|
|
59
|
+
This library doesn't use semantic versioning. The first two version numbers (`X.Y` out of `X.Y.Z`) follow the API (backend) versioning, and
|
|
60
|
+
whenever the API gets updated, this library follows it.
|
|
61
|
+
|
|
62
|
+
The third version number (`Z` out of `X.Y.Z`) is used by this library for any independent releases of library-specific improvements and bug fixes.
|
|
63
|
+
|
|
64
|
+
## Getting started
|
|
65
|
+
|
|
66
|
+
Construct the `V2Stub` object using which you'll access all the Clarifai API functionality:
|
|
67
|
+
|
|
68
|
+
```python
|
|
69
|
+
from clarifai_grpc.channel.clarifai_channel import ClarifaiChannel
|
|
70
|
+
from clarifai_grpc.grpc.api import service_pb2_grpc
|
|
71
|
+
|
|
72
|
+
stub = service_pb2_grpc.V2Stub(ClarifaiChannel.get_grpc_channel())
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
> Alternatives to the encrypted gRPC channel (`ClarifaiChannel.get_grpc_channel()`) are:
|
|
76
|
+
> - the HTTPS+JSON channel (`ClarifaiChannel.get_json_channel()`), and
|
|
77
|
+
> - the unencrypted gRPC channel (`ClarifaiChannel.get_insecure_grpc_channel()`).
|
|
78
|
+
>
|
|
79
|
+
> We only recommend them in special cases.
|
|
80
|
+
|
|
81
|
+
Predict concepts in an image:
|
|
82
|
+
|
|
83
|
+
```python
|
|
84
|
+
from clarifai_grpc.grpc.api import service_pb2, resources_pb2
|
|
85
|
+
from clarifai_grpc.grpc.api.status import status_code_pb2
|
|
86
|
+
|
|
87
|
+
YOUR_CLARIFAI_API_KEY = "???"
|
|
88
|
+
YOUR_APPLICATION_ID = "???"
|
|
89
|
+
SAMPLE_URL = "https://samples.clarifai.com/metro-north.jpg"
|
|
90
|
+
|
|
91
|
+
# This is how you authenticate.
|
|
92
|
+
metadata = (("authorization", f"Key {YOUR_CLARIFAI_API_KEY}"),)
|
|
93
|
+
|
|
94
|
+
request = service_pb2.PostModelOutputsRequest(
|
|
95
|
+
# This is the model ID of a publicly available General model. You may use any other public or custom model ID.
|
|
96
|
+
model_id="general-image-recognition",
|
|
97
|
+
user_app_id=resources_pb2.UserAppIDSet(app_id=YOUR_APPLICATION_ID),
|
|
98
|
+
inputs=[
|
|
99
|
+
resources_pb2.Input(
|
|
100
|
+
data=resources_pb2.Data(image=resources_pb2.Image(url=SAMPLE_URL))
|
|
101
|
+
)
|
|
102
|
+
],
|
|
103
|
+
)
|
|
104
|
+
response = stub.PostModelOutputs(request, metadata=metadata)
|
|
105
|
+
|
|
106
|
+
if response.status.code != status_code_pb2.SUCCESS:
|
|
107
|
+
print(response)
|
|
108
|
+
raise Exception(f"Request failed, status code: {response.status}")
|
|
109
|
+
|
|
110
|
+
for concept in response.outputs[0].data.concepts:
|
|
111
|
+
print("%12s: %.2f" % (concept.name, concept.value))
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
See [the Clarifai API documentation](https://docs.clarifai.com/) for all available functionality.
|
|
115
|
+
|
|
116
|
+
## Troubleshooting
|
|
117
|
+
|
|
118
|
+
#### I get the following error when installing the library: `Failed building wheel for grpcio`
|
|
119
|
+
|
|
120
|
+
Try upgrading **setuptools** to a version `40.7.1` or higher.
|
|
121
|
+
```
|
|
122
|
+
pip install --upgrade setuptools
|
|
123
|
+
```
|
|
124
|
+
Source: https://github.com/grpc/grpc/issues/17829
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
clarifai_grpc/__init__.py,sha256=kVnsKERcMFhHiAajrKw2Kd1G7W4shJi5RDgE0paPcX8,1441
|
|
2
|
+
clarifai_grpc/channel/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
3
|
+
clarifai_grpc/channel/clarifai_channel.py,sha256=fGqFlagWzKhRny-RAxbKlXT9_k9HohPs9yCKmkkQZ5c,5770
|
|
4
|
+
clarifai_grpc/channel/errors.py,sha256=VUoLZLLcIfI2nOGlz1dzbOKQJhGodOO98pSSjlsRD6s,183
|
|
5
|
+
clarifai_grpc/channel/exceptions.py,sha256=q7TXcei0nUQRF1H4tBIRxDVTJmFB1eCQcdeDxbEbTnY,45
|
|
6
|
+
clarifai_grpc/channel/grpc_json_channel.py,sha256=y8wY4HVz_9iKEReziqpwemmixZWiRgvRjBmQkSRzEhg,17317
|
|
7
|
+
clarifai_grpc/channel/http_client.py,sha256=JneyYYjTFiYTNKzxetGK26FkKpmunGOO8qulYHeUs_4,5746
|
|
8
|
+
clarifai_grpc/channel/custom_converters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
9
|
+
clarifai_grpc/channel/custom_converters/custom_dict_to_message.py,sha256=aAOjcIGF-Dav0526URTDpq9NPP306zXjNsoHAOUVRpU,1790
|
|
10
|
+
clarifai_grpc/channel/custom_converters/custom_message_to_dict.py,sha256=w-GeM4wYO5WcmjDjykw2wbXVpfy-A0_mkO9-3bPW4FE,3699
|
|
11
|
+
clarifai_grpc/grpc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
12
|
+
clarifai_grpc/grpc/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
13
|
+
clarifai_grpc/grpc/api/resources_pb2.py,sha256=vYa7_vfn_kMuFvjI25fUvJuHbP2fGBQZPwPpEqGJuO4,159000
|
|
14
|
+
clarifai_grpc/grpc/api/resources_pb2.pyi,sha256=43-4wT3UoDj1pbf3DIZQOAvNWOAbROJf6jfO8JBsGvo,657355
|
|
15
|
+
clarifai_grpc/grpc/api/resources_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
|
|
16
|
+
clarifai_grpc/grpc/api/service_pb2.py,sha256=R7xa7IGteMN-BJNco37cVMLi_SEGWVgtdi2hMpuXtZ0,348160
|
|
17
|
+
clarifai_grpc/grpc/api/service_pb2.pyi,sha256=0CyEcJzpJ63TWjvMRTocLXEZfOUhJPeBAL0cGr2Dv-Q,643799
|
|
18
|
+
clarifai_grpc/grpc/api/service_pb2_grpc.py,sha256=HHsaS9HkwevisJUoWTdaJzmlS9YfL_nZzFMdK4pcbDE,521648
|
|
19
|
+
clarifai_grpc/grpc/api/status/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
20
|
+
clarifai_grpc/grpc/api/status/status_code_pb2.py,sha256=kZDMaRt8egpCvMFiYI3qgQw-N4J7OTX14WIC57LJ3Wo,26113
|
|
21
|
+
clarifai_grpc/grpc/api/status/status_code_pb2.pyi,sha256=JjSmzQZ-zoFos1TjYPt9jTjgmKx28wwG_dvOjKlpmtE,65414
|
|
22
|
+
clarifai_grpc/grpc/api/status/status_code_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
|
|
23
|
+
clarifai_grpc/grpc/api/status/status_pb2.py,sha256=dfwA6ovKn4fmkin32wMeU3zt5m0l6Yoi_638vaHO13k,3027
|
|
24
|
+
clarifai_grpc/grpc/api/status/status_pb2.pyi,sha256=A0jP_QC-kXOuDuGOOf9WKtoI4d-2rmx1HlMFj8expnM,5730
|
|
25
|
+
clarifai_grpc/grpc/api/status/status_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
|
|
26
|
+
clarifai_grpc/grpc/api/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
27
|
+
clarifai_grpc/grpc/api/utils/extensions_pb2.py,sha256=Yf47zH0OUjtLpYUPYBfyO57L2NMHGHjsCrMQH2fBHJ8,2033
|
|
28
|
+
clarifai_grpc/grpc/api/utils/extensions_pb2.pyi,sha256=ISBnBiBi_sgiGANuNj7SiekqpfR353C6TyoWhZS1GAE,1667
|
|
29
|
+
clarifai_grpc/grpc/api/utils/extensions_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
|
|
30
|
+
clarifai_grpc/grpc/api/utils/matrix_pb2.py,sha256=nFwor71OXdgfoLcqMxdREWg316r1JR3qwRin_ZGiMqc,1294
|
|
31
|
+
clarifai_grpc/grpc/api/utils/matrix_pb2.pyi,sha256=N7N15tIHDbBmGN0TvFc4xTRMrmI2f-pRRxtrBU03gY8,1608
|
|
32
|
+
clarifai_grpc/grpc/api/utils/matrix_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
|
|
33
|
+
clarifai_grpc/grpc/api/utils/test_proto_pb2.py,sha256=ViEUFtuEYwV2yoJNnur8aC5TaiVx-I9uxshzsazeWjQ,2362
|
|
34
|
+
clarifai_grpc/grpc/api/utils/test_proto_pb2.pyi,sha256=AJAufd_C14CjPTF9ANkLR44vfL_pUS5Za0MlNFHsovU,2959
|
|
35
|
+
clarifai_grpc/grpc/api/utils/test_proto_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
|
|
36
|
+
clarifai_grpc/grpc/auth/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
37
|
+
clarifai_grpc/grpc/auth/scope/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
38
|
+
clarifai_grpc/grpc/auth/scope/scope_pb2.py,sha256=w0zWKaIRouOoXFt0IXIwvqFKWwGdrWvfrgnqRlotYQg,27494
|
|
39
|
+
clarifai_grpc/grpc/auth/scope/scope_pb2.pyi,sha256=LeNZMnqami7NHG9EVLcpOyBPuBJnY1__XSE_0qqabjA,21082
|
|
40
|
+
clarifai_grpc/grpc/auth/scope/scope_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
|
|
41
|
+
clarifai_grpc/grpc/auth/types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
42
|
+
clarifai_grpc/grpc/auth/types/types_pb2.py,sha256=009fUNv2HGn-RikE5Bljy7N6RC_Y28vAypyRE2D08zg,1460
|
|
43
|
+
clarifai_grpc/grpc/auth/types/types_pb2.pyi,sha256=X5hx07e6UKKB_UQmLnWPBz6fhiQncnf3JmLu-O1JlCw,3012
|
|
44
|
+
clarifai_grpc/grpc/auth/types/types_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
|
|
45
|
+
clarifai_grpc/grpc/auth/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
46
|
+
clarifai_grpc/grpc/auth/util/extension_pb2.py,sha256=Fnx7qS6aB9HsjxzALVRrGZm_1RAvUnWN-ZG3P6_AurA,2612
|
|
47
|
+
clarifai_grpc/grpc/auth/util/extension_pb2.pyi,sha256=k4sOr3PHePx3u7zP2ZghKMLc_xF2O4E-vKYsQO1ZdSw,3288
|
|
48
|
+
clarifai_grpc/grpc/auth/util/extension_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
|
|
49
|
+
clarifai_grpc-11.10.3.dist-info/licenses/LICENSE,sha256=GuQZ4iPZUwh44duTbVr7ZzYp_SaJDLR9MvzU7YqlZXM,555
|
|
50
|
+
clarifai_grpc-11.10.3.dist-info/METADATA,sha256=co0uRQyaM79C_9nDmAMAivQ4b1ayiN5hExb_uyZdrE0,4428
|
|
51
|
+
clarifai_grpc-11.10.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
52
|
+
clarifai_grpc-11.10.3.dist-info/top_level.txt,sha256=azOUiixWkDpdb3gn_YNgz8sbAfhNvZuC3_9qI7hNQac,14
|
|
53
|
+
clarifai_grpc-11.10.3.dist-info/RECORD,,
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.1
|
|
2
|
-
Name: clarifai-grpc
|
|
3
|
-
Version: 6.4.0
|
|
4
|
-
Summary: Clarifai gRPC API Client
|
|
5
|
-
Home-page: https://github.com/Clarifai/clarifai-python-grpc
|
|
6
|
-
Author: Clarifai
|
|
7
|
-
Author-email: support@clarifai.com
|
|
8
|
-
License: Apache 2.0
|
|
9
|
-
Platform: UNKNOWN
|
|
10
|
-
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
11
|
-
Classifier: Programming Language :: Python :: 3
|
|
12
|
-
Classifier: License :: OSI Approved :: Apache Software License
|
|
13
|
-
Classifier: Operating System :: OS Independent
|
|
14
|
-
Requires-Python: >=3.6
|
|
15
|
-
Description-Content-Type: text/markdown
|
|
16
|
-
Requires-Dist: grpcio (>=1.25.0)
|
|
17
|
-
Requires-Dist: protobuf (>=3.10.0)
|
|
18
|
-
Requires-Dist: googleapis-common-protos (>=1.6.0)
|
|
19
|
-
Requires-Dist: requests (>=2.22.0)
|
|
20
|
-
|
|
21
|
-

|
|
22
|
-
|
|
23
|
-
# Clarifai Python gRPC Client
|
|
24
|
-
|
|
25
|
-
This is the official Clarifai gRPC Python client for interacting with our powerful recognition
|
|
26
|
-
[API](https://docs.clarifai.com).
|
|
27
|
-
The Clarifai API offers image and video recognition as a service. Whether you have one image or
|
|
28
|
-
billions, you are only steps away from using artificial intelligence to recognize your visual
|
|
29
|
-
content.
|
|
30
|
-
|
|
31
|
-
* Try the Clarifai demo at: https://clarifai.com/demo
|
|
32
|
-
* Sign up for a free account at: https://portal.clarifai.com/signup
|
|
33
|
-
* Read the documentation at: https://docs.clarifai.com/
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-

|
|
37
|
-
[](https://pypi.python.org/pypi/clarifai-grpc)
|
|
38
|
-
|
|
39
|
-
## Installation
|
|
40
|
-
|
|
41
|
-
```cmd
|
|
42
|
-
pip install clarifai-grpc
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
## Getting started
|
|
46
|
-
|
|
47
|
-
Alternatively to using the gRPC channel, it is also possible to use the HTTP+JSON channel with the
|
|
48
|
-
exact same request / response handling code.
|
|
49
|
-
|
|
50
|
-
Construct the channel you want to use:
|
|
51
|
-
|
|
52
|
-
```python
|
|
53
|
-
from clarifai_grpc.channel.clarifai_channel import ClarifaiChannel
|
|
54
|
-
|
|
55
|
-
# Construct one of the channels you want to use
|
|
56
|
-
channel = ClarifaiChannel.get_json_channel()
|
|
57
|
-
channel = ClarifaiChannel.get_insecure_grpc_channel()
|
|
58
|
-
|
|
59
|
-
# Note: You can also use a secure (encrypted) ClarifaiChannel.get_grpc_channel() however
|
|
60
|
-
# it is currently not possible to use it with the latest gRPC version.
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
Predict concepts in an image:
|
|
64
|
-
|
|
65
|
-
```python
|
|
66
|
-
from clarifai_grpc.grpc.api import service_pb2_grpc, service_pb2, resources_pb2
|
|
67
|
-
from clarifai_grpc.grpc.api.status import status_code_pb2
|
|
68
|
-
|
|
69
|
-
stub = service_pb2_grpc.V2Stub(channel)
|
|
70
|
-
|
|
71
|
-
request = service_pb2.PostModelOutputsRequest(
|
|
72
|
-
model_id='aaa03c23b3724a16a56b629203edc62c',
|
|
73
|
-
inputs=[
|
|
74
|
-
resources_pb2.Input(data=resources_pb2.Data(image=resources_pb2.Image(url='YOUR_IMAGE_URL')))
|
|
75
|
-
])
|
|
76
|
-
metadata = (('authorization', 'Key YOUR_CLARIFAI_API_KEY'),)
|
|
77
|
-
|
|
78
|
-
response = stub.PostModelOutputs(request, metadata=metadata)
|
|
79
|
-
|
|
80
|
-
if response.status.code != status_code_pb2.SUCCESS:
|
|
81
|
-
raise Exception("Request failed, status code: " + str(response.status.code))
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
for concept in response.outputs[0].data.concepts:
|
|
85
|
-
print('%12s: %.2f' % (concept.name, concept.value))
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
clarifai_grpc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
-
clarifai_grpc/channel/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
3
|
-
clarifai_grpc/channel/clarifai_channel.py,sha256=johfSlSBB0k2pyHBsjgKDi7rbDCiPhwWrqMDhnAxVTs,1724
|
|
4
|
-
clarifai_grpc/channel/errors.py,sha256=0TdxPnRjpqyL_l4mV-oRd5nuLZz9CFWO8uf9z-q6-Iw,76
|
|
5
|
-
clarifai_grpc/channel/exceptions.py,sha256=LFqT9nYkSGV6VSO56oWyjIwY27UA7_XA12v06cRCEOI,43
|
|
6
|
-
clarifai_grpc/channel/grpc_json_channel.py,sha256=g45-ESPt0hOZWpC7PIpBk2kiX-m662k7nMOebVsdYmg,11052
|
|
7
|
-
clarifai_grpc/channel/http_client.py,sha256=qawVHq5yzNT1CAflwW5XaKCABIxG2EmhVQAzyFltar0,4713
|
|
8
|
-
clarifai_grpc/channel/custom_converters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
9
|
-
clarifai_grpc/channel/custom_converters/custom_dict_to_message.py,sha256=vWb_T10nFB-M5U9dK7D3Bned1_ojr645WHAOjRXUgzA,1732
|
|
10
|
-
clarifai_grpc/channel/custom_converters/custom_message_to_dict.py,sha256=UN9-iSU0S76r8xADuXKSZqFjYJRIoBmWFurgEaQzQKY,3207
|
|
11
|
-
clarifai_grpc/grpc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
12
|
-
clarifai_grpc/grpc/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
13
|
-
clarifai_grpc/grpc/api/resources_pb2.py,sha256=8a3AwKEpKsOlTJUOnWS1koKMS0fXOrZa5dKztcuMyZs,318656
|
|
14
|
-
clarifai_grpc/grpc/api/resources_pb2_grpc.py,sha256=s9KvvTKGqObFxOBLz6ktRK2g4c8yLiOXt7p2M71egTM,83
|
|
15
|
-
clarifai_grpc/grpc/api/service_pb2.py,sha256=VrqjhZLewdkGNbs-AbahBCFpuFxNKm9xkyH8SQ-zgvM,421430
|
|
16
|
-
clarifai_grpc/grpc/api/service_pb2_grpc.py,sha256=LLi_QRbbGCcrXDir_QFjasG4nQ0ZfFKQxHKoS9-qSMQ,100657
|
|
17
|
-
clarifai_grpc/grpc/api/status/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
18
|
-
clarifai_grpc/grpc/api/status/status_code_pb2.py,sha256=QDSdTw3Q-LlodFIMx5perGS8zr-ChJFRkf6jQqPAamk,62471
|
|
19
|
-
clarifai_grpc/grpc/api/status/status_code_pb2_grpc.py,sha256=s9KvvTKGqObFxOBLz6ktRK2g4c8yLiOXt7p2M71egTM,83
|
|
20
|
-
clarifai_grpc/grpc/api/status/status_pb2.py,sha256=jqdUveUTa9H9NJeTbx_j59D8O4HGZssUoIvwq-eDF5I,7213
|
|
21
|
-
clarifai_grpc/grpc/api/status/status_pb2_grpc.py,sha256=s9KvvTKGqObFxOBLz6ktRK2g4c8yLiOXt7p2M71egTM,83
|
|
22
|
-
clarifai_grpc/grpc/api/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
23
|
-
clarifai_grpc/grpc/api/utils/extensions_pb2.py,sha256=ZK2VfQJMzb--UNlR0r_RE3noPR8PYJAS8-btTufZ3rs,3112
|
|
24
|
-
clarifai_grpc/grpc/api/utils/extensions_pb2_grpc.py,sha256=s9KvvTKGqObFxOBLz6ktRK2g4c8yLiOXt7p2M71egTM,83
|
|
25
|
-
clarifai_grpc/grpc/api/utils/test_proto_pb2.py,sha256=6EkxyTkSRvp05DLHNf4teuRitgkEKC7JqyttFaPVnY8,7682
|
|
26
|
-
clarifai_grpc/grpc/api/utils/test_proto_pb2_grpc.py,sha256=s9KvvTKGqObFxOBLz6ktRK2g4c8yLiOXt7p2M71egTM,83
|
|
27
|
-
clarifai_grpc/grpc/auth/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
28
|
-
clarifai_grpc/grpc/auth/scope/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
29
|
-
clarifai_grpc/grpc/auth/scope/scope_pb2.py,sha256=FBFaATEJFkFpIvX2b-UnqYnYaMrR5Wq5CZLKatwiCdo,22110
|
|
30
|
-
clarifai_grpc/grpc/auth/scope/scope_pb2_grpc.py,sha256=s9KvvTKGqObFxOBLz6ktRK2g4c8yLiOXt7p2M71egTM,83
|
|
31
|
-
clarifai_grpc/grpc/auth/types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
32
|
-
clarifai_grpc/grpc/auth/types/types_pb2.py,sha256=yG6owDhqA0bKs_xFg76NeGRi37pSVDPer4eDrcz9kSo,2464
|
|
33
|
-
clarifai_grpc/grpc/auth/types/types_pb2_grpc.py,sha256=s9KvvTKGqObFxOBLz6ktRK2g4c8yLiOXt7p2M71egTM,83
|
|
34
|
-
clarifai_grpc/grpc/auth/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
35
|
-
clarifai_grpc/grpc/auth/util/extension_pb2.py,sha256=5Ox3UhQpgOb2RKdWer2xMOH87UqFKMsi_Lipu4B_L4k,5116
|
|
36
|
-
clarifai_grpc/grpc/auth/util/extension_pb2_grpc.py,sha256=s9KvvTKGqObFxOBLz6ktRK2g4c8yLiOXt7p2M71egTM,83
|
|
37
|
-
scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
38
|
-
scripts/app_and_key_for_tests.py,sha256=tNBK1SSUwfmx1TvosUBlolIOiD0sbkCTHDpLc2G9bZA,5772
|
|
39
|
-
tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
40
|
-
tests/helpers.py,sha256=OdK1B6NyGw21t5uAwZkK8W_ivpQACU6BGc3ih1Tyc3s,3765
|
|
41
|
-
tests/test_integration.py,sha256=Qh4EGN-jsLgRq-d8JtXy1ZG0hY76SbtanNsIM3aNjio,7503
|
|
42
|
-
clarifai_grpc-6.4.0.dist-info/LICENSE,sha256=GuQZ4iPZUwh44duTbVr7ZzYp_SaJDLR9MvzU7YqlZXM,555
|
|
43
|
-
clarifai_grpc-6.4.0.dist-info/METADATA,sha256=YUD-NAtbVF-eexe_7fvVnyfJbnwc3xrI5_bPGB2K0O4,2915
|
|
44
|
-
clarifai_grpc-6.4.0.dist-info/WHEEL,sha256=g4nMs7d-Xl9-xC9XovUrsDHGXt-FT0E17Yqo92DEfvY,92
|
|
45
|
-
clarifai_grpc-6.4.0.dist-info/top_level.txt,sha256=xYwE7KtA-nm0DbV0hUQBoiA-dhTz0Ha_NdNFl8zXcGk,28
|
|
46
|
-
clarifai_grpc-6.4.0.dist-info/RECORD,,
|
scripts/__init__.py
DELETED
|
File without changes
|