clarifai 11.1.7__py3-none-any.whl → 11.1.7rc2__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.
Files changed (154) hide show
  1. clarifai/__init__.py +1 -1
  2. clarifai/__pycache__/__init__.cpython-310.pyc +0 -0
  3. clarifai/__pycache__/__init__.cpython-39.pyc +0 -0
  4. clarifai/__pycache__/errors.cpython-310.pyc +0 -0
  5. clarifai/__pycache__/versions.cpython-310.pyc +0 -0
  6. clarifai/cli/__pycache__/__init__.cpython-310.pyc +0 -0
  7. clarifai/cli/__pycache__/base.cpython-310.pyc +0 -0
  8. clarifai/cli/__pycache__/base_cli.cpython-310.pyc +0 -0
  9. clarifai/cli/__pycache__/compute_cluster.cpython-310.pyc +0 -0
  10. clarifai/cli/__pycache__/deployment.cpython-310.pyc +0 -0
  11. clarifai/cli/__pycache__/model.cpython-310.pyc +0 -0
  12. clarifai/cli/__pycache__/model_cli.cpython-310.pyc +0 -0
  13. clarifai/cli/__pycache__/nodepool.cpython-310.pyc +0 -0
  14. clarifai/cli/model.py +25 -0
  15. clarifai/client/__pycache__/__init__.cpython-310.pyc +0 -0
  16. clarifai/client/__pycache__/__init__.cpython-39.pyc +0 -0
  17. clarifai/client/__pycache__/app.cpython-310.pyc +0 -0
  18. clarifai/client/__pycache__/app.cpython-39.pyc +0 -0
  19. clarifai/client/__pycache__/base.cpython-310.pyc +0 -0
  20. clarifai/client/__pycache__/compute_cluster.cpython-310.pyc +0 -0
  21. clarifai/client/__pycache__/dataset.cpython-310.pyc +0 -0
  22. clarifai/client/__pycache__/deployment.cpython-310.pyc +0 -0
  23. clarifai/client/__pycache__/input.cpython-310.pyc +0 -0
  24. clarifai/client/__pycache__/lister.cpython-310.pyc +0 -0
  25. clarifai/client/__pycache__/model.cpython-310.pyc +0 -0
  26. clarifai/client/__pycache__/module.cpython-310.pyc +0 -0
  27. clarifai/client/__pycache__/nodepool.cpython-310.pyc +0 -0
  28. clarifai/client/__pycache__/search.cpython-310.pyc +0 -0
  29. clarifai/client/__pycache__/user.cpython-310.pyc +0 -0
  30. clarifai/client/__pycache__/workflow.cpython-310.pyc +0 -0
  31. clarifai/client/auth/__pycache__/__init__.cpython-310.pyc +0 -0
  32. clarifai/client/auth/__pycache__/helper.cpython-310.pyc +0 -0
  33. clarifai/client/auth/__pycache__/register.cpython-310.pyc +0 -0
  34. clarifai/client/auth/__pycache__/stub.cpython-310.pyc +0 -0
  35. clarifai/client/cli/__init__.py +0 -0
  36. clarifai/client/cli/__pycache__/__init__.cpython-310.pyc +0 -0
  37. clarifai/client/cli/__pycache__/base_cli.cpython-310.pyc +0 -0
  38. clarifai/client/cli/__pycache__/model_cli.cpython-310.pyc +0 -0
  39. clarifai/client/cli/base_cli.py +88 -0
  40. clarifai/client/cli/model_cli.py +29 -0
  41. clarifai/client/model.py +157 -393
  42. clarifai/client/model_client.py +447 -0
  43. clarifai/constants/__pycache__/base.cpython-310.pyc +0 -0
  44. clarifai/constants/__pycache__/dataset.cpython-310.pyc +0 -0
  45. clarifai/constants/__pycache__/input.cpython-310.pyc +0 -0
  46. clarifai/constants/__pycache__/model.cpython-310.pyc +0 -0
  47. clarifai/constants/__pycache__/rag.cpython-310.pyc +0 -0
  48. clarifai/constants/__pycache__/search.cpython-310.pyc +0 -0
  49. clarifai/constants/__pycache__/workflow.cpython-310.pyc +0 -0
  50. clarifai/datasets/__pycache__/__init__.cpython-310.pyc +0 -0
  51. clarifai/datasets/__pycache__/__init__.cpython-39.pyc +0 -0
  52. clarifai/datasets/export/__pycache__/__init__.cpython-310.pyc +0 -0
  53. clarifai/datasets/export/__pycache__/__init__.cpython-39.pyc +0 -0
  54. clarifai/datasets/export/__pycache__/inputs_annotations.cpython-310.pyc +0 -0
  55. clarifai/datasets/upload/__pycache__/__init__.cpython-310.pyc +0 -0
  56. clarifai/datasets/upload/__pycache__/__init__.cpython-39.pyc +0 -0
  57. clarifai/datasets/upload/__pycache__/base.cpython-310.pyc +0 -0
  58. clarifai/datasets/upload/__pycache__/features.cpython-310.pyc +0 -0
  59. clarifai/datasets/upload/__pycache__/image.cpython-310.pyc +0 -0
  60. clarifai/datasets/upload/__pycache__/multimodal.cpython-310.pyc +0 -0
  61. clarifai/datasets/upload/__pycache__/text.cpython-310.pyc +0 -0
  62. clarifai/datasets/upload/__pycache__/utils.cpython-310.pyc +0 -0
  63. clarifai/datasets/upload/loaders/__pycache__/__init__.cpython-39.pyc +0 -0
  64. clarifai/models/__pycache__/__init__.cpython-39.pyc +0 -0
  65. clarifai/modules/__pycache__/__init__.cpython-39.pyc +0 -0
  66. clarifai/rag/__pycache__/__init__.cpython-310.pyc +0 -0
  67. clarifai/rag/__pycache__/__init__.cpython-39.pyc +0 -0
  68. clarifai/rag/__pycache__/rag.cpython-310.pyc +0 -0
  69. clarifai/rag/__pycache__/rag.cpython-39.pyc +0 -0
  70. clarifai/rag/__pycache__/utils.cpython-310.pyc +0 -0
  71. clarifai/runners/__init__.py +2 -7
  72. clarifai/runners/__pycache__/__init__.cpython-310.pyc +0 -0
  73. clarifai/runners/__pycache__/__init__.cpython-39.pyc +0 -0
  74. clarifai/runners/dockerfile_template/Dockerfile.cpu.template +31 -0
  75. clarifai/runners/dockerfile_template/Dockerfile.cuda.template +42 -0
  76. clarifai/runners/dockerfile_template/Dockerfile.nim +71 -0
  77. clarifai/runners/dockerfile_template/Dockerfile.template +3 -0
  78. clarifai/runners/models/__pycache__/__init__.cpython-310.pyc +0 -0
  79. clarifai/runners/models/__pycache__/__init__.cpython-39.pyc +0 -0
  80. clarifai/runners/models/__pycache__/base_typed_model.cpython-310.pyc +0 -0
  81. clarifai/runners/models/__pycache__/base_typed_model.cpython-39.pyc +0 -0
  82. clarifai/runners/models/__pycache__/model_class.cpython-310.pyc +0 -0
  83. clarifai/runners/models/__pycache__/model_run_locally.cpython-310-pytest-7.1.2.pyc +0 -0
  84. clarifai/runners/models/__pycache__/model_run_locally.cpython-310.pyc +0 -0
  85. clarifai/runners/models/__pycache__/model_runner.cpython-310.pyc +0 -0
  86. clarifai/runners/models/__pycache__/model_upload.cpython-310.pyc +0 -0
  87. clarifai/runners/models/model_builder.py +35 -7
  88. clarifai/runners/models/model_class.py +262 -28
  89. clarifai/runners/models/model_class_refract.py +80 -0
  90. clarifai/runners/models/model_run_locally.py +3 -78
  91. clarifai/runners/models/model_runner.py +2 -0
  92. clarifai/runners/models/model_servicer.py +11 -2
  93. clarifai/runners/models/model_upload.py +607 -0
  94. clarifai/runners/models/temp.py +25 -0
  95. clarifai/runners/utils/__pycache__/__init__.cpython-310.pyc +0 -0
  96. clarifai/runners/utils/__pycache__/__init__.cpython-38.pyc +0 -0
  97. clarifai/runners/utils/__pycache__/__init__.cpython-39.pyc +0 -0
  98. clarifai/runners/utils/__pycache__/buffered_stream.cpython-310.pyc +0 -0
  99. clarifai/runners/utils/__pycache__/buffered_stream.cpython-38.pyc +0 -0
  100. clarifai/runners/utils/__pycache__/buffered_stream.cpython-39.pyc +0 -0
  101. clarifai/runners/utils/__pycache__/const.cpython-310.pyc +0 -0
  102. clarifai/runners/utils/__pycache__/constants.cpython-310.pyc +0 -0
  103. clarifai/runners/utils/__pycache__/constants.cpython-38.pyc +0 -0
  104. clarifai/runners/utils/__pycache__/constants.cpython-39.pyc +0 -0
  105. clarifai/runners/utils/__pycache__/data_handler.cpython-310.pyc +0 -0
  106. clarifai/runners/utils/__pycache__/data_handler.cpython-38.pyc +0 -0
  107. clarifai/runners/utils/__pycache__/data_handler.cpython-39.pyc +0 -0
  108. clarifai/runners/utils/__pycache__/data_utils.cpython-310.pyc +0 -0
  109. clarifai/runners/utils/__pycache__/data_utils.cpython-38.pyc +0 -0
  110. clarifai/runners/utils/__pycache__/data_utils.cpython-39.pyc +0 -0
  111. clarifai/runners/utils/__pycache__/grpc_server.cpython-310.pyc +0 -0
  112. clarifai/runners/utils/__pycache__/grpc_server.cpython-38.pyc +0 -0
  113. clarifai/runners/utils/__pycache__/grpc_server.cpython-39.pyc +0 -0
  114. clarifai/runners/utils/__pycache__/health.cpython-310.pyc +0 -0
  115. clarifai/runners/utils/__pycache__/health.cpython-38.pyc +0 -0
  116. clarifai/runners/utils/__pycache__/health.cpython-39.pyc +0 -0
  117. clarifai/runners/utils/__pycache__/loader.cpython-310.pyc +0 -0
  118. clarifai/runners/utils/__pycache__/logging.cpython-310.pyc +0 -0
  119. clarifai/runners/utils/__pycache__/logging.cpython-38.pyc +0 -0
  120. clarifai/runners/utils/__pycache__/logging.cpython-39.pyc +0 -0
  121. clarifai/runners/utils/__pycache__/stream_source.cpython-310.pyc +0 -0
  122. clarifai/runners/utils/__pycache__/stream_source.cpython-39.pyc +0 -0
  123. clarifai/runners/utils/__pycache__/url_fetcher.cpython-310.pyc +0 -0
  124. clarifai/runners/utils/__pycache__/url_fetcher.cpython-38.pyc +0 -0
  125. clarifai/runners/utils/__pycache__/url_fetcher.cpython-39.pyc +0 -0
  126. clarifai/runners/utils/data_handler.py +271 -210
  127. clarifai/runners/utils/data_handler_refract.py +213 -0
  128. clarifai/runners/utils/data_types.py +427 -0
  129. clarifai/runners/utils/logger.py +0 -0
  130. clarifai/runners/utils/method_signatures.py +472 -0
  131. clarifai/runners/utils/serializers.py +222 -0
  132. clarifai/schema/__pycache__/search.cpython-310.pyc +0 -0
  133. clarifai/urls/__pycache__/helper.cpython-310.pyc +0 -0
  134. clarifai/utils/__pycache__/__init__.cpython-310.pyc +0 -0
  135. clarifai/utils/__pycache__/__init__.cpython-39.pyc +0 -0
  136. clarifai/utils/__pycache__/cli.cpython-310.pyc +0 -0
  137. clarifai/utils/__pycache__/constants.cpython-310.pyc +0 -0
  138. clarifai/utils/__pycache__/logging.cpython-310.pyc +0 -0
  139. clarifai/utils/__pycache__/misc.cpython-310.pyc +0 -0
  140. clarifai/utils/__pycache__/model_train.cpython-310.pyc +0 -0
  141. clarifai/utils/evaluation/__pycache__/__init__.cpython-39.pyc +0 -0
  142. clarifai/utils/evaluation/__pycache__/main.cpython-39.pyc +0 -0
  143. clarifai/workflows/__pycache__/__init__.cpython-310.pyc +0 -0
  144. clarifai/workflows/__pycache__/__init__.cpython-39.pyc +0 -0
  145. clarifai/workflows/__pycache__/export.cpython-310.pyc +0 -0
  146. clarifai/workflows/__pycache__/utils.cpython-310.pyc +0 -0
  147. clarifai/workflows/__pycache__/validate.cpython-310.pyc +0 -0
  148. {clarifai-11.1.7.dist-info → clarifai-11.1.7rc2.dist-info}/METADATA +3 -13
  149. clarifai-11.1.7rc2.dist-info/RECORD +237 -0
  150. {clarifai-11.1.7.dist-info → clarifai-11.1.7rc2.dist-info}/WHEEL +1 -1
  151. clarifai-11.1.7.dist-info/RECORD +0 -101
  152. {clarifai-11.1.7.dist-info → clarifai-11.1.7rc2.dist-info}/LICENSE +0 -0
  153. {clarifai-11.1.7.dist-info → clarifai-11.1.7rc2.dist-info}/entry_points.txt +0 -0
  154. {clarifai-11.1.7.dist-info → clarifai-11.1.7rc2.dist-info}/top_level.txt +0 -0
clarifai/__init__.py CHANGED
@@ -1 +1 @@
1
- __version__ = "11.1.7"
1
+ __version__ = "11.1.7rc2"
clarifai/cli/model.py CHANGED
@@ -76,6 +76,31 @@ def download_checkpoints(model_path, out_path, stage):
76
76
  required=False,
77
77
  default=".",
78
78
  )
79
+ @click.option(
80
+ '--out_path',
81
+ type=click.Path(exists=False),
82
+ required=False,
83
+ default=None,
84
+ help='Path to write the method signature defitions to. If not provided, use stdout.')
85
+ def signatures(model_path, out_path):
86
+ """Generate method signatures for the model."""
87
+
88
+ from clarifai.runners.models.model_builder import ModelBuilder
89
+ builder = ModelBuilder(model_path, download_validation_only=True)
90
+ signatures = builder.method_signatures_yaml()
91
+ if out_path:
92
+ with open(out_path, 'w') as f:
93
+ f.write(signatures)
94
+ else:
95
+ click.echo(signatures)
96
+
97
+
98
+ @model.command()
99
+ @click.option(
100
+ '--model_path',
101
+ type=click.Path(exists=True),
102
+ required=True,
103
+ help='Path to the model directory.')
79
104
  @click.option(
80
105
  '--mode',
81
106
  type=click.Choice(['env', 'container'], case_sensitive=False),
File without changes
@@ -0,0 +1,88 @@
1
+ import click
2
+ import os
3
+ import yaml
4
+
5
+ @click.group()
6
+ @click.pass_context
7
+ def cli(ctx):
8
+ """Clarifai CLI"""
9
+ ctx.ensure_object(dict)
10
+ config_path = 'config.yaml'
11
+ if os.path.exists(config_path):
12
+ ctx.obj = _from_yaml(config_path)
13
+ print("Loaded config from file.")
14
+ print(f"Config: {ctx.obj}")
15
+ else:
16
+ ctx.obj = {}
17
+
18
+ def _from_yaml(filename: str):
19
+ try:
20
+ with open(filename, 'r') as f:
21
+ return yaml.safe_load(f)
22
+ except yaml.YAMLError as e:
23
+ click.echo(f"Error reading YAML file: {e}", err=True)
24
+ return {}
25
+
26
+ def _dump_yaml(data, filename: str):
27
+ try:
28
+ with open(filename, 'w') as f:
29
+ yaml.dump(data, f)
30
+ except Exception as e:
31
+ click.echo(f"Error writing YAML file: {e}", err=True)
32
+
33
+ def _set_base_url(env):
34
+ environments = {'prod': 'https://api.clarifai.com', 'staging': 'https://api-staging.clarifai.com', 'dev': 'https://api-dev.clarifai.com'}
35
+ return environments.get(env, 'https://api.clarifai.com')
36
+
37
+
38
+ @cli.command()
39
+ @click.option('--config', type=click.Path(), required=False, help='Path to the config file')
40
+ @click.option('-e', '--env', required=False, help='Environment', type=click.Choice(['prod', 'staging', 'dev']))
41
+ @click.option('--user_id', required=False, help='User ID')
42
+ @click.pass_context
43
+ def login(ctx, config, env, user_id):
44
+ """Login command to set PAT and other configurations."""
45
+
46
+ if config and os.path.exists(config):
47
+ ctx.obj = _from_yaml(config)
48
+
49
+ if 'pat' in ctx.obj:
50
+ os.environ["CLARIFAI_PAT"] = ctx.obj['pat']
51
+ click.echo("Loaded PAT from config file.")
52
+ elif 'CLARIFAI_PAT' in os.environ:
53
+ ctx.obj['pat'] = os.environ["CLARIFAI_PAT"]
54
+ click.echo("Loaded PAT from environment variable.")
55
+ else:
56
+ _pat = click.prompt("Get your PAT from https://clarifai.com/settings/security and pass it here", type=str)
57
+ os.environ["CLARIFAI_PAT"] = _pat
58
+ ctx.obj['pat'] = _pat
59
+ click.echo("PAT saved successfully.")
60
+
61
+ if user_id:
62
+ ctx.obj['user_id'] = user_id
63
+ os.environ["CLARIFAI_USER_ID"] = ctx.obj['user_id']
64
+ elif 'user_id' in ctx.obj or 'CLARIFAI_USER_ID' in os.environ:
65
+ ctx.obj['user_id'] = ctx.obj.get('user_id', os.environ["CLARIFAI_USER_ID"])
66
+ os.environ["CLARIFAI_USER_ID"] = ctx.obj['user_id']
67
+
68
+ if env:
69
+ ctx.obj['env'] = env
70
+ ctx.obj['base_url'] = _set_base_url(env)
71
+ os.environ["CLARIFAI_API_BASE"] = ctx.obj['base_url']
72
+ elif 'env' in ctx.obj:
73
+ ctx.obj['env'] = ctx.obj.get('env', "prod")
74
+ ctx.obj['base_url'] = _set_base_url(ctx.obj['env'])
75
+ os.environ["CLARIFAI_API_BASE"] = ctx.obj['base_url']
76
+ elif 'CLARIFAI_API_BASE' in os.environ:
77
+ ctx.obj['base_url'] = os.environ["CLARIFAI_API_BASE"]
78
+
79
+ _dump_yaml(ctx.obj, 'config.yaml')
80
+
81
+ click.echo("Login successful.")
82
+
83
+ # Import the model CLI commands to register them
84
+ from clarifai.client.cli.model_cli import model # Ensure this is the correct import path
85
+
86
+
87
+ if __name__ == '__main__':
88
+ cli()
@@ -0,0 +1,29 @@
1
+ import click
2
+ from clarifai.client.cli.base_cli import cli
3
+
4
+ @cli.group()
5
+ def model():
6
+ """Manage models: upload, test locally"""
7
+ pass
8
+
9
+ @model.command()
10
+ @click.argument('model_path', type=click.Path(exists=True))
11
+ @click.option('--download_checkpoints', is_flag=True, help='Flag to download checkpoints before uploading and including them in the tar file that is uploaded. Defaults to False, which will attempt to download them at docker build time.', )
12
+ @click.option('--skip_dockerfile', is_flag =True, help='Flag to skip generating a dockerfile so that you can manually edit an already created dockerfile.', )
13
+ def upload(model_path, download_checkpoints, skip_dockerfile):
14
+ """Upload a model to Clarifai."""
15
+ from clarifai.runners.models import model_upload
16
+
17
+ model_upload.main(model_path, download_checkpoints, skip_dockerfile)
18
+
19
+ @model.command()
20
+ @click.argument('model_path', type=click.Path(exists=True))
21
+ def test_locally(model_path):
22
+ """Test model locally."""
23
+ try:
24
+ from clarifai.runners.models import run_test_locally
25
+ run_test_locally.main(model_path)
26
+ click.echo(f"Model tested locally from {model_path}.")
27
+ except Exception as e:
28
+ click.echo(f"Failed to test model locally: {e}", err=True)
29
+