3434from labelbox .schema .project import Project
3535from labelbox .schema .role import Role
3636from labelbox .schema .slice import CatalogSlice
37+ from labelbox .schema .queue_mode import QueueMode
3738
3839from labelbox .schema .media_type import MediaType
3940
@@ -615,11 +616,17 @@ def create_project(self, **kwargs) -> Project:
615616 >>> project = client.create_project(
616617 name="<project_name>",
617618 description="<project_description>",
618- media_type=MediaType.Image
619+ media_type=MediaType.Image,
620+ queue_mode=QueueMode.Batch
619621 )
620622
621623 Args:
622- **kwargs: Keyword arguments with Project attribute values.
624+ name (str): A name for the project
625+ description (str): A short summary for the project
626+ media_type (MediaType): The type of assets that this project will accept
627+ queue_mode (Optional[QueueMode]): The queue mode to use
628+ auto_audit_percentage (Optional[float]): The percentage of data rows that will require more than 1 label
629+ auto_audit_number_of_labels (Optional[float]): Number of labels required for data rows selected for multiple labeling (auto_audit_percentage)
623630 Returns:
624631 A new Project object.
625632 Raises:
@@ -630,7 +637,7 @@ def create_project(self, **kwargs) -> Project:
630637 queue_mode = kwargs .get ("queue_mode" )
631638 if media_type :
632639 if MediaType .is_supported (media_type ):
633- kwargs [ " media_type" ] = media_type .value
640+ media_type = media_type .value
634641 else :
635642 raise TypeError (f"{ media_type } is not a valid media type. Use"
636643 f" any of { MediaType .get_supported_members ()} "
@@ -642,11 +649,20 @@ def create_project(self, **kwargs) -> Project:
642649
643650 if not queue_mode :
644651 logger .warning (
645- "Default createProject behavior will soon be adjusted to prefer"
646- "batch projects. Pass in `queue_mode` parameter explicitly to opt-out for the"
652+ "Default createProject behavior will soon be adjusted to prefer "
653+ "batch projects. Pass in `queue_mode` parameter explicitly to opt-out for the "
647654 "time being." )
648-
649- return self ._create (Entity .Project , kwargs )
655+ elif queue_mode == QueueMode .Dataset :
656+ logger .warning (
657+ "QueueMode.Dataset will eventually be deprecated, and is no longer "
658+ "recommended for new projects. Prefer QueueMode.Batch instead." )
659+
660+ return self ._create (Entity .Project , {
661+ ** kwargs ,
662+ ** ({
663+ 'media_type' : media_type
664+ } if media_type else {})
665+ })
650666
651667 def get_roles (self ) -> List [Role ]:
652668 """
0 commit comments