> ## Documentation Index
> Fetch the complete documentation index at: https://docs.datalinks.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Reference

# datalinks package

## Subpackages

* [datalinks.api package](datalinks.api)
  * [`DataLinksAPI`](datalinks.api#datalinks.api.DataLinksAPI)
    * [`DataLinksAPI.ingest()`](datalinks.api#datalinks.api.DataLinksAPI.ingest)
    * [`DataLinksAPI.create_space()`](datalinks.api#datalinks.api.DataLinksAPI.create_space)
    * [`DataLinksAPI.update_infer_definition()`](datalinks.api#datalinks.api.DataLinksAPI.update_infer_definition)
    * [`DataLinksAPI.infer_dataset_description()`](datalinks.api#datalinks.api.DataLinksAPI.infer_dataset_description)
    * [`DataLinksAPI.update_sort_order()`](datalinks.api#datalinks.api.DataLinksAPI.update_sort_order)
    * [`DataLinksAPI.prepare_multipart_upload()`](datalinks.api#datalinks.api.DataLinksAPI.prepare_multipart_upload)
    * [`DataLinksAPI.finish_multipart_upload()`](datalinks.api#datalinks.api.DataLinksAPI.finish_multipart_upload)
    * [`DataLinksAPI.abort_multipart_upload()`](datalinks.api#datalinks.api.DataLinksAPI.abort_multipart_upload)
    * [`DataLinksAPI.list_ingestions()`](datalinks.api#datalinks.api.DataLinksAPI.list_ingestions)
    * [`DataLinksAPI.wait_for_ingestion()`](datalinks.api#datalinks.api.DataLinksAPI.wait_for_ingestion)
    * [`DataLinksAPI.get_dataset_info()`](datalinks.api#datalinks.api.DataLinksAPI.get_dataset_info)
    * [`DataLinksAPI.delete_dataset()`](datalinks.api#datalinks.api.DataLinksAPI.delete_dataset)
    * [`DataLinksAPI.rename_dataset()`](datalinks.api#datalinks.api.DataLinksAPI.rename_dataset)
    * [`DataLinksAPI.clear_dataset()`](datalinks.api#datalinks.api.DataLinksAPI.clear_dataset)
    * [`DataLinksAPI.add_link()`](datalinks.api#datalinks.api.DataLinksAPI.add_link)
    * [`DataLinksAPI.preview_links()`](datalinks.api#datalinks.api.DataLinksAPI.preview_links)
    * [`DataLinksAPI.rebuild_links()`](datalinks.api#datalinks.api.DataLinksAPI.rebuild_links)
    * [`DataLinksAPI.load_links()`](datalinks.api#datalinks.api.DataLinksAPI.load_links)
    * [`DataLinksAPI.list_datasets()`](datalinks.api#datalinks.api.DataLinksAPI.list_datasets)
    * [`DataLinksAPI.query_data()`](datalinks.api#datalinks.api.DataLinksAPI.query_data)
    * [`DataLinksAPI.ask()`](datalinks.api#datalinks.api.DataLinksAPI.ask)
    * [`DataLinksAPI.preview_ingest()`](datalinks.api#datalinks.api.DataLinksAPI.preview_ingest)
    * [`DataLinksAPI.infer_schema()`](datalinks.api#datalinks.api.DataLinksAPI.infer_schema)
    * [`DataLinksAPI.retry_ingestion()`](datalinks.api#datalinks.api.DataLinksAPI.retry_ingestion)
    * [`DataLinksAPI.mark_ingestion_seen()`](datalinks.api#datalinks.api.DataLinksAPI.mark_ingestion_seen)
    * [`DataLinksAPI.autorag()`](datalinks.api#datalinks.api.DataLinksAPI.autorag)
    * [`DataLinksAPI.request_cleaning()`](datalinks.api#datalinks.api.DataLinksAPI.request_cleaning)
    * [`DataLinksAPI.get_cleaning_code()`](datalinks.api#datalinks.api.DataLinksAPI.get_cleaning_code)
    * [`DataLinksAPI.get_ontology()`](datalinks.api#datalinks.api.DataLinksAPI.get_ontology)
    * [`DataLinksAPI.save_ontology()`](datalinks.api#datalinks.api.DataLinksAPI.save_ontology)
    * [`DataLinksAPI.curate_links()`](datalinks.api#datalinks.api.DataLinksAPI.curate_links)
    * [`DataLinksAPI.rename_namespace()`](datalinks.api#datalinks.api.DataLinksAPI.rename_namespace)
    * [`DataLinksAPI.list_namespaces()`](datalinks.api#datalinks.api.DataLinksAPI.list_namespaces)
    * [`DataLinksAPI.list_all_datasets_schema()`](datalinks.api#datalinks.api.DataLinksAPI.list_all_datasets_schema)
    * [`DataLinksAPI.list_datasets_in_namespace_schema()`](datalinks.api#datalinks.api.DataLinksAPI.list_datasets_in_namespace_schema)
    * [`DataLinksAPI.list_tokens()`](datalinks.api#datalinks.api.DataLinksAPI.list_tokens)
    * [`DataLinksAPI.add_token()`](datalinks.api#datalinks.api.DataLinksAPI.add_token)
    * [`DataLinksAPI.delete_token()`](datalinks.api#datalinks.api.DataLinksAPI.delete_token)
    * [`DataLinksAPI.list_token_permissions()`](datalinks.api#datalinks.api.DataLinksAPI.list_token_permissions)
    * [`DataLinksAPI.get_usage_history()`](datalinks.api#datalinks.api.DataLinksAPI.get_usage_history)
    * [`DataLinksAPI.get_usage_by_day()`](datalinks.api#datalinks.api.DataLinksAPI.get_usage_by_day)
    * [`DataLinksAPI.get_agent_run_status()`](datalinks.api#datalinks.api.DataLinksAPI.get_agent_run_status)
    * [`DataLinksAPI.delete_agent_run()`](datalinks.api#datalinks.api.DataLinksAPI.delete_agent_run)
    * [`DataLinksAPI.resume_agent_run()`](datalinks.api#datalinks.api.DataLinksAPI.resume_agent_run)
    * [`DataLinksAPI.list_conversations()`](datalinks.api#datalinks.api.DataLinksAPI.list_conversations)
    * [`DataLinksAPI.get_conversation()`](datalinks.api#datalinks.api.DataLinksAPI.get_conversation)
  * [`AsyncDataLinksAPI`](datalinks.api#datalinks.api.AsyncDataLinksAPI)
    * [`AsyncDataLinksAPI.aclose()`](datalinks.api#datalinks.api.AsyncDataLinksAPI.aclose)
    * [`AsyncDataLinksAPI.ingest()`](datalinks.api#datalinks.api.AsyncDataLinksAPI.ingest)
    * [`AsyncDataLinksAPI.create_space()`](datalinks.api#datalinks.api.AsyncDataLinksAPI.create_space)
    * [`AsyncDataLinksAPI.update_infer_definition()`](datalinks.api#datalinks.api.AsyncDataLinksAPI.update_infer_definition)
    * [`AsyncDataLinksAPI.infer_dataset_description()`](datalinks.api#datalinks.api.AsyncDataLinksAPI.infer_dataset_description)
    * [`AsyncDataLinksAPI.update_sort_order()`](datalinks.api#datalinks.api.AsyncDataLinksAPI.update_sort_order)
    * [`AsyncDataLinksAPI.prepare_multipart_upload()`](datalinks.api#datalinks.api.AsyncDataLinksAPI.prepare_multipart_upload)
    * [`AsyncDataLinksAPI.finish_multipart_upload()`](datalinks.api#datalinks.api.AsyncDataLinksAPI.finish_multipart_upload)
    * [`AsyncDataLinksAPI.abort_multipart_upload()`](datalinks.api#datalinks.api.AsyncDataLinksAPI.abort_multipart_upload)
    * [`AsyncDataLinksAPI.list_ingestions()`](datalinks.api#datalinks.api.AsyncDataLinksAPI.list_ingestions)
    * [`AsyncDataLinksAPI.wait_for_ingestion()`](datalinks.api#datalinks.api.AsyncDataLinksAPI.wait_for_ingestion)
    * [`AsyncDataLinksAPI.get_dataset_info()`](datalinks.api#datalinks.api.AsyncDataLinksAPI.get_dataset_info)
    * [`AsyncDataLinksAPI.delete_dataset()`](datalinks.api#datalinks.api.AsyncDataLinksAPI.delete_dataset)
    * [`AsyncDataLinksAPI.rename_dataset()`](datalinks.api#datalinks.api.AsyncDataLinksAPI.rename_dataset)
    * [`AsyncDataLinksAPI.rename_namespace()`](datalinks.api#datalinks.api.AsyncDataLinksAPI.rename_namespace)
    * [`AsyncDataLinksAPI.clear_dataset()`](datalinks.api#datalinks.api.AsyncDataLinksAPI.clear_dataset)
    * [`AsyncDataLinksAPI.add_link()`](datalinks.api#datalinks.api.AsyncDataLinksAPI.add_link)
    * [`AsyncDataLinksAPI.preview_links()`](datalinks.api#datalinks.api.AsyncDataLinksAPI.preview_links)
    * [`AsyncDataLinksAPI.rebuild_links()`](datalinks.api#datalinks.api.AsyncDataLinksAPI.rebuild_links)
    * [`AsyncDataLinksAPI.load_links()`](datalinks.api#datalinks.api.AsyncDataLinksAPI.load_links)
    * [`AsyncDataLinksAPI.list_datasets()`](datalinks.api#datalinks.api.AsyncDataLinksAPI.list_datasets)
    * [`AsyncDataLinksAPI.list_namespaces()`](datalinks.api#datalinks.api.AsyncDataLinksAPI.list_namespaces)
    * [`AsyncDataLinksAPI.list_all_datasets_schema()`](datalinks.api#datalinks.api.AsyncDataLinksAPI.list_all_datasets_schema)
    * [`AsyncDataLinksAPI.list_datasets_in_namespace_schema()`](datalinks.api#datalinks.api.AsyncDataLinksAPI.list_datasets_in_namespace_schema)
    * [`AsyncDataLinksAPI.query_data()`](datalinks.api#datalinks.api.AsyncDataLinksAPI.query_data)
    * [`AsyncDataLinksAPI.autorag()`](datalinks.api#datalinks.api.AsyncDataLinksAPI.autorag)
    * [`AsyncDataLinksAPI.ask()`](datalinks.api#datalinks.api.AsyncDataLinksAPI.ask)
    * [`AsyncDataLinksAPI.preview_ingest()`](datalinks.api#datalinks.api.AsyncDataLinksAPI.preview_ingest)
    * [`AsyncDataLinksAPI.infer_schema()`](datalinks.api#datalinks.api.AsyncDataLinksAPI.infer_schema)
    * [`AsyncDataLinksAPI.retry_ingestion()`](datalinks.api#datalinks.api.AsyncDataLinksAPI.retry_ingestion)
    * [`AsyncDataLinksAPI.mark_ingestion_seen()`](datalinks.api#datalinks.api.AsyncDataLinksAPI.mark_ingestion_seen)
    * [`AsyncDataLinksAPI.request_cleaning()`](datalinks.api#datalinks.api.AsyncDataLinksAPI.request_cleaning)
    * [`AsyncDataLinksAPI.get_cleaning_code()`](datalinks.api#datalinks.api.AsyncDataLinksAPI.get_cleaning_code)
    * [`AsyncDataLinksAPI.get_ontology()`](datalinks.api#datalinks.api.AsyncDataLinksAPI.get_ontology)
    * [`AsyncDataLinksAPI.save_ontology()`](datalinks.api#datalinks.api.AsyncDataLinksAPI.save_ontology)
    * [`AsyncDataLinksAPI.curate_links()`](datalinks.api#datalinks.api.AsyncDataLinksAPI.curate_links)
    * [`AsyncDataLinksAPI.list_tokens()`](datalinks.api#datalinks.api.AsyncDataLinksAPI.list_tokens)
    * [`AsyncDataLinksAPI.add_token()`](datalinks.api#datalinks.api.AsyncDataLinksAPI.add_token)
    * [`AsyncDataLinksAPI.delete_token()`](datalinks.api#datalinks.api.AsyncDataLinksAPI.delete_token)
    * [`AsyncDataLinksAPI.list_token_permissions()`](datalinks.api#datalinks.api.AsyncDataLinksAPI.list_token_permissions)
    * [`AsyncDataLinksAPI.get_usage_history()`](datalinks.api#datalinks.api.AsyncDataLinksAPI.get_usage_history)
    * [`AsyncDataLinksAPI.get_usage_by_day()`](datalinks.api#datalinks.api.AsyncDataLinksAPI.get_usage_by_day)
    * [`AsyncDataLinksAPI.get_agent_run_status()`](datalinks.api#datalinks.api.AsyncDataLinksAPI.get_agent_run_status)
    * [`AsyncDataLinksAPI.delete_agent_run()`](datalinks.api#datalinks.api.AsyncDataLinksAPI.delete_agent_run)
    * [`AsyncDataLinksAPI.resume_agent_run()`](datalinks.api#datalinks.api.AsyncDataLinksAPI.resume_agent_run)
    * [`AsyncDataLinksAPI.list_conversations()`](datalinks.api#datalinks.api.AsyncDataLinksAPI.list_conversations)
    * [`AsyncDataLinksAPI.get_conversation()`](datalinks.api#datalinks.api.AsyncDataLinksAPI.get_conversation)
  * [`DataLinksRequestError`](datalinks.api#datalinks.api.DataLinksRequestError)
  * [`DLConfig`](datalinks.api#datalinks.api.DLConfig)
    * [`DLConfig.host`](datalinks.api#datalinks.api.DLConfig.host)
    * [`DLConfig.apikey`](datalinks.api#datalinks.api.DLConfig.apikey)
    * [`DLConfig.namespace`](datalinks.api#datalinks.api.DLConfig.namespace)
    * [`DLConfig.objectname`](datalinks.api#datalinks.api.DLConfig.objectname)
    * [`DLConfig.from_env()`](datalinks.api#datalinks.api.DLConfig.from_env)
  * [`AskEvent`](datalinks.api#datalinks.api.AskEvent)
    * [`AskEvent.type`](datalinks.api#datalinks.api.AskEvent.type)
    * [`AskEvent.data`](datalinks.api#datalinks.api.AskEvent.data)
  * [`IngestionResult`](datalinks.api#datalinks.api.IngestionResult)
    * [`IngestionResult.successful`](datalinks.api#datalinks.api.IngestionResult.successful)
    * [`IngestionResult.failed`](datalinks.api#datalinks.api.IngestionResult.failed)
  * [`IngestProxyAPI`](datalinks.api#datalinks.api.IngestProxyAPI)
    * [`IngestProxyAPI.run_pipeline()`](datalinks.api#datalinks.api.IngestProxyAPI.run_pipeline)
    * [`IngestProxyAPI.stream_pipeline()`](datalinks.api#datalinks.api.IngestProxyAPI.stream_pipeline)
    * [`IngestProxyAPI.get_pipeline_trace()`](datalinks.api#datalinks.api.IngestProxyAPI.get_pipeline_trace)
    * [`IngestProxyAPI.resume_pipeline_hook()`](datalinks.api#datalinks.api.IngestProxyAPI.resume_pipeline_hook)
  * [`IngestProxyConfig`](datalinks.api#datalinks.api.IngestProxyConfig)
    * [`IngestProxyConfig.host`](datalinks.api#datalinks.api.IngestProxyConfig.host)
    * [`IngestProxyConfig.datalinks_token`](datalinks.api#datalinks.api.IngestProxyConfig.datalinks_token)
    * [`IngestProxyConfig.datalinks_username`](datalinks.api#datalinks.api.IngestProxyConfig.datalinks_username)
    * [`IngestProxyConfig.namespace`](datalinks.api#datalinks.api.IngestProxyConfig.namespace)
    * [`IngestProxyConfig.from_env()`](datalinks.api#datalinks.api.IngestProxyConfig.from_env)
  * [`PipelineRun`](datalinks.api#datalinks.api.PipelineRun)
    * [`PipelineRun.close()`](datalinks.api#datalinks.api.PipelineRun.close)
  * [Submodules](datalinks.api#submodules)
  * [datalinks.api.async\_datalinks module](datalinks.api#module-datalinks.api.async_datalinks)
    * [`AsyncDataLinksAPI`](datalinks.api#datalinks.api.async_datalinks.AsyncDataLinksAPI)
      * [`AsyncDataLinksAPI.aclose()`](datalinks.api#datalinks.api.async_datalinks.AsyncDataLinksAPI.aclose)
      * [`AsyncDataLinksAPI.ingest()`](datalinks.api#datalinks.api.async_datalinks.AsyncDataLinksAPI.ingest)
      * [`AsyncDataLinksAPI.create_space()`](datalinks.api#datalinks.api.async_datalinks.AsyncDataLinksAPI.create_space)
      * [`AsyncDataLinksAPI.update_infer_definition()`](datalinks.api#datalinks.api.async_datalinks.AsyncDataLinksAPI.update_infer_definition)
      * [`AsyncDataLinksAPI.infer_dataset_description()`](datalinks.api#datalinks.api.async_datalinks.AsyncDataLinksAPI.infer_dataset_description)
      * [`AsyncDataLinksAPI.update_sort_order()`](datalinks.api#datalinks.api.async_datalinks.AsyncDataLinksAPI.update_sort_order)
      * [`AsyncDataLinksAPI.prepare_multipart_upload()`](datalinks.api#datalinks.api.async_datalinks.AsyncDataLinksAPI.prepare_multipart_upload)
      * [`AsyncDataLinksAPI.finish_multipart_upload()`](datalinks.api#datalinks.api.async_datalinks.AsyncDataLinksAPI.finish_multipart_upload)
      * [`AsyncDataLinksAPI.abort_multipart_upload()`](datalinks.api#datalinks.api.async_datalinks.AsyncDataLinksAPI.abort_multipart_upload)
      * [`AsyncDataLinksAPI.list_ingestions()`](datalinks.api#datalinks.api.async_datalinks.AsyncDataLinksAPI.list_ingestions)
      * [`AsyncDataLinksAPI.wait_for_ingestion()`](datalinks.api#datalinks.api.async_datalinks.AsyncDataLinksAPI.wait_for_ingestion)
      * [`AsyncDataLinksAPI.get_dataset_info()`](datalinks.api#datalinks.api.async_datalinks.AsyncDataLinksAPI.get_dataset_info)
      * [`AsyncDataLinksAPI.delete_dataset()`](datalinks.api#datalinks.api.async_datalinks.AsyncDataLinksAPI.delete_dataset)
      * [`AsyncDataLinksAPI.rename_dataset()`](datalinks.api#datalinks.api.async_datalinks.AsyncDataLinksAPI.rename_dataset)
      * [`AsyncDataLinksAPI.rename_namespace()`](datalinks.api#datalinks.api.async_datalinks.AsyncDataLinksAPI.rename_namespace)
      * [`AsyncDataLinksAPI.clear_dataset()`](datalinks.api#datalinks.api.async_datalinks.AsyncDataLinksAPI.clear_dataset)
      * [`AsyncDataLinksAPI.add_link()`](datalinks.api#datalinks.api.async_datalinks.AsyncDataLinksAPI.add_link)
      * [`AsyncDataLinksAPI.preview_links()`](datalinks.api#datalinks.api.async_datalinks.AsyncDataLinksAPI.preview_links)
      * [`AsyncDataLinksAPI.rebuild_links()`](datalinks.api#datalinks.api.async_datalinks.AsyncDataLinksAPI.rebuild_links)
      * [`AsyncDataLinksAPI.load_links()`](datalinks.api#datalinks.api.async_datalinks.AsyncDataLinksAPI.load_links)
      * [`AsyncDataLinksAPI.list_datasets()`](datalinks.api#datalinks.api.async_datalinks.AsyncDataLinksAPI.list_datasets)
      * [`AsyncDataLinksAPI.list_namespaces()`](datalinks.api#datalinks.api.async_datalinks.AsyncDataLinksAPI.list_namespaces)
      * [`AsyncDataLinksAPI.list_all_datasets_schema()`](datalinks.api#datalinks.api.async_datalinks.AsyncDataLinksAPI.list_all_datasets_schema)
      * [`AsyncDataLinksAPI.list_datasets_in_namespace_schema()`](datalinks.api#datalinks.api.async_datalinks.AsyncDataLinksAPI.list_datasets_in_namespace_schema)
      * [`AsyncDataLinksAPI.query_data()`](datalinks.api#datalinks.api.async_datalinks.AsyncDataLinksAPI.query_data)
      * [`AsyncDataLinksAPI.autorag()`](datalinks.api#datalinks.api.async_datalinks.AsyncDataLinksAPI.autorag)
      * [`AsyncDataLinksAPI.ask()`](datalinks.api#datalinks.api.async_datalinks.AsyncDataLinksAPI.ask)
      * [`AsyncDataLinksAPI.preview_ingest()`](datalinks.api#datalinks.api.async_datalinks.AsyncDataLinksAPI.preview_ingest)
      * [`AsyncDataLinksAPI.infer_schema()`](datalinks.api#datalinks.api.async_datalinks.AsyncDataLinksAPI.infer_schema)
      * [`AsyncDataLinksAPI.retry_ingestion()`](datalinks.api#datalinks.api.async_datalinks.AsyncDataLinksAPI.retry_ingestion)
      * [`AsyncDataLinksAPI.mark_ingestion_seen()`](datalinks.api#datalinks.api.async_datalinks.AsyncDataLinksAPI.mark_ingestion_seen)
      * [`AsyncDataLinksAPI.request_cleaning()`](datalinks.api#datalinks.api.async_datalinks.AsyncDataLinksAPI.request_cleaning)
      * [`AsyncDataLinksAPI.get_cleaning_code()`](datalinks.api#datalinks.api.async_datalinks.AsyncDataLinksAPI.get_cleaning_code)
      * [`AsyncDataLinksAPI.get_ontology()`](datalinks.api#datalinks.api.async_datalinks.AsyncDataLinksAPI.get_ontology)
      * [`AsyncDataLinksAPI.save_ontology()`](datalinks.api#datalinks.api.async_datalinks.AsyncDataLinksAPI.save_ontology)
      * [`AsyncDataLinksAPI.curate_links()`](datalinks.api#datalinks.api.async_datalinks.AsyncDataLinksAPI.curate_links)
      * [`AsyncDataLinksAPI.list_tokens()`](datalinks.api#datalinks.api.async_datalinks.AsyncDataLinksAPI.list_tokens)
      * [`AsyncDataLinksAPI.add_token()`](datalinks.api#datalinks.api.async_datalinks.AsyncDataLinksAPI.add_token)
      * [`AsyncDataLinksAPI.delete_token()`](datalinks.api#datalinks.api.async_datalinks.AsyncDataLinksAPI.delete_token)
      * [`AsyncDataLinksAPI.list_token_permissions()`](datalinks.api#datalinks.api.async_datalinks.AsyncDataLinksAPI.list_token_permissions)
      * [`AsyncDataLinksAPI.get_usage_history()`](datalinks.api#datalinks.api.async_datalinks.AsyncDataLinksAPI.get_usage_history)
      * [`AsyncDataLinksAPI.get_usage_by_day()`](datalinks.api#datalinks.api.async_datalinks.AsyncDataLinksAPI.get_usage_by_day)
      * [`AsyncDataLinksAPI.get_agent_run_status()`](datalinks.api#datalinks.api.async_datalinks.AsyncDataLinksAPI.get_agent_run_status)
      * [`AsyncDataLinksAPI.delete_agent_run()`](datalinks.api#datalinks.api.async_datalinks.AsyncDataLinksAPI.delete_agent_run)
      * [`AsyncDataLinksAPI.resume_agent_run()`](datalinks.api#datalinks.api.async_datalinks.AsyncDataLinksAPI.resume_agent_run)
      * [`AsyncDataLinksAPI.list_conversations()`](datalinks.api#datalinks.api.async_datalinks.AsyncDataLinksAPI.list_conversations)
      * [`AsyncDataLinksAPI.get_conversation()`](datalinks.api#datalinks.api.async_datalinks.AsyncDataLinksAPI.get_conversation)
  * [datalinks.api.datalinks module](datalinks.api#module-datalinks.api.datalinks)
    * [`DLConfig`](datalinks.api#datalinks.api.datalinks.DLConfig)
      * [`DLConfig.host`](datalinks.api#datalinks.api.datalinks.DLConfig.host)
      * [`DLConfig.apikey`](datalinks.api#datalinks.api.datalinks.DLConfig.apikey)
      * [`DLConfig.namespace`](datalinks.api#datalinks.api.datalinks.DLConfig.namespace)
      * [`DLConfig.objectname`](datalinks.api#datalinks.api.datalinks.DLConfig.objectname)
      * [`DLConfig.from_env()`](datalinks.api#datalinks.api.datalinks.DLConfig.from_env)
    * [`AskEvent`](datalinks.api#datalinks.api.datalinks.AskEvent)
      * [`AskEvent.type`](datalinks.api#datalinks.api.datalinks.AskEvent.type)
      * [`AskEvent.data`](datalinks.api#datalinks.api.datalinks.AskEvent.data)
    * [`IngestionResult`](datalinks.api#datalinks.api.datalinks.IngestionResult)
      * [`IngestionResult.successful`](datalinks.api#datalinks.api.datalinks.IngestionResult.successful)
      * [`IngestionResult.failed`](datalinks.api#datalinks.api.datalinks.IngestionResult.failed)
    * [`DataLinksRequestError`](datalinks.api#datalinks.api.datalinks.DataLinksRequestError)
    * [`DataLinksAPI`](datalinks.api#datalinks.api.datalinks.DataLinksAPI)
      * [`DataLinksAPI.config`](datalinks.api#datalinks.api.datalinks.DataLinksAPI.config)
      * [`DataLinksAPI.ingest()`](datalinks.api#datalinks.api.datalinks.DataLinksAPI.ingest)
      * [`DataLinksAPI.create_space()`](datalinks.api#datalinks.api.datalinks.DataLinksAPI.create_space)
      * [`DataLinksAPI.update_infer_definition()`](datalinks.api#datalinks.api.datalinks.DataLinksAPI.update_infer_definition)
      * [`DataLinksAPI.infer_dataset_description()`](datalinks.api#datalinks.api.datalinks.DataLinksAPI.infer_dataset_description)
      * [`DataLinksAPI.update_sort_order()`](datalinks.api#datalinks.api.datalinks.DataLinksAPI.update_sort_order)
      * [`DataLinksAPI.prepare_multipart_upload()`](datalinks.api#datalinks.api.datalinks.DataLinksAPI.prepare_multipart_upload)
      * [`DataLinksAPI.finish_multipart_upload()`](datalinks.api#datalinks.api.datalinks.DataLinksAPI.finish_multipart_upload)
      * [`DataLinksAPI.abort_multipart_upload()`](datalinks.api#datalinks.api.datalinks.DataLinksAPI.abort_multipart_upload)
      * [`DataLinksAPI.list_ingestions()`](datalinks.api#datalinks.api.datalinks.DataLinksAPI.list_ingestions)
      * [`DataLinksAPI.wait_for_ingestion()`](datalinks.api#datalinks.api.datalinks.DataLinksAPI.wait_for_ingestion)
      * [`DataLinksAPI.get_dataset_info()`](datalinks.api#datalinks.api.datalinks.DataLinksAPI.get_dataset_info)
      * [`DataLinksAPI.delete_dataset()`](datalinks.api#datalinks.api.datalinks.DataLinksAPI.delete_dataset)
      * [`DataLinksAPI.rename_dataset()`](datalinks.api#datalinks.api.datalinks.DataLinksAPI.rename_dataset)
      * [`DataLinksAPI.clear_dataset()`](datalinks.api#datalinks.api.datalinks.DataLinksAPI.clear_dataset)
      * [`DataLinksAPI.add_link()`](datalinks.api#datalinks.api.datalinks.DataLinksAPI.add_link)
      * [`DataLinksAPI.preview_links()`](datalinks.api#datalinks.api.datalinks.DataLinksAPI.preview_links)
      * [`DataLinksAPI.rebuild_links()`](datalinks.api#datalinks.api.datalinks.DataLinksAPI.rebuild_links)
      * [`DataLinksAPI.load_links()`](datalinks.api#datalinks.api.datalinks.DataLinksAPI.load_links)
      * [`DataLinksAPI.list_datasets()`](datalinks.api#datalinks.api.datalinks.DataLinksAPI.list_datasets)
      * [`DataLinksAPI.query_data()`](datalinks.api#datalinks.api.datalinks.DataLinksAPI.query_data)
      * [`DataLinksAPI.ask()`](datalinks.api#datalinks.api.datalinks.DataLinksAPI.ask)
      * [`DataLinksAPI.preview_ingest()`](datalinks.api#datalinks.api.datalinks.DataLinksAPI.preview_ingest)
      * [`DataLinksAPI.infer_schema()`](datalinks.api#datalinks.api.datalinks.DataLinksAPI.infer_schema)
      * [`DataLinksAPI.retry_ingestion()`](datalinks.api#datalinks.api.datalinks.DataLinksAPI.retry_ingestion)
      * [`DataLinksAPI.mark_ingestion_seen()`](datalinks.api#datalinks.api.datalinks.DataLinksAPI.mark_ingestion_seen)
      * [`DataLinksAPI.autorag()`](datalinks.api#datalinks.api.datalinks.DataLinksAPI.autorag)
      * [`DataLinksAPI.request_cleaning()`](datalinks.api#datalinks.api.datalinks.DataLinksAPI.request_cleaning)
      * [`DataLinksAPI.get_cleaning_code()`](datalinks.api#datalinks.api.datalinks.DataLinksAPI.get_cleaning_code)
      * [`DataLinksAPI.get_ontology()`](datalinks.api#datalinks.api.datalinks.DataLinksAPI.get_ontology)
      * [`DataLinksAPI.save_ontology()`](datalinks.api#datalinks.api.datalinks.DataLinksAPI.save_ontology)
      * [`DataLinksAPI.curate_links()`](datalinks.api#datalinks.api.datalinks.DataLinksAPI.curate_links)
      * [`DataLinksAPI.rename_namespace()`](datalinks.api#datalinks.api.datalinks.DataLinksAPI.rename_namespace)
      * [`DataLinksAPI.list_namespaces()`](datalinks.api#datalinks.api.datalinks.DataLinksAPI.list_namespaces)
      * [`DataLinksAPI.list_all_datasets_schema()`](datalinks.api#datalinks.api.datalinks.DataLinksAPI.list_all_datasets_schema)
      * [`DataLinksAPI.list_datasets_in_namespace_schema()`](datalinks.api#datalinks.api.datalinks.DataLinksAPI.list_datasets_in_namespace_schema)
      * [`DataLinksAPI.list_tokens()`](datalinks.api#datalinks.api.datalinks.DataLinksAPI.list_tokens)
      * [`DataLinksAPI.add_token()`](datalinks.api#datalinks.api.datalinks.DataLinksAPI.add_token)
      * [`DataLinksAPI.delete_token()`](datalinks.api#datalinks.api.datalinks.DataLinksAPI.delete_token)
      * [`DataLinksAPI.list_token_permissions()`](datalinks.api#datalinks.api.datalinks.DataLinksAPI.list_token_permissions)
      * [`DataLinksAPI.get_usage_history()`](datalinks.api#datalinks.api.datalinks.DataLinksAPI.get_usage_history)
      * [`DataLinksAPI.get_usage_by_day()`](datalinks.api#datalinks.api.datalinks.DataLinksAPI.get_usage_by_day)
      * [`DataLinksAPI.get_agent_run_status()`](datalinks.api#datalinks.api.datalinks.DataLinksAPI.get_agent_run_status)
      * [`DataLinksAPI.delete_agent_run()`](datalinks.api#datalinks.api.datalinks.DataLinksAPI.delete_agent_run)
      * [`DataLinksAPI.resume_agent_run()`](datalinks.api#datalinks.api.datalinks.DataLinksAPI.resume_agent_run)
      * [`DataLinksAPI.list_conversations()`](datalinks.api#datalinks.api.datalinks.DataLinksAPI.list_conversations)
      * [`DataLinksAPI.get_conversation()`](datalinks.api#datalinks.api.datalinks.DataLinksAPI.get_conversation)
  * [datalinks.api.ingest\_proxy module](datalinks.api#module-datalinks.api.ingest_proxy)
    * [`IngestProxyConfig`](datalinks.api#datalinks.api.ingest_proxy.IngestProxyConfig)
      * [`IngestProxyConfig.host`](datalinks.api#datalinks.api.ingest_proxy.IngestProxyConfig.host)
      * [`IngestProxyConfig.datalinks_token`](datalinks.api#datalinks.api.ingest_proxy.IngestProxyConfig.datalinks_token)
      * [`IngestProxyConfig.datalinks_username`](datalinks.api#datalinks.api.ingest_proxy.IngestProxyConfig.datalinks_username)
      * [`IngestProxyConfig.namespace`](datalinks.api#datalinks.api.ingest_proxy.IngestProxyConfig.namespace)
      * [`IngestProxyConfig.from_env()`](datalinks.api#datalinks.api.ingest_proxy.IngestProxyConfig.from_env)
    * [`PipelineRun`](datalinks.api#datalinks.api.ingest_proxy.PipelineRun)
      * [`PipelineRun.close()`](datalinks.api#datalinks.api.ingest_proxy.PipelineRun.close)
    * [`IngestProxyAPI`](datalinks.api#datalinks.api.ingest_proxy.IngestProxyAPI)
      * [`IngestProxyAPI.config`](datalinks.api#datalinks.api.ingest_proxy.IngestProxyAPI.config)
      * [`IngestProxyAPI.run_pipeline()`](datalinks.api#datalinks.api.ingest_proxy.IngestProxyAPI.run_pipeline)
      * [`IngestProxyAPI.stream_pipeline()`](datalinks.api#datalinks.api.ingest_proxy.IngestProxyAPI.stream_pipeline)
      * [`IngestProxyAPI.get_pipeline_trace()`](datalinks.api#datalinks.api.ingest_proxy.IngestProxyAPI.get_pipeline_trace)
      * [`IngestProxyAPI.resume_pipeline_hook()`](datalinks.api#datalinks.api.ingest_proxy.IngestProxyAPI.resume_pipeline_hook)

## Submodules

## datalinks.cli module

### *class* datalinks.cli.StandardCLI(name='datalinks-client', description='Infer and link your data!')

Bases: `object`

Command-Line Interface (CLI) wrapper for customizable argument parsing.

Simplifies the creation and usage of the DataLinks CLI by allowing to
pass a custom callback function for additional arguments specific to an
application. It provides a standard set of CLI arguments while enabling
customization through user-defined groups.

* **Variables:**
  * **name** – The name of the CLI program.
  * **description** – The description of the CLI program.

### datalinks.cli.get\_default\_args()

* **Return type:**
  `Namespace`

## datalinks.links module

### *class* datalinks.links.MatchType(targetColumns=None)

Bases: `object`

The base type for entity resolution operators.

* **Variables:**
  **targetColumns** – A list of column names that are the target for matching. If
  None, all columns are used for entity resolution.

#### targetColumns *: List\[str] | None* *= None*

### *class* datalinks.links.ExactMatch(targetColumns=None, minVariation=None, minDistinct=None)

Bases: [`MatchType`](#datalinks.links.MatchType)

Use this match type to evaluate and configure specific exact matching criteria
for the data values.

* **Variables:**
  * **minVariation** – Minimum allowable variation in the field to check for matches
    (defaults to 0.0).
  * **minDistinct** – Minimum percentage of distinct values in the field to check for matches
    (defaults to 0.0).

#### minVariation *: float | None* *= None*

#### minDistinct *: float | None* *= None*

### *class* datalinks.links.GeoMatch(targetColumns=None, distance=None, distanceUnit=None)

Bases: [`MatchType`](#datalinks.links.MatchType)

use this match type to check for matches in fields that represent geographical
attributes.

* **Variables:**
  * **distance** – The maximum distance value for the geographical match (defaults to 2.0)
  * **distanceUnit** – The unit of measurement for the distance, such as
    kilometers or miles (defaults to ‘kilometers’).

#### distance *: float | None* *= None*

#### distanceUnit *: str | None* *= None*

### *class* datalinks.links.EntityResolutionTypes(value)

Bases: `StrEnum`

Enumerates the various resolution strategies for handling
matching or reconciliation of entity data. Each enumeration value
specifies a particular method or approach used for determining
entity equivalence or correspondence.

* **Variables:**
  * **ExactMatch** – Used when entities are determined to be equivalent
    based on exact value matches without any approximation.
  * **GeoMatch** – Used when entities are matched based on their
    geographical location or proximity.

#### ExactMatch *= 'ExactMatch'*

#### GeoMatch *= 'GeoMatch'*

### *class* datalinks.links.MatchTypeConfig(exact\_match=None, geo\_match=None)

Bases: `object`

Encapsulates configuration related to different types of entity resolution matches.

This class is designed to store, manage, and provide access to various entity resolution
match type configurations, such as ExactMatch and GeoMatch. It maintains internal
state for these match types and also provides access to a consolidated configuration
in dictionary format.

* **Variables:**
  **matchTypes** – A dictionary mapping entity resolution types to their respective match
  configurations (e.g., ExactMatch, GeoMatch).

#### matchTypes *: dict\[[EntityResolutionTypes](#datalinks.links.EntityResolutionTypes), [MatchType](#datalinks.links.MatchType) | None]*

#### *property* config *: Dict\[str, Dict] | None*

## datalinks.loaders module

### *class* datalinks.loaders.Loader(folder)

Bases: `ABC`

Abstract base class for loading resources from a specified folder.
It serves as a template for loading files or other resources
while maintaining consistency across different implementations.

* **Variables:**
  **folder** – Path to the folder from which resources will be loaded.

#### *abstractmethod* load\_from\_folder()

### *class* datalinks.loaders.JSONLoader(folder)

Bases: [`Loader`](#datalinks.loaders.Loader)

A loader for processing JSON files in a specified folder.

Iterates through all .json files within a given folder,
parses their content, and processes each JSON object into
a standardized format using the load\_item method.

* **Variables:**
  **folder** – Path to the folder containing JSON files. All .json files
  in this folder will be processed.

#### load\_from\_folder()

* **Return type:**
  `List`\[`Dict`\[`str`, `str`]]

#### *abstractmethod* load\_item(row)

* **Return type:**
  `Dict`\[`str`, `str`]

## datalinks.pipeline module

### *class* datalinks.pipeline.StepTypes(value)

Bases: `Enum`

Represents different types of processing steps for data manipulation.

This class enumerates various distinct processing types that can be
used in DataLinks workflows. Each enumeration value signifies a specific
stage in the broader data-processing pipeline.

#### TABLE *= 'table'*

#### ROWS *= 'rows'*

#### NORMALIZE *= 'normalise'*

#### VALIDATE *= 'validate'*

#### REVERSE\_GEO *= 'reverseGeo'*

### *class* datalinks.pipeline.NormalizeModes(value)

Bases: `Enum`

Enumeration for normalization modes.

This class represents different modes of data normalization
used in the ‘normalize’ step. It provides three options
for normalization: ‘embeddings’ for embedding-level normalization,
‘all-in-one’ for holistic normalization, and ‘field-by-field’
for column-wise normalization.

* **Variables:**
  * **EMBEDDINGS** – Mode for normalizing data on an embedding level.
  * **ALL\_IN\_ONE** – Mode for normalizing data holistically, treating
    the entire dataset as a single entity.
  * **FIELD\_BY\_FIELD** – Mode for normalizing data column-by-column,
    focusing on individual fields independently.

#### EMBEDDINGS *= 'embeddings'*

#### ALL\_IN\_ONE *= 'all-in-one'*

#### FIELD\_BY\_FIELD *= 'field-by-field'*

### *class* datalinks.pipeline.ValidateModes(value)

Bases: `Enum`

Enumeration class that defines various validation modes.

This class is designed to specify the modes of operation for the ‘validate’
step. The predefined modes include validation by rows, regular
expressions, and fields.

* **Variables:**
  * **ROWS** – Validation mode that focuses on rows.
  * **REGEX** – Validation mode that utilizes regular expressions.
  * **FIELDS** – Validation mode that focuses on columns.

#### ROWS *= 'rows'*

#### REGEX *= 'regex'*

#### FIELDS *= 'fields'*

### *class* datalinks.pipeline.BaseStep

Bases: `object`

Represents the base step within DataLinks.

This class serves as the foundational step structure for various
implementations. It includes methods to transform its data
representation into a dictionary format, custom-processed with specific
rules for attributes of Enum type. It is primarily designed as a metaclass.

* **Variables:**
  **step\_type** – The type of the step, categorized using StepTypes.

#### step\_type *: ClassVar\[[StepTypes](#datalinks.pipeline.StepTypes)]*

#### to\_dict()

* **Return type:**
  `dict`

### *class* datalinks.pipeline.LlmStep(model, provider)

Bases: [`BaseStep`](#datalinks.pipeline.BaseStep)

Common class for pipeline steps that rely on LLM inference.

* **Variables:**
  * **model** – The name of the model to use in the step.
  * **provider** – The identifier of the provider to be used (ollama, openai, etc)

#### model *: str | None*

#### provider *: str | None*

### *class* datalinks.pipeline.InferenceStep(derive\_from)

Bases: [`BaseStep`](#datalinks.pipeline.BaseStep)

Represents the ‘infer’ step in the DataLinks workflow.

* **Variables:**
  **derive\_from** – The identifier of the source field used in the inference step.

#### derive\_from *: str*

### *class* datalinks.pipeline.ProcessUnstructured(derive\_from, model, provider, helper\_prompt='')

Bases: [`LlmStep`](#datalinks.pipeline.LlmStep), [`InferenceStep`](#datalinks.pipeline.InferenceStep)

Use this step to infer a table from unstructured data.

* **Variables:**
  **helper\_prompt** – A string that stores an optional helper
  prompt or additional guiding context specific to the table
  inference step.

#### step\_type *: ClassVar\[[StepTypes](#datalinks.pipeline.StepTypes)]* *= 'table'*

#### helper\_prompt *: str* *= ''*

### *class* datalinks.pipeline.ProcessStructured(derive\_from)

Bases: [`InferenceStep`](#datalinks.pipeline.InferenceStep)

Use this step to extract data that is already in tabular format (eg.: CSV).

#### step\_type *: ClassVar\[[StepTypes](#datalinks.pipeline.StepTypes)]* *= 'rows'*

### *class* datalinks.pipeline.ReverseGeo(derive\_from)

Bases: [`InferenceStep`](#datalinks.pipeline.InferenceStep)

Use this step to perform reverse geolocation based on the source field.

#### step\_type *: ClassVar\[[StepTypes](#datalinks.pipeline.StepTypes)]* *= 'reverseGeo'*

### *class* datalinks.pipeline.Normalize(model, provider, target\_cols, mode, helper\_prompt='')

Bases: [`LlmStep`](#datalinks.pipeline.LlmStep)

Use this step to attempt normalisation of the extracted column names. Table
inference across different unstructured data blocks may result in different field names
for the same information, hence the need to normalize the column names.

Encapsulates the configuration necessary to perform the ‘normalize’ step.
It specifies the desired target columns, the mode of normalisation, and includes optional
helper prompts to provide further instructions or context.

* **Variables:**
  * **target\_cols** – A mapping of the desired column names to an optional
    description used as context.
  * **mode** – Specifies the normalisation mode to be applied.
  * **helper\_prompt** – Optional helper text or prompt information.

#### step\_type *: ClassVar\[[StepTypes](#datalinks.pipeline.StepTypes)]* *= 'normalise'*

#### target\_cols *: Mapping\[str, str | None]*

#### mode *: [NormalizeModes](#datalinks.pipeline.NormalizeModes)*

#### helper\_prompt *: str* *= ''*

### *class* datalinks.pipeline.Validate(model, provider, mode, columns)

Bases: [`LlmStep`](#datalinks.pipeline.LlmStep)

Use this step to add data validation to the inference pipeline.

* **Variables:**
  * **mode** – Indicates the mode of validation to be applied.
  * **columns** – List containing the column names which are used for validation.

#### step\_type *: ClassVar\[[StepTypes](#datalinks.pipeline.StepTypes)]* *= 'validate'*

#### mode *: [ValidateModes](#datalinks.pipeline.ValidateModes)*

#### columns *: List\[str]*

### *class* datalinks.pipeline.Pipeline(\*steps)

Bases: `object`

Represents a collection of sequential steps. Holds and manages the
sequence of steps used for ingesting and/or enhancing data.

* **Variables:**
  **steps** – A collection of steps to be executed in sequence.

#### to\_list()

* **Return type:**
  `list`\[`dict`\[`str`, `Any`]]
