# Datasets and files

Upload files, monitor ingestion, and work with dataset channels and exports.

## API Reference

Import from `nominal.core`.

Classes

| [`Dataset`](https://dev.nominal.io/python/ref/generated/nominal.core.Dataset.md#nominal.core.Dataset "nominal.core.Dataset") | A collection of channels populated by uploaded files and streamed data. |
| --- | --- |
| [`DatasetFile`](https://dev.nominal.io/python/ref/generated/nominal.core.DatasetFile.md#nominal.core.DatasetFile "nominal.core.DatasetFile") | An uploaded dataset file and its ingestion status and time bounds. |
| [`FileType`](https://dev.nominal.io/python/ref/generated/nominal.core.FileType.md#nominal.core.FileType "nominal.core.FileType") | Default upload extension and MIME type. |
| [`FileTypes`](https://dev.nominal.io/python/ref/generated/nominal.core.FileTypes.md#nominal.core.FileTypes "nominal.core.FileTypes") | Named file-type presets for SDK uploads. |
| [`IngestionJob`](https://dev.nominal.io/python/ref/generated/nominal.core.IngestionJob.md#nominal.core.IngestionJob "nominal.core.IngestionJob") | A trackable record of one ingestion request moving through the async pipeline. |
| [`VideoDatasetFile`](https://dev.nominal.io/python/ref/generated/nominal.core.VideoDatasetFile.md#nominal.core.VideoDatasetFile "nominal.core.VideoDatasetFile") | A video file stored as a dataset channel. |

Enumerations

| [`IngestionJobStatus`](https://dev.nominal.io/python/ref/generated/nominal.core.IngestionJobStatus.md#nominal.core.IngestionJobStatus "nominal.core.IngestionJobStatus") | Lifecycle status of an ingest job. |
| --- | --- |
| [`IngestType`](https://dev.nominal.io/python/ref/generated/nominal.core.IngestType.md#nominal.core.IngestType "nominal.core.IngestType") | The kind of data an ingest job ingests. |
| [`IngestWaitType`](https://dev.nominal.io/python/ref/generated/nominal.core.IngestWaitType.md#nominal.core.IngestWaitType "nominal.core.IngestWaitType") | The completion condition for [`wait_for_files_to_ingest`](https://dev.nominal.io/python/ref/generated/nominal.core.wait_for_files_to_ingest.md#nominal.core.wait_for_files_to_ingest "nominal.core.wait_for_files_to_ingest"). |

Functions

| [`as_files_ingested`](https://dev.nominal.io/python/ref/generated/nominal.core.as_files_ingested.md#nominal.core.as_files_ingested "nominal.core.as_files_ingested") | Iterates over DatasetFiles as they complete their ingestion in a similar fashion to [`concurrent.futures.as_completed`](https://docs.python.org/3/library/concurrent.futures.html#concurrent.futures.as_completed "(in Python v3.15)"). |
| --- | --- |
| [`wait_for_files_to_ingest`](https://dev.nominal.io/python/ref/generated/nominal.core.wait_for_files_to_ingest.md#nominal.core.wait_for_files_to_ingest "nominal.core.wait_for_files_to_ingest") | Blocks until all of the dataset files have completed their ingestion (or other specified conditions) in a similar fashion to [`concurrent.futures.wait`](https://docs.python.org/3/library/concurrent.futures.html#concurrent.futures.wait "(in Python v3.15)"). |
