@@ -424,7 +424,71 @@ def delete_file(
424424 ),
425425 cast_to = object ,
426426 )
427-
427+ def add_file_and_update_meta (
428+ self ,
429+ datasource_id : str ,
430+ file : FileTypes ,
431+ * ,
432+ async_process_meta : bool | NotGiven = NOT_GIVEN ,
433+ extra_headers : Headers | None = None ,
434+ extra_query : Query | None = None ,
435+ extra_body : Body | None = None ,
436+ timeout : float | httpx .Timeout | None | NotGiven = NOT_GIVEN ,
437+ ):
438+ self .add_files (
439+ datasource_id ,
440+ files = [file ],
441+ extra_headers = extra_headers ,
442+ extra_query = extra_query ,
443+ extra_body = extra_body ,
444+ timeout = timeout ,
445+ )
446+ self .meta .create (
447+ datasource_id = datasource_id ,
448+ body = None ,
449+ async_process_meta = async_process_meta ,
450+ extra_headers = extra_headers ,
451+ extra_query = extra_query ,
452+ extra_body = extra_body ,
453+ timeout = timeout ,
454+ )
455+
456+ def create_from_file (
457+ self ,
458+ engine : Literal ["excel" , "csv" ],
459+ file : FileTypes ,
460+ * ,
461+ async_process_meta : bool | NotGiven = NOT_GIVEN ,
462+ extra_headers : Headers | None = None ,
463+ extra_query : Query | None = None ,
464+ extra_body : Body | None = None ,
465+ timeout : float | httpx .Timeout | None | NotGiven = NOT_GIVEN ,
466+ ):
467+ datasource = self .create (
468+ engine = engine ,
469+ async_process_meta = False ,
470+ extra_headers = extra_headers ,
471+ extra_query = extra_query ,
472+ extra_body = extra_body ,
473+ timeout = timeout ,
474+ )
475+ self .add_files (
476+ datasource .id ,
477+ files = [file ],
478+ extra_headers = extra_headers ,
479+ extra_query = extra_query ,
480+ extra_body = extra_body ,
481+ timeout = timeout ,
482+ )
483+ self .meta .create (
484+ datasource .id ,
485+ body = None ,
486+ async_process_meta = async_process_meta ,
487+ extra_headers = extra_headers ,
488+ extra_query = extra_query ,
489+ extra_body = extra_body ,
490+ timeout = timeout ,
491+ )
428492
429493class AsyncDatasourcesResource (AsyncAPIResource ):
430494 @cached_property
0 commit comments