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