From d9061024dcda053fd73dab1006613d9fd602992b Mon Sep 17 00:00:00 2001 From: Abdirahman Date: Fri, 15 Nov 2024 11:07:03 -0800 Subject: [PATCH 1/4] chore: Adding hardware override support --- sync/api/projects.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sync/api/projects.py b/sync/api/projects.py index d9726ba..5ce1454 100644 --- a/sync/api/projects.py +++ b/sync/api/projects.py @@ -130,6 +130,7 @@ def update_project( prediction_params: Optional[dict] = None, job_id: Optional[str] = None, optimize_instance_size: Optional[bool] = None, + hardware_override: Optional[dict] = None, ) -> Response[dict]: """Updates a project's mutable properties @@ -153,6 +154,8 @@ def update_project( :type job_id: str, optional :param optimize_instance_size: flag to turn on/off instance size recommendations, defaults to None :type optimize_instance_size: bool, optional + :param hardware_override: dictionary of hardware_override, defaults to None + :type hardware_override: dict, optional :return: updated project :rtype: Response[dict] """ @@ -175,6 +178,8 @@ def update_project( project_update["workspace_id"] = workspace_id if optimize_instance_size: project_update["optimize_instance_size"] = optimize_instance_size + if hardware_override: + project_update["hardware_override"] = hardware_override return Response( **get_default_client().update_project( From 4e3f62856e42cb11b68c06c2a4f3badcaa3bbe90 Mon Sep 17 00:00:00 2001 From: Abdirahman Date: Mon, 25 Nov 2024 10:22:25 -0800 Subject: [PATCH 2/4] Adding support through projects for project_hardware_override --- sync/api/projects.py | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/sync/api/projects.py b/sync/api/projects.py index 5ce1454..18dd279 100644 --- a/sync/api/projects.py +++ b/sync/api/projects.py @@ -130,7 +130,6 @@ def update_project( prediction_params: Optional[dict] = None, job_id: Optional[str] = None, optimize_instance_size: Optional[bool] = None, - hardware_override: Optional[dict] = None, ) -> Response[dict]: """Updates a project's mutable properties @@ -154,8 +153,6 @@ def update_project( :type job_id: str, optional :param optimize_instance_size: flag to turn on/off instance size recommendations, defaults to None :type optimize_instance_size: bool, optional - :param hardware_override: dictionary of hardware_override, defaults to None - :type hardware_override: dict, optional :return: updated project :rtype: Response[dict] """ @@ -178,8 +175,6 @@ def update_project( project_update["workspace_id"] = workspace_id if optimize_instance_size: project_update["optimize_instance_size"] = optimize_instance_size - if hardware_override: - project_update["hardware_override"] = hardware_override return Response( **get_default_client().update_project( @@ -188,6 +183,22 @@ def update_project( ) ) +def project_hardware_override_aws(project_id: str, hardware_override: dict) -> Response[dict]: + """Overrides the hardware configuration for a project + + :param project_id: project ID + :type project_id: str + :param hardware_override: hardware override configuration + :type hardware_override: dict + :return: updated project + :rtype: Response[dict] + """ + return Response( + **get_default_client().project_hardware_override_aws( + project_id, + hardware_override, + ) + ) def get_project_by_app_id(app_id: str) -> Response[dict]: """Retrieves a project by app ID From 32d42c13e333f7c69c7371eef52f42636e342f2a Mon Sep 17 00:00:00 2001 From: Bea Clune Date: Mon, 25 Nov 2024 12:38:43 -0700 Subject: [PATCH 3/4] ruff format --- sync/api/projects.py | 2 ++ sync/clients/sync.py | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/sync/api/projects.py b/sync/api/projects.py index 18dd279..6209749 100644 --- a/sync/api/projects.py +++ b/sync/api/projects.py @@ -183,6 +183,7 @@ def update_project( ) ) + def project_hardware_override_aws(project_id: str, hardware_override: dict) -> Response[dict]: """Overrides the hardware configuration for a project @@ -200,6 +201,7 @@ def project_hardware_override_aws(project_id: str, hardware_override: dict) -> R ) ) + def get_project_by_app_id(app_id: str) -> Response[dict]: """Retrieves a project by app ID diff --git a/sync/clients/sync.py b/sync/clients/sync.py index 51c4193..e496c3c 100644 --- a/sync/clients/sync.py +++ b/sync/clients/sync.py @@ -142,7 +142,10 @@ def project_hardware_override_aws(self, project_id: str, hardware_override: dict headers, content = encode_json(hardware_override) return self._send( self._client.build_request( - "POST", f"/v1/projects/{project_id}/hardware-override-aws", headers=headers, content=content + "POST", + f"/v1/projects/{project_id}/hardware-override-aws", + headers=headers, + content=content, ) ) From 890b2fd9a4a17eb073b2a571e6fa4e2a0e3b0c7b Mon Sep 17 00:00:00 2001 From: Bea Clune Date: Mon, 25 Nov 2024 12:40:01 -0700 Subject: [PATCH 4/4] bump version --- sync/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sync/__init__.py b/sync/__init__.py index 0809c09..2c4c853 100644 --- a/sync/__init__.py +++ b/sync/__init__.py @@ -1,5 +1,5 @@ """Library for leveraging the power of Sync""" -__version__ = "1.11.5" +__version__ = "1.11.6" TIME_FORMAT = "%Y-%m-%dT%H:%M:%SZ"