@@ -81,7 +81,13 @@ def __init__(
8181
8282 self .task_handler = TaskHandler (self .config , custom_headers )
8383
84- def create_index (self , uid : str , options : Optional [Mapping [str , Any ]] = None ) -> TaskInfo :
84+ def create_index (
85+ self ,
86+ uid : str ,
87+ options : Optional [Mapping [str , Any ]] = None ,
88+ * ,
89+ metadata : Optional [str ] = None ,
90+ ) -> TaskInfo :
8591 """Create an index.
8692
8793 Parameters
@@ -90,6 +96,8 @@ def create_index(self, uid: str, options: Optional[Mapping[str, Any]] = None) ->
9096 UID of the index.
9197 options (optional): dict
9298 Options passed during index creation (ex: primaryKey).
99+ metadata (optional):
100+ Custom metadata string to attach to the task.
93101
94102 Returns
95103 -------
@@ -102,15 +110,19 @@ def create_index(self, uid: str, options: Optional[Mapping[str, Any]] = None) ->
102110 MeilisearchApiError
103111 An error containing details about why Meilisearch can't process your request. Meilisearch error codes are described here: https://www.meilisearch.com/docs/reference/errors/error_codes#meilisearch-errors
104112 """
105- return Index .create (self .config , uid , options , custom_headers = self ._custom_headers )
113+ return Index .create (
114+ self .config , uid , options , custom_headers = self ._custom_headers , metadata = metadata
115+ )
106116
107- def delete_index (self , uid : str ) -> TaskInfo :
117+ def delete_index (self , uid : str , * , metadata : Optional [ str ] = None ) -> TaskInfo :
108118 """Deletes an index
109119
110120 Parameters
111121 ----------
112122 uid:
113123 UID of the index.
124+ metadata (optional):
125+ Custom metadata string to attach to the task.
114126
115127 Returns
116128 -------
@@ -124,7 +136,10 @@ def delete_index(self, uid: str) -> TaskInfo:
124136 An error containing details about why Meilisearch can't process your request. Meilisearch error codes are described here: https://www.meilisearch.com/docs/reference/errors/error_codes#meilisearch-errors
125137 """
126138
127- task = self .http .delete (f"{ self .config .paths .index } /{ uid } " )
139+ url = f"{ self .config .paths .index } /{ uid } "
140+ if metadata is not None :
141+ url += f"?{ parse .urlencode ({'customMetadata' : metadata })} "
142+ task = self .http .delete (url )
128143
129144 return TaskInfo (** task )
130145
@@ -714,13 +729,17 @@ def get_task(self, uid: int) -> Task:
714729 """
715730 return self .task_handler .get_task (uid )
716731
717- def cancel_tasks (self , parameters : MutableMapping [str , Any ]) -> TaskInfo :
732+ def cancel_tasks (
733+ self , parameters : MutableMapping [str , Any ], * , metadata : Optional [str ] = None
734+ ) -> TaskInfo :
718735 """Cancel a list of enqueued or processing tasks.
719736
720737 Parameters
721738 ----------
722739 parameters:
723740 parameters accepted by the cancel tasks route:https://www.meilisearch.com/docs/reference/api/tasks#cancel-tasks.
741+ metadata (optional):
742+ Custom metadata string to attach to the task.
724743
725744 Returns
726745 -------
@@ -733,15 +752,19 @@ def cancel_tasks(self, parameters: MutableMapping[str, Any]) -> TaskInfo:
733752 MeilisearchApiError
734753 An error containing details about why Meilisearch can't process your request. Meilisearch error codes are described here: https://www.meilisearch.com/docs/reference/errors/error_codes#meilisearch-errors
735754 """
736- return self .task_handler .cancel_tasks (parameters = parameters )
755+ return self .task_handler .cancel_tasks (parameters = parameters , metadata = metadata )
737756
738- def delete_tasks (self , parameters : MutableMapping [str , Any ]) -> TaskInfo :
757+ def delete_tasks (
758+ self , parameters : MutableMapping [str , Any ], * , metadata : Optional [str ] = None
759+ ) -> TaskInfo :
739760 """Delete a list of finished tasks.
740761
741762 Parameters
742763 ----------
743764 parameters (optional):
744765 parameters accepted by the delete tasks route:https://www.meilisearch.com/docs/reference/api/tasks#delete-task.
766+ metadata (optional):
767+ Custom metadata string to attach to the task.
745768 Returns
746769 -------
747770 task_info:
@@ -752,7 +775,7 @@ def delete_tasks(self, parameters: MutableMapping[str, Any]) -> TaskInfo:
752775 MeilisearchApiError
753776 An error containing details about why Meilisearch can't process your request. Meilisearch error codes are described here: https://www.meilisearch.com/docs/reference/errors/error_codes#meilisearch-errors
754777 """
755- return self .task_handler .delete_tasks (parameters = parameters )
778+ return self .task_handler .delete_tasks (parameters = parameters , metadata = metadata )
756779
757780 def wait_for_task (
758781 self ,
0 commit comments