cognee.datasets
Static class for managing datasets and their data.Methods
datasets.list_datasets()
datasets.discover_datasets()
datasets.list_data()
Data records in a dataset.
This is the API to use when you want to read back DataItem fields stored during cognee.add(), such as label and external_metadata.
datasets.has_data()
datasets.get_status()
pipeline_names is omitted, this method keeps the legacy flat shape and returns the status of cognify_pipeline only.
With no
pipeline_names or a single pipeline name, the method returns {str(dataset_id): PipelineRunStatus}.
With multiple pipeline names, it returns {str(dataset_id): {pipeline_name: PipelineRunStatus}}.
Possible values:
Datasets with no recorded run for the requested pipeline are absent from the result.
Troubleshooting UUID errors
Troubleshooting UUID errors
get_status() expects dataset_ids to be a list of dataset UUIDs, not dataset names or string ids. Internally the values are bound against the pipeline_runs.dataset_id UUID column, so passing a plain string raises a SQLAlchemy StatementError wrapping one of:AttributeError: 'str' object has no attribute 'hex'ValueError: badly formed hexadecimal UUID string
UUID before calling:datasets.empty_dataset()
Notes
Notes
Despite the name,
empty_dataset() does not leave an empty dataset record behind. It deletes graph content, data records, and the dataset entity itself.datasets.delete_data()
Notes
Notes
datasets.delete_all()
Examples
Basic dataset operations
Basic dataset operations
Poll for indexing completion across parallel datasets
Poll for indexing completion across parallel datasets
Use The same pattern works when indexing is triggered via the HTTP API — poll
get_status() in a wait loop to confirm all datasets in a parallel batch have finished indexing before querying.get_status() from a separate process until all datasets reach DATASET_PROCESSING_COMPLETED or DATASET_PROCESSING_ERRORED.Read back DataItem metadata
Read back DataItem metadata
external_metadata is stored on the relational Data record only. It is not placed into the vector store or knowledge graph and is not returned by cognee.search(). If you need metadata to be vector-searchable, define a custom DataPoint subclass and list the fields to embed in metadata.index_fields. See DataPoints.