clarifai 11.2.3rc1__tar.gz → 11.2.3rc2__tar.gz
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-11.2.3rc1/clarifai.egg-info → clarifai-11.2.3rc2}/PKG-INFO +14 -3
- clarifai-11.2.3rc2/clarifai/__init__.py +1 -0
- clarifai-11.2.3rc2/clarifai/__pycache__/__init__.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/__pycache__/__init__.cpython-39.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/__pycache__/errors.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/__pycache__/versions.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/cli/__pycache__/__init__.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/cli/__pycache__/base.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/cli/__pycache__/base_cli.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/cli/__pycache__/compute_cluster.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/cli/__pycache__/deployment.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/cli/__pycache__/model.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/cli/__pycache__/model_cli.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/cli/__pycache__/nodepool.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/cli/base.py +113 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/cli/compute_cluster.py +17 -25
- clarifai-11.2.3rc2/clarifai/cli/deployment.py +84 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/cli/model.py +39 -26
- clarifai-11.2.3rc2/clarifai/cli/nodepool.py +91 -0
- clarifai-11.2.3rc2/clarifai/client/__pycache__/__init__.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/client/__pycache__/__init__.cpython-39.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/client/__pycache__/app.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/client/__pycache__/app.cpython-39.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/client/__pycache__/base.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/client/__pycache__/compute_cluster.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/client/__pycache__/dataset.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/client/__pycache__/deployment.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/client/__pycache__/input.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/client/__pycache__/lister.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/client/__pycache__/model.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/client/__pycache__/module.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/client/__pycache__/nodepool.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/client/__pycache__/search.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/client/__pycache__/user.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/client/__pycache__/workflow.cpython-310.pyc +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/client/app.py +1 -1
- clarifai-11.2.3rc2/clarifai/client/auth/__pycache__/__init__.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/client/auth/__pycache__/helper.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/client/auth/__pycache__/register.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/client/auth/__pycache__/stub.cpython-310.pyc +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/client/model.py +159 -393
- clarifai-11.2.3rc2/clarifai/client/model_client.py +502 -0
- clarifai-11.2.3rc2/clarifai/constants/__pycache__/base.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/constants/__pycache__/dataset.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/constants/__pycache__/input.cpython-310.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/constants/__pycache__/model.cpython-312.pyc → clarifai-11.2.3rc2/clarifai/constants/__pycache__/model.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/constants/__pycache__/rag.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/constants/__pycache__/search.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/constants/__pycache__/workflow.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/datasets/__pycache__/__init__.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/datasets/__pycache__/__init__.cpython-39.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/datasets/export/__pycache__/__init__.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/datasets/export/__pycache__/__init__.cpython-39.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/datasets/export/__pycache__/inputs_annotations.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/datasets/upload/__pycache__/__init__.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/datasets/upload/__pycache__/__init__.cpython-39.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/datasets/upload/__pycache__/base.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/datasets/upload/__pycache__/features.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/datasets/upload/__pycache__/image.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/datasets/upload/__pycache__/multimodal.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/datasets/upload/__pycache__/text.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/datasets/upload/__pycache__/utils.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/datasets/upload/loaders/__pycache__/__init__.cpython-39.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/models/__pycache__/__init__.cpython-39.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/modules/__pycache__/__init__.cpython-39.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/rag/__pycache__/__init__.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/rag/__pycache__/__init__.cpython-39.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/rag/__pycache__/rag.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/rag/__pycache__/rag.cpython-39.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/rag/__pycache__/utils.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/runners/__init__.py +9 -0
- clarifai-11.2.3rc2/clarifai/runners/__pycache__/__init__.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/runners/__pycache__/__init__.cpython-39.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/runners/models/__pycache__/__init__.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/runners/models/__pycache__/__init__.cpython-39.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/runners/models/__pycache__/base_typed_model.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/runners/models/__pycache__/base_typed_model.cpython-39.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/runners/models/__pycache__/model_class.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/runners/models/__pycache__/model_run_locally.cpython-310-pytest-7.1.2.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/runners/models/__pycache__/model_run_locally.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/runners/models/__pycache__/model_runner.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/runners/models/__pycache__/model_upload.cpython-310.pyc +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/runners/models/model_builder.py +138 -51
- clarifai-11.2.3rc2/clarifai/runners/models/model_class.py +454 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/runners/models/model_run_locally.py +25 -89
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/runners/models/model_runner.py +8 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/runners/models/model_servicer.py +11 -2
- clarifai-11.2.3rc2/clarifai/runners/utils/__pycache__/__init__.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/runners/utils/__pycache__/__init__.cpython-38.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/runners/utils/__pycache__/__init__.cpython-39.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/runners/utils/__pycache__/buffered_stream.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/runners/utils/__pycache__/buffered_stream.cpython-38.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/runners/utils/__pycache__/buffered_stream.cpython-39.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/runners/utils/__pycache__/const.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/runners/utils/__pycache__/constants.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/runners/utils/__pycache__/constants.cpython-38.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/runners/utils/__pycache__/constants.cpython-39.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/runners/utils/__pycache__/data_handler.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/runners/utils/__pycache__/data_handler.cpython-38.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/runners/utils/__pycache__/data_handler.cpython-39.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/runners/utils/__pycache__/data_utils.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/runners/utils/__pycache__/data_utils.cpython-38.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/runners/utils/__pycache__/data_utils.cpython-39.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/runners/utils/__pycache__/grpc_server.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/runners/utils/__pycache__/grpc_server.cpython-38.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/runners/utils/__pycache__/grpc_server.cpython-39.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/runners/utils/__pycache__/health.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/runners/utils/__pycache__/health.cpython-38.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/runners/utils/__pycache__/health.cpython-39.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/runners/utils/__pycache__/loader.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/runners/utils/__pycache__/logging.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/runners/utils/__pycache__/logging.cpython-38.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/runners/utils/__pycache__/logging.cpython-39.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/runners/utils/__pycache__/stream_source.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/runners/utils/__pycache__/stream_source.cpython-39.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/runners/utils/__pycache__/url_fetcher.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/runners/utils/__pycache__/url_fetcher.cpython-38.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/runners/utils/__pycache__/url_fetcher.cpython-39.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/runners/utils/code_script.py +217 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/runners/utils/const.py +8 -9
- clarifai-11.2.3rc2/clarifai/runners/utils/data_types.py +473 -0
- clarifai-11.2.3rc2/clarifai/runners/utils/data_utils.py +180 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/runners/utils/loader.py +6 -36
- clarifai-11.2.3rc2/clarifai/runners/utils/method_signatures.py +518 -0
- clarifai-11.2.3rc2/clarifai/runners/utils/serializers.py +222 -0
- clarifai-11.2.3rc2/clarifai/schema/__pycache__/search.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/urls/__pycache__/helper.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/utils/__pycache__/__init__.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/utils/__pycache__/__init__.cpython-39.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/utils/__pycache__/cli.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/utils/__pycache__/constants.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/utils/__pycache__/logging.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/utils/__pycache__/misc.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/utils/__pycache__/model_train.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/utils/cli.py +70 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/utils/constants.py +0 -4
- clarifai-11.2.3rc2/clarifai/utils/evaluation/__pycache__/__init__.cpython-39.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/utils/evaluation/__pycache__/main.cpython-39.pyc +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/utils/misc.py +0 -2
- clarifai-11.2.3rc2/clarifai/workflows/__pycache__/__init__.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/workflows/__pycache__/__init__.cpython-39.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/workflows/__pycache__/export.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/workflows/__pycache__/utils.cpython-310.pyc +0 -0
- clarifai-11.2.3rc2/clarifai/workflows/__pycache__/validate.cpython-310.pyc +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2/clarifai.egg-info}/PKG-INFO +14 -3
- clarifai-11.2.3rc2/clarifai.egg-info/SOURCES.txt +239 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai.egg-info/requires.txt +1 -1
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/requirements.txt +1 -1
- clarifai-11.2.3rc1/clarifai/__init__.py +0 -1
- clarifai-11.2.3rc1/clarifai/__pycache__/__init__.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/__pycache__/errors.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/__pycache__/versions.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/cli/__pycache__/__init__.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/cli/__pycache__/base.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/cli/__pycache__/compute_cluster.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/cli/__pycache__/deployment.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/cli/__pycache__/model.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/cli/__pycache__/nodepool.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/cli/base.py +0 -260
- clarifai-11.2.3rc1/clarifai/cli/deployment.py +0 -110
- clarifai-11.2.3rc1/clarifai/cli/nodepool.py +0 -110
- clarifai-11.2.3rc1/clarifai/client/__pycache__/__init__.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/client/__pycache__/app.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/client/__pycache__/base.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/client/__pycache__/compute_cluster.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/client/__pycache__/dataset.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/client/__pycache__/deployment.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/client/__pycache__/input.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/client/__pycache__/lister.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/client/__pycache__/model.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/client/__pycache__/model_client.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/client/__pycache__/module.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/client/__pycache__/nodepool.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/client/__pycache__/search.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/client/__pycache__/user.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/client/__pycache__/workflow.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/client/auth/__pycache__/__init__.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/client/auth/__pycache__/helper.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/client/auth/__pycache__/register.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/client/auth/__pycache__/stub.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/constants/__pycache__/base.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/constants/__pycache__/dataset.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/constants/__pycache__/input.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/constants/__pycache__/search.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/constants/__pycache__/workflow.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/datasets/__pycache__/__init__.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/datasets/export/__pycache__/__init__.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/datasets/export/__pycache__/inputs_annotations.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/datasets/upload/__pycache__/__init__.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/datasets/upload/__pycache__/base.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/datasets/upload/__pycache__/features.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/datasets/upload/__pycache__/image.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/datasets/upload/__pycache__/multimodal.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/datasets/upload/__pycache__/text.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/datasets/upload/__pycache__/utils.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/datasets/upload/loaders/__pycache__/__init__.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/datasets/upload/loaders/__pycache__/coco_detection.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/modules/__pycache__/__init__.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/modules/__pycache__/css.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/runners/__init__.py +0 -14
- clarifai-11.2.3rc1/clarifai/runners/__pycache__/__init__.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/runners/__pycache__/server.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/runners/models/__pycache__/__init__.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/runners/models/__pycache__/base_typed_model.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/runners/models/__pycache__/model_builder.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/runners/models/__pycache__/model_class.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/runners/models/__pycache__/model_run_locally.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/runners/models/__pycache__/model_runner.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/runners/models/__pycache__/model_servicer.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/runners/models/base_typed_model.py +0 -238
- clarifai-11.2.3rc1/clarifai/runners/models/model_class.py +0 -41
- clarifai-11.2.3rc1/clarifai/runners/utils/__pycache__/__init__.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/runners/utils/__pycache__/const.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/runners/utils/__pycache__/data_handler.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/runners/utils/__pycache__/data_types.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/runners/utils/__pycache__/data_utils.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/runners/utils/__pycache__/loader.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/runners/utils/__pycache__/method_signatures.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/runners/utils/__pycache__/serializers.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/runners/utils/__pycache__/url_fetcher.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/runners/utils/data_handler.py +0 -231
- clarifai-11.2.3rc1/clarifai/runners/utils/data_utils.py +0 -15
- clarifai-11.2.3rc1/clarifai/schema/__pycache__/search.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/urls/__pycache__/helper.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/utils/__pycache__/__init__.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/utils/__pycache__/cli.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/utils/__pycache__/config.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/utils/__pycache__/constants.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/utils/__pycache__/logging.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/utils/__pycache__/misc.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/utils/__pycache__/model_train.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/utils/cli.py +0 -169
- clarifai-11.2.3rc1/clarifai/utils/config.py +0 -105
- clarifai-11.2.3rc1/clarifai/utils/config.py~ +0 -145
- clarifai-11.2.3rc1/clarifai/utils/evaluation/__pycache__/__init__.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/utils/evaluation/__pycache__/helpers.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/utils/evaluation/__pycache__/main.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/workflows/__pycache__/__init__.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/workflows/__pycache__/export.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/workflows/__pycache__/utils.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai/workflows/__pycache__/validate.cpython-312.pyc +0 -0
- clarifai-11.2.3rc1/clarifai.egg-info/SOURCES.txt +0 -202
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/LICENSE +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/MANIFEST.in +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/README.md +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/cli/README.md +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/cli/__init__.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/cli/__main__.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/cli.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/client/__init__.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/client/auth/__init__.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/client/auth/helper.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/client/auth/register.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/client/auth/stub.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/client/base.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/client/compute_cluster.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/client/dataset.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/client/deployment.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/client/input.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/client/lister.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/client/module.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/client/nodepool.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/client/search.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/client/user.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/client/workflow.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/constants/base.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/constants/dataset.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/constants/input.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/constants/model.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/constants/rag.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/constants/search.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/constants/workflow.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/datasets/__init__.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/datasets/export/__init__.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/datasets/export/inputs_annotations.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/datasets/upload/__init__.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/datasets/upload/base.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/datasets/upload/features.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/datasets/upload/image.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/datasets/upload/loaders/README.md +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/datasets/upload/loaders/__init__.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/datasets/upload/loaders/coco_captions.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/datasets/upload/loaders/coco_detection.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/datasets/upload/loaders/imagenet_classification.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/datasets/upload/loaders/xview_detection.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/datasets/upload/multimodal.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/datasets/upload/text.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/datasets/upload/utils.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/errors.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/models/__init__.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/models/api.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/modules/README.md +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/modules/__init__.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/modules/css.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/modules/pages.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/modules/style.css +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/rag/__init__.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/rag/rag.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/rag/utils.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/runners/dockerfile_template/Dockerfile.template +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/runners/models/__init__.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/runners/server.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/runners/utils/__init__.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/runners/utils/url_fetcher.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/schema/search.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/urls/helper.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/utils/__init__.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/utils/evaluation/__init__.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/utils/evaluation/helpers.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/utils/evaluation/main.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/utils/evaluation/testset_annotation_parser.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/utils/logging.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/utils/model_train.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/versions.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/workflows/__init__.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/workflows/export.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/workflows/utils.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai/workflows/validate.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai.egg-info/dependency_links.txt +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai.egg-info/entry_points.txt +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/clarifai.egg-info/top_level.txt +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/pyproject.toml +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/setup.cfg +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/setup.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/tests/test_app.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/tests/test_auth.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/tests/test_data_upload.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/tests/test_eval.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/tests/test_misc.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/tests/test_model_predict.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/tests/test_model_train.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/tests/test_modules.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/tests/test_rag.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/tests/test_search.py +0 -0
- {clarifai-11.2.3rc1 → clarifai-11.2.3rc2}/tests/test_stub.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
|
-
Metadata-Version: 2.
|
1
|
+
Metadata-Version: 2.2
|
2
2
|
Name: clarifai
|
3
|
-
Version: 11.2.
|
3
|
+
Version: 11.2.3rc2
|
4
4
|
Summary: Clarifai Python SDK
|
5
5
|
Home-page: https://github.com/Clarifai/clarifai-python
|
6
6
|
Author: Clarifai
|
@@ -21,7 +21,7 @@ Requires-Python: >=3.8
|
|
21
21
|
Description-Content-Type: text/markdown
|
22
22
|
License-File: LICENSE
|
23
23
|
Requires-Dist: clarifai-grpc>=11.2.6
|
24
|
-
Requires-Dist: clarifai-protocol>=0.0.
|
24
|
+
Requires-Dist: clarifai-protocol>=0.0.22
|
25
25
|
Requires-Dist: numpy>=1.22.0
|
26
26
|
Requires-Dist: tqdm>=4.65.0
|
27
27
|
Requires-Dist: rich>=13.4.2
|
@@ -35,6 +35,17 @@ Requires-Dist: requests>=2.32.3
|
|
35
35
|
Requires-Dist: aiohttp>=3.10.0
|
36
36
|
Provides-Extra: all
|
37
37
|
Requires-Dist: pycocotools==2.0.6; extra == "all"
|
38
|
+
Dynamic: author
|
39
|
+
Dynamic: author-email
|
40
|
+
Dynamic: classifier
|
41
|
+
Dynamic: description
|
42
|
+
Dynamic: description-content-type
|
43
|
+
Dynamic: home-page
|
44
|
+
Dynamic: license
|
45
|
+
Dynamic: provides-extra
|
46
|
+
Dynamic: requires-dist
|
47
|
+
Dynamic: requires-python
|
48
|
+
Dynamic: summary
|
38
49
|
|
39
50
|
<h1 align="center">
|
40
51
|
<a href="https://www.clarifai.com/"><img alt="Clarifai" title="Clarifai" src="https://github.com/user-attachments/assets/623b883b-7fe5-4b95-bbfa-8691f5779af4"></a>
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = "11.2.3rc2"
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,113 @@
|
|
1
|
+
import os
|
2
|
+
|
3
|
+
import click
|
4
|
+
|
5
|
+
from ..utils.cli import dump_yaml, from_yaml, load_command_modules, set_base_url
|
6
|
+
|
7
|
+
|
8
|
+
class CustomMultiGroup(click.Group):
|
9
|
+
|
10
|
+
def group(self, *args, **kwargs):
|
11
|
+
"""Behaves the same as `click.Group.group()` except if passed
|
12
|
+
a list of names, all after the first will be aliases for the first.
|
13
|
+
"""
|
14
|
+
|
15
|
+
def decorator(f):
|
16
|
+
aliased_group = []
|
17
|
+
if isinstance(args[0], list):
|
18
|
+
# we have a list so create group aliases
|
19
|
+
_args = [args[0][0]] + list(args[1:])
|
20
|
+
for alias in args[0][1:]:
|
21
|
+
grp = super(CustomMultiGroup, self).group(alias, *args[1:], **kwargs)(f)
|
22
|
+
grp.short_help = "Alias for '{}'".format(_args[0])
|
23
|
+
aliased_group.append(grp)
|
24
|
+
else:
|
25
|
+
_args = args
|
26
|
+
|
27
|
+
# create the main group
|
28
|
+
grp = super(CustomMultiGroup, self).group(*_args, **kwargs)(f)
|
29
|
+
|
30
|
+
# for all of the aliased groups, share the main group commands
|
31
|
+
for aliased in aliased_group:
|
32
|
+
aliased.commands = grp.commands
|
33
|
+
|
34
|
+
return grp
|
35
|
+
|
36
|
+
return decorator
|
37
|
+
|
38
|
+
|
39
|
+
@click.group(cls=CustomMultiGroup)
|
40
|
+
@click.pass_context
|
41
|
+
def cli(ctx):
|
42
|
+
"""Clarifai CLI"""
|
43
|
+
ctx.ensure_object(dict)
|
44
|
+
config_path = 'config.yaml'
|
45
|
+
if os.path.exists(config_path):
|
46
|
+
ctx.obj = from_yaml(config_path)
|
47
|
+
else:
|
48
|
+
ctx.obj = {}
|
49
|
+
|
50
|
+
|
51
|
+
@cli.command()
|
52
|
+
@click.option('--config', type=click.Path(), required=False, help='Path to the config file')
|
53
|
+
@click.option(
|
54
|
+
'-e',
|
55
|
+
'--env',
|
56
|
+
required=False,
|
57
|
+
help='Environment to use, choose from prod, staging and dev',
|
58
|
+
type=click.Choice(['prod', 'staging', 'dev']))
|
59
|
+
@click.option('--user_id', required=False, help='User ID')
|
60
|
+
@click.pass_context
|
61
|
+
def login(ctx, config, env, user_id):
|
62
|
+
"""Login command to set PAT and other configurations."""
|
63
|
+
|
64
|
+
if config and os.path.exists(config):
|
65
|
+
ctx.obj = from_yaml(config)
|
66
|
+
|
67
|
+
if 'pat' in ctx.obj:
|
68
|
+
os.environ["CLARIFAI_PAT"] = ctx.obj['pat']
|
69
|
+
click.echo("Loaded PAT from config file.")
|
70
|
+
elif 'CLARIFAI_PAT' in os.environ:
|
71
|
+
ctx.obj['pat'] = os.environ["CLARIFAI_PAT"]
|
72
|
+
click.echo("Loaded PAT from environment variable.")
|
73
|
+
else:
|
74
|
+
_pat = click.prompt(
|
75
|
+
"Get your PAT from https://clarifai.com/settings/security and pass it here", type=str)
|
76
|
+
os.environ["CLARIFAI_PAT"] = _pat
|
77
|
+
ctx.obj['pat'] = _pat
|
78
|
+
click.echo("PAT saved successfully.")
|
79
|
+
|
80
|
+
if user_id:
|
81
|
+
ctx.obj['user_id'] = user_id
|
82
|
+
os.environ["CLARIFAI_USER_ID"] = ctx.obj['user_id']
|
83
|
+
elif 'user_id' in ctx.obj:
|
84
|
+
ctx.obj['user_id'] = ctx.obj.get('user_id', "")
|
85
|
+
os.environ["CLARIFAI_USER_ID"] = ctx.obj['user_id']
|
86
|
+
elif 'CLARIFAI_USER_ID' in os.environ:
|
87
|
+
ctx.obj['user_id'] = os.environ["CLARIFAI_USER_ID"]
|
88
|
+
else:
|
89
|
+
user_id = click.prompt("Pass the User ID here", type=str)
|
90
|
+
os.environ["CLARIFAI_USER_ID"] = user_id
|
91
|
+
ctx.obj['user_id'] = user_id
|
92
|
+
click.echo("User ID saved successfully.")
|
93
|
+
|
94
|
+
if env:
|
95
|
+
ctx.obj['env'] = env
|
96
|
+
ctx.obj['base_url'] = set_base_url(env)
|
97
|
+
os.environ["CLARIFAI_API_BASE"] = ctx.obj['base_url']
|
98
|
+
elif 'env' in ctx.obj:
|
99
|
+
ctx.obj['env'] = ctx.obj.get('env', "prod")
|
100
|
+
ctx.obj['base_url'] = set_base_url(ctx.obj['env'])
|
101
|
+
os.environ["CLARIFAI_API_BASE"] = ctx.obj['base_url']
|
102
|
+
elif 'CLARIFAI_API_BASE' in os.environ:
|
103
|
+
ctx.obj['base_url'] = os.environ["CLARIFAI_API_BASE"]
|
104
|
+
|
105
|
+
dump_yaml(ctx.obj, 'config.yaml')
|
106
|
+
|
107
|
+
|
108
|
+
# Import the CLI commands to register them
|
109
|
+
load_command_modules()
|
110
|
+
|
111
|
+
|
112
|
+
def main():
|
113
|
+
cli()
|
@@ -1,59 +1,51 @@
|
|
1
1
|
import click
|
2
|
-
|
3
2
|
from clarifai.cli.base import cli
|
4
3
|
from clarifai.client.user import User
|
5
|
-
from clarifai.utils.cli import
|
4
|
+
from clarifai.utils.cli import display_co_resources
|
6
5
|
|
7
6
|
|
8
|
-
@cli.group(['computecluster', 'cc']
|
7
|
+
@cli.group(['computecluster', 'cc'])
|
9
8
|
def computecluster():
|
10
9
|
"""Manage Compute Clusters: create, delete, list"""
|
10
|
+
pass
|
11
11
|
|
12
12
|
|
13
|
-
@computecluster.command(
|
14
|
-
@click.argument('compute_cluster_id')
|
13
|
+
@computecluster.command()
|
15
14
|
@click.option(
|
16
15
|
'--config',
|
17
16
|
type=click.Path(exists=True),
|
18
17
|
required=True,
|
19
18
|
help='Path to the compute cluster config file.')
|
19
|
+
@click.option(
|
20
|
+
'-cc_id',
|
21
|
+
'--compute_cluster_id',
|
22
|
+
required=False,
|
23
|
+
help='New Compute Cluster ID for the compute cluster to create.')
|
20
24
|
@click.pass_context
|
21
|
-
def create(ctx,
|
25
|
+
def create(ctx, config, compute_cluster_id):
|
22
26
|
"""Create a new Compute Cluster with the given config file."""
|
23
|
-
|
24
|
-
user = User(
|
25
|
-
user_id=ctx.obj.current.user_id, pat=ctx.obj.current.pat, base_url=ctx.obj.current.api_base)
|
27
|
+
user = User(user_id=ctx.obj['user_id'], pat=ctx.obj['pat'], base_url=ctx.obj['base_url'])
|
26
28
|
if compute_cluster_id:
|
27
29
|
user.create_compute_cluster(config, compute_cluster_id=compute_cluster_id)
|
28
30
|
else:
|
29
31
|
user.create_compute_cluster(config)
|
30
32
|
|
31
33
|
|
32
|
-
@computecluster.command(
|
34
|
+
@computecluster.command()
|
33
35
|
@click.option('--page_no', required=False, help='Page number to list.', default=1)
|
34
36
|
@click.option('--per_page', required=False, help='Number of items per page.', default=16)
|
35
37
|
@click.pass_context
|
36
38
|
def list(ctx, page_no, per_page):
|
37
39
|
"""List all compute clusters for the user."""
|
38
|
-
|
39
|
-
user = User(
|
40
|
-
user_id=ctx.obj.current.user_id, pat=ctx.obj.current.pat, base_url=ctx.obj.current.api_base)
|
40
|
+
user = User(user_id=ctx.obj['user_id'], pat=ctx.obj['pat'], base_url=ctx.obj['base_url'])
|
41
41
|
response = user.list_compute_clusters(page_no, per_page)
|
42
|
-
display_co_resources(
|
43
|
-
response,
|
44
|
-
custom_columns={
|
45
|
-
'ID': lambda c: c.id,
|
46
|
-
'USER_ID': lambda c: c.user_id,
|
47
|
-
'DESCRIPTION': lambda c: c.description,
|
48
|
-
})
|
42
|
+
display_co_resources(response, "Compute Cluster")
|
49
43
|
|
50
44
|
|
51
|
-
@computecluster.command(
|
52
|
-
@click.
|
45
|
+
@computecluster.command()
|
46
|
+
@click.option('-cc_id', '--compute_cluster_id', help='Compute Cluster ID of the user to delete.')
|
53
47
|
@click.pass_context
|
54
48
|
def delete(ctx, compute_cluster_id):
|
55
49
|
"""Deletes a compute cluster for the user."""
|
56
|
-
|
57
|
-
user = User(
|
58
|
-
user_id=ctx.obj.current.user_id, pat=ctx.obj.current.pat, base_url=ctx.obj.current.api_base)
|
50
|
+
user = User(user_id=ctx.obj['user_id'], pat=ctx.obj['pat'], base_url=ctx.obj['base_url'])
|
59
51
|
user.delete_compute_clusters([compute_cluster_id])
|
@@ -0,0 +1,84 @@
|
|
1
|
+
import click
|
2
|
+
from clarifai.cli.base import cli
|
3
|
+
from clarifai.client.nodepool import Nodepool
|
4
|
+
from clarifai.utils.cli import display_co_resources, from_yaml
|
5
|
+
|
6
|
+
|
7
|
+
@cli.group(['deployment', 'dpl'])
|
8
|
+
def deployment():
|
9
|
+
"""Manage Deployments: create, delete, list"""
|
10
|
+
pass
|
11
|
+
|
12
|
+
|
13
|
+
@deployment.command()
|
14
|
+
@click.option(
|
15
|
+
'-np_id',
|
16
|
+
'--nodepool_id',
|
17
|
+
required=False,
|
18
|
+
help='Nodepool ID for the Nodepool to interact with.')
|
19
|
+
@click.option(
|
20
|
+
'--config',
|
21
|
+
type=click.Path(exists=True),
|
22
|
+
required=True,
|
23
|
+
help='Path to the deployment config file.')
|
24
|
+
@click.option(
|
25
|
+
'-dpl_id',
|
26
|
+
'--deployment_id',
|
27
|
+
required=False,
|
28
|
+
help='New deployment ID for the deployment to create.')
|
29
|
+
@click.pass_context
|
30
|
+
def create(ctx, nodepool_id, config, deployment_id):
|
31
|
+
"""Create a new Deployment with the given config file."""
|
32
|
+
if not nodepool_id:
|
33
|
+
deployment_config = from_yaml(config)
|
34
|
+
nodepool_id = deployment_config['deployment']['nodepools'][0]['id']
|
35
|
+
|
36
|
+
nodepool = Nodepool(
|
37
|
+
nodepool_id=nodepool_id,
|
38
|
+
user_id=ctx.obj['user_id'],
|
39
|
+
pat=ctx.obj['pat'],
|
40
|
+
base_url=ctx.obj['base_url'])
|
41
|
+
if deployment_id:
|
42
|
+
nodepool.create_deployment(config, deployment_id=deployment_id)
|
43
|
+
else:
|
44
|
+
nodepool.create_deployment(config)
|
45
|
+
|
46
|
+
|
47
|
+
@deployment.command()
|
48
|
+
@click.option(
|
49
|
+
'-np_id',
|
50
|
+
'--nodepool_id',
|
51
|
+
required=True,
|
52
|
+
help='Nodepool ID for the Nodepool to interact with.')
|
53
|
+
@click.option('--page_no', required=False, help='Page number to list.', default=1)
|
54
|
+
@click.option('--per_page', required=False, help='Number of items per page.', default=16)
|
55
|
+
@click.pass_context
|
56
|
+
def list(ctx, nodepool_id, page_no, per_page):
|
57
|
+
"""List all deployments for the nodepool."""
|
58
|
+
|
59
|
+
nodepool = Nodepool(
|
60
|
+
nodepool_id=nodepool_id,
|
61
|
+
user_id=ctx.obj['user_id'],
|
62
|
+
pat=ctx.obj['pat'],
|
63
|
+
base_url=ctx.obj['base_url'])
|
64
|
+
response = nodepool.list_deployments(page_no=page_no, per_page=per_page)
|
65
|
+
display_co_resources(response, "Deployment")
|
66
|
+
|
67
|
+
|
68
|
+
@deployment.command()
|
69
|
+
@click.option(
|
70
|
+
'-np_id',
|
71
|
+
'--nodepool_id',
|
72
|
+
required=True,
|
73
|
+
help='Nodepool ID for the Nodepool to interact with.')
|
74
|
+
@click.option('-dpl_id', '--deployment_id', help='Deployment ID of the nodepool to delete.')
|
75
|
+
@click.pass_context
|
76
|
+
def delete(ctx, nodepool_id, deployment_id):
|
77
|
+
"""Deletes a deployment for the nodepool."""
|
78
|
+
|
79
|
+
nodepool = Nodepool(
|
80
|
+
nodepool_id=nodepool_id,
|
81
|
+
user_id=ctx.obj['user_id'],
|
82
|
+
pat=ctx.obj['pat'],
|
83
|
+
base_url=ctx.obj['base_url'])
|
84
|
+
nodepool.delete_deployments([deployment_id])
|
@@ -5,7 +5,7 @@ from clarifai.cli.base import cli
|
|
5
5
|
|
6
6
|
@cli.group(['model'])
|
7
7
|
def model():
|
8
|
-
"""Manage models: upload, test,
|
8
|
+
"""Manage models: upload, test locally, run locally, predict, and more"""
|
9
9
|
|
10
10
|
|
11
11
|
@model.command()
|
@@ -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),
|
@@ -96,14 +121,11 @@ def download_checkpoints(model_path, out_path, stage):
|
|
96
121
|
help=
|
97
122
|
'Keep the Docker image after testing the model locally (applicable for container mode). Defaults to False.'
|
98
123
|
)
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
)
|
105
|
-
def test_locally(model_path, keep_env=False, keep_image=False, mode='env', skip_dockerfile=False):
|
106
|
-
"""Test model locally."""
|
124
|
+
def test_locally(model_path, keep_env=False, keep_image=False, mode='env'):
|
125
|
+
"""Test model locally.
|
126
|
+
|
127
|
+
MODEL_PATH: Path to the model directory. If not specified, the current directory is used by default.
|
128
|
+
"""
|
107
129
|
try:
|
108
130
|
from clarifai.runners.models import model_run_locally
|
109
131
|
if mode == 'env' and keep_image:
|
@@ -117,11 +139,7 @@ def test_locally(model_path, keep_env=False, keep_image=False, mode='env', skip_
|
|
117
139
|
elif mode == "container":
|
118
140
|
click.echo("Testing model locally inside a container...")
|
119
141
|
model_run_locally.main(
|
120
|
-
model_path,
|
121
|
-
inside_container=True,
|
122
|
-
run_model_server=False,
|
123
|
-
keep_image=keep_image,
|
124
|
-
skip_dockerfile=skip_dockerfile)
|
142
|
+
model_path, inside_container=True, run_model_server=False, keep_image=keep_image)
|
125
143
|
click.echo("Model tested successfully.")
|
126
144
|
except Exception as e:
|
127
145
|
click.echo(f"Failed to test model locally: {e}", err=True)
|
@@ -161,14 +179,11 @@ def test_locally(model_path, keep_env=False, keep_image=False, mode='env', skip_
|
|
161
179
|
help=
|
162
180
|
'Keep the Docker image after testing the model locally (applicable for container mode). Defaults to False.'
|
163
181
|
)
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
)
|
170
|
-
def run_locally(model_path, port, mode, keep_env, keep_image, skip_dockerfile=False):
|
171
|
-
"""Run the model locally and start a gRPC server to serve the model."""
|
182
|
+
def run_locally(model_path, port, mode, keep_env, keep_image):
|
183
|
+
"""Run the model locally and start a gRPC server to serve the model.
|
184
|
+
|
185
|
+
MODEL_PATH: Path to the model directory. If not specified, the current directory is used by default.
|
186
|
+
"""
|
172
187
|
try:
|
173
188
|
from clarifai.runners.models import model_run_locally
|
174
189
|
if mode == 'env' and keep_image:
|
@@ -186,8 +201,7 @@ def run_locally(model_path, port, mode, keep_env, keep_image, skip_dockerfile=Fa
|
|
186
201
|
inside_container=True,
|
187
202
|
run_model_server=True,
|
188
203
|
port=port,
|
189
|
-
keep_image=keep_image
|
190
|
-
skip_dockerfile=skip_dockerfile)
|
204
|
+
keep_image=keep_image)
|
191
205
|
click.echo(f"Model server started locally from {model_path} in {mode} mode.")
|
192
206
|
except Exception as e:
|
193
207
|
click.echo(f"Failed to starts model server locally: {e}", err=True)
|
@@ -241,8 +255,7 @@ def predict(ctx, config, model_id, user_id, app_id, model_url, file_path, url, b
|
|
241
255
|
import json
|
242
256
|
|
243
257
|
from clarifai.client.model import Model
|
244
|
-
from clarifai.utils.cli import from_yaml
|
245
|
-
validate_context(ctx)
|
258
|
+
from clarifai.utils.cli import from_yaml
|
246
259
|
if config:
|
247
260
|
config = from_yaml(config)
|
248
261
|
model_id, user_id, app_id, model_url, file_path, url, bytes, input_type, compute_cluster_id, nodepool_id, deployment_id, inference_params, output_config = (
|
@@ -0,0 +1,91 @@
|
|
1
|
+
import click
|
2
|
+
from clarifai.cli.base import cli
|
3
|
+
from clarifai.client.compute_cluster import ComputeCluster
|
4
|
+
from clarifai.utils.cli import display_co_resources, dump_yaml, from_yaml
|
5
|
+
|
6
|
+
|
7
|
+
@cli.group(['nodepool', 'np'])
|
8
|
+
def nodepool():
|
9
|
+
"""Manage Nodepools: create, delete, list"""
|
10
|
+
pass
|
11
|
+
|
12
|
+
|
13
|
+
@nodepool.command()
|
14
|
+
@click.option(
|
15
|
+
'-cc_id',
|
16
|
+
'--compute_cluster_id',
|
17
|
+
required=False,
|
18
|
+
help='Compute Cluster ID for the compute cluster to interact with.')
|
19
|
+
@click.option(
|
20
|
+
'--config',
|
21
|
+
type=click.Path(exists=True),
|
22
|
+
required=True,
|
23
|
+
help='Path to the nodepool config file.')
|
24
|
+
@click.option(
|
25
|
+
'-np_id', '--nodepool_id', required=False, help='New Nodepool ID for the nodepool to create.')
|
26
|
+
@click.pass_context
|
27
|
+
def create(ctx, compute_cluster_id, config, nodepool_id):
|
28
|
+
"""Create a new Nodepool with the given config file."""
|
29
|
+
|
30
|
+
nodepool_config = from_yaml(config)
|
31
|
+
if not compute_cluster_id:
|
32
|
+
if 'compute_cluster' not in nodepool_config['nodepool']:
|
33
|
+
click.echo(
|
34
|
+
"Please provide a compute cluster ID either in the config file or using --compute_cluster_id flag",
|
35
|
+
err=True)
|
36
|
+
return
|
37
|
+
compute_cluster_id = nodepool_config['nodepool']['compute_cluster']['id']
|
38
|
+
else:
|
39
|
+
if 'compute_cluster' not in nodepool_config['nodepool']:
|
40
|
+
nodepool_config['nodepool']['compute_cluster']['id'] = compute_cluster_id
|
41
|
+
dump_yaml(config, nodepool_config)
|
42
|
+
|
43
|
+
compute_cluster = ComputeCluster(
|
44
|
+
compute_cluster_id=compute_cluster_id,
|
45
|
+
user_id=ctx.obj['user_id'],
|
46
|
+
pat=ctx.obj['pat'],
|
47
|
+
base_url=ctx.obj['base_url'])
|
48
|
+
if nodepool_id:
|
49
|
+
compute_cluster.create_nodepool(config, nodepool_id=nodepool_id)
|
50
|
+
else:
|
51
|
+
compute_cluster.create_nodepool(config)
|
52
|
+
|
53
|
+
|
54
|
+
@nodepool.command()
|
55
|
+
@click.option(
|
56
|
+
'-cc_id',
|
57
|
+
'--compute_cluster_id',
|
58
|
+
required=True,
|
59
|
+
help='Compute Cluster ID for the compute cluster to interact with.')
|
60
|
+
@click.option('--page_no', required=False, help='Page number to list.', default=1)
|
61
|
+
@click.option('--per_page', required=False, help='Number of items per page.', default=16)
|
62
|
+
@click.pass_context
|
63
|
+
def list(ctx, compute_cluster_id, page_no, per_page):
|
64
|
+
"""List all nodepools for the user."""
|
65
|
+
|
66
|
+
compute_cluster = ComputeCluster(
|
67
|
+
compute_cluster_id=compute_cluster_id,
|
68
|
+
user_id=ctx.obj['user_id'],
|
69
|
+
pat=ctx.obj['pat'],
|
70
|
+
base_url=ctx.obj['base_url'])
|
71
|
+
response = compute_cluster.list_nodepools(page_no, per_page)
|
72
|
+
display_co_resources(response, "Nodepool")
|
73
|
+
|
74
|
+
|
75
|
+
@nodepool.command()
|
76
|
+
@click.option(
|
77
|
+
'-cc_id',
|
78
|
+
'--compute_cluster_id',
|
79
|
+
required=True,
|
80
|
+
help='Compute Cluster ID for the compute cluster to interact with.')
|
81
|
+
@click.option('-np_id', '--nodepool_id', help='Nodepool ID of the user to delete.')
|
82
|
+
@click.pass_context
|
83
|
+
def delete(ctx, compute_cluster_id, nodepool_id):
|
84
|
+
"""Deletes a nodepool for the user."""
|
85
|
+
|
86
|
+
compute_cluster = ComputeCluster(
|
87
|
+
compute_cluster_id=compute_cluster_id,
|
88
|
+
user_id=ctx.obj['user_id'],
|
89
|
+
pat=ctx.obj['pat'],
|
90
|
+
base_url=ctx.obj['base_url'])
|
91
|
+
compute_cluster.delete_nodepools([nodepool_id])
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -629,7 +629,7 @@ class App(Lister, BaseClient):
|
|
629
629
|
|
630
630
|
Args:
|
631
631
|
model_id (str): The model ID for the model to interact with.
|
632
|
-
|
632
|
+
model_version_id (str): The model version ID for the model version to interact with.
|
633
633
|
|
634
634
|
Returns:
|
635
635
|
Model: A Model object for the existing model ID.
|
Binary file
|