diff --git a/README.md b/README.md index e8b3ba7..d04a100 100644 --- a/README.md +++ b/README.md @@ -2528,10 +2528,18 @@ client.delete_project(project_id="YOUR_PROJECT_ID") ### Copy Project -Copy a project. +Copy a project. You can optionally specify a custom name and slug for the copied project. ```python +# Copy project with default name/slug project_id = client.copy_project(project_id="YOUR_PROJECT_ID") + +# Copy project with custom name and slug +project_id = client.copy_project( + project_id="YOUR_PROJECT_ID", + project_name="Custom Project Name", + project_slug="custom-project-slug" +) ``` ### Update Project Metadata diff --git a/fastlabel/__init__.py b/fastlabel/__init__.py index 5a79d51..725f0c2 100644 --- a/fastlabel/__init__.py +++ b/fastlabel/__init__.py @@ -4105,13 +4105,25 @@ def delete_project(self, project_id: str) -> None: endpoint = "projects/" + project_id self.api.delete_request(endpoint) - def copy_project(self, project_id: str) -> None: + def copy_project( + self, + project_id: str, + project_name: Optional[str] = None, + project_slug: Optional[str] = None, + ) -> None: """ Copy a project. """ - payload = {"id": project_id} endpoint = "projects/copy" - return self.api.post_request(endpoint, payload=payload) + payload = {"id": project_id} + if project_name: + payload["name"] = project_name + if project_slug: + payload["slug"] = project_slug + return self.api.post_request( + endpoint, + payload=payload, + ) def update_project_metadata( self,