diff --git a/README.md b/README.md index ffb3b09..68aeb8e 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,9 @@ ### Installation +This client uses Platform API `4.37.1`. CServe deployments have been retired; +the CServe SDK helpers and CLI deployment option are no longer available. + To install without cloning, run the following command: ```bash pip install git+https://github.com/CentML/centml-python-client.git@main diff --git a/centml/cli/cluster.py b/centml/cli/cluster.py index be38602..7145737 100644 --- a/centml/cli/cluster.py +++ b/centml/cli/cluster.py @@ -21,17 +21,12 @@ DeploymentType.INFERENCE_V2: "inference", DeploymentType.INFERENCE_V3: "inference", DeploymentType.COMPUTE_V2: "compute", - # For user, they are all cserve. - DeploymentType.CSERVE: "cserve", - DeploymentType.CSERVE_V2: "cserve", - DeploymentType.CSERVE_V3: "cserve", DeploymentType.RAG: "rag", DeploymentType.JOB: "job", } # use latest type to for user requests depl_name_to_type_map = { "inference": DeploymentType.INFERENCE_V3, - "cserve": DeploymentType.CSERVE_V3, "compute": DeploymentType.COMPUTE_V2, "rag": DeploymentType.RAG, "job": DeploymentType.JOB, @@ -78,7 +73,6 @@ def _format_ssh_key(ssh_key): def _get_replica_info(deployment): """Extract replica information handling V2/V3 field differences""" # Check actual deployment object fields rather than depl_type - # since unified get_cserve() can return either V2 or V3 objects if hasattr(deployment, 'min_replicas'): # V3 deployment response object return {"min": deployment.min_replicas, "max": deployment.max_replicas} @@ -218,8 +212,6 @@ def get(type, id): deployment = cclient.get_inference(id) # handles both V2 and V3 elif depl_type == DeploymentType.COMPUTE_V2: deployment = cclient.get_compute(id) - elif depl_type in [DeploymentType.CSERVE_V2, DeploymentType.CSERVE_V3]: - deployment = cclient.get_cserve(id) # handles both V2 and V3 elif depl_type == DeploymentType.JOB: deployment = cclient.get_job(id) else: @@ -268,22 +260,6 @@ def get(type, id): disable_numparse=True, ) ) - elif depl_type in [DeploymentType.CSERVE_V2, DeploymentType.CSERVE_V3]: - replica_info = _get_replica_info(deployment) - display_rows = [ - ("Hugging face model", deployment.recipe.model), - ( - "Parallelism", - { - "tensor": deployment.recipe.additional_properties.get("tensor_parallel_size", "N/A"), - "pipeline": deployment.recipe.additional_properties.get("pipeline_parallel_size", "N/A"), - }, - ), - ("Replicas", replica_info), - ("Max concurrency", deployment.concurrency or "None"), - ] - - click.echo(tabulate(display_rows, tablefmt="rounded_outline", disable_numparse=True)) elif depl_type == DeploymentType.JOB: display_rows = [ ("Image", deployment.image_url), diff --git a/centml/sdk/api.py b/centml/sdk/api.py index d7c4457..b4a4af2 100644 --- a/centml/sdk/api.py +++ b/centml/sdk/api.py @@ -25,8 +25,6 @@ from centml.sdk import auth from centml.sdk.config import settings -STATUS_V3_DEPLOYMENT_TYPES = {DeploymentType.INFERENCE_V3, DeploymentType.CSERVE_V3} - DEFAULT_LOG_PAGE_LINES = 100 # server-side default for max_lines MAX_LOG_PAGE_LINES = 5000 # server-side ceiling for max_lines # fetch_logs asks for less than the server's own default because the common call tails a @@ -139,23 +137,6 @@ def get_compute(self, id): def get_job(self, id): return self._api.get_job_deployment_deployments_job_deployment_id_get(id) - def get_cserve(self, id): - """Get CServe deployment details - automatically handles both V2 and V3 deployments""" - # Try V3 first (recommended), fallback to V2 if deployment is V2 - try: - return self._api.get_cserve_v3_deployment_deployments_cserve_v3_deployment_id_get(id) - except ApiException as e: - # If V3 fails with 404 or similar, try V2 - if e.status in [404, 400]: # Deployment might be V2 or endpoint not found - try: - return self._api.get_cserve_v2_deployment_deployments_cserve_v2_deployment_id_get(id) - except ApiException as v2_error: - # If both fail, raise the original V3 error as it's more likely to be the real issue - raise e from v2_error - else: - # For other errors (auth, network, etc.), raise immediately - raise - def get_dynamo(self, id): return self._api.get_dynamo_deployment_deployments_dynamo_deployment_id_get(id) diff --git a/requirements.txt b/requirements.txt index e4e91d5..5174292 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,6 +5,6 @@ pyjwt>=2.8.0 cryptography==50.0.0 websockets>=16.0 pyte>=0.8.0 -platform-api-python-client==4.31.0 +platform-api-python-client==4.37.1 click>=8.4.1 typing-extensions>=4.5 diff --git a/setup.py b/setup.py index 8dd6111..045111e 100644 --- a/setup.py +++ b/setup.py @@ -11,7 +11,7 @@ setup( name='centml', - version='0.7.1', + version='0.7.2', packages=find_packages(exclude=["tests", "tests.*"]), python_requires=">=3.10", long_description=open('README.md').read(),