Registry / data / kedro-datasets

kedro-datasets

JSON →
library9.6.0pypypi✓ verified 23d ago

Kedro-Datasets provides a comprehensive collection of data connectors for Kedro projects, enabling seamless interaction with various data sources and formats like CSV, Parquet, Spark, and cloud storage. It's an active library, typically releasing new features and updates monthly or bi-monthly, ensuring compatibility with the latest data technologies.

pip install kedro-datasets
INSTALL
IMPORT
SIG · KEDRO-DATASETS
K
kedro-datasets
datapythonv9.6.0
Install
Import
Disk
Pass rate
0/ 10
Env Coverage0 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v9.6.0 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
glibc
py 3.10
1/3 runs
2/3 runs
py 3.11
1/3 runs
2/3 runs
py 3.12
1/3 runs
2/3 runs
py 3.13
1/3 runs
2/3 runs
py 3.9
1/3 runs
2/3 runs
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

CSVDataset
from kedro_datasets.pandas.csv_dataset import CSVDataset
from kedro_datasets.pandas import CSVDataset

This quickstart demonstrates how to programmatically initialize, load, and save data using a common dataset type (CSVDataset) from `kedro-datasets`. While `kedro-datasets` is often used within Kedro project configuration (e.g., `catalog.yml`), direct programmatic usage is also fully supported.

import pandas as pd import os from kedro_datasets.pandas import CSVDataset # 1. Create a dummy CSV file data = {"col1": [1, 2, 3], "col2": ["A", "B", "C"]} df = pd.DataFrame(data) filepath = "my_dummy_data.csv" df.to_csv(filepath, index=False) print(f"Created dummy data at: {filepath}\n") # 2. Initialize the CSVDataset csv_dataset = CSVDataset(filepath=filepath, save_args={"index": False}) # 3. Load data loaded_df = csv_dataset.load() print("Loaded DataFrame from CSVDataset:\n") print(loaded_df) # 4. Save new data using the dataset new_data = pd.DataFrame({"col1": [4, 5], "col2": ["D", "E"]}) csv_dataset.save(new_data) print("\nSaved new data to the CSV file.\n") # 5. Verify by loading again reloaded_df = csv_dataset.load() print("Reloaded DataFrame after saving new data:\n") print(reloaded_df) # 6. Clean up the dummy file os.remove(filepath) print(f"\nCleaned up dummy data file: {filepath}")
Debug
Known issues
breakingThe `MatplotlibWriter` dataset was removed in `kedro-datasets` version 9.0.0. Its functionality has been absorbed and replaced by `MatplotlibDataset`.
fix
Migrate any usage of `MatplotlibWriter` to `MatplotlibDataset`.
affects: >=9.0.0
deprecatedThe `overwrite` argument for `ibis.TableDataset` was deprecated in `kedro-datasets` version 9.0.0. It is mapped to the new `mode` argument for backward compatibility but will be removed in a future release.
fix
Replace `overwrite=True/False` with `mode='overwrite'` or `mode='append'` respectively. Supported modes include 'append', 'overwrite', 'error'/'errorifexists', and 'ignore'.
affects: >=9.0.0
gotchaMany `kedro-datasets` rely on optional dependencies (extras). If you install `kedro-datasets` without specifying the necessary extras (e.g., `[pandas]`, `[spark]`, `[s3]`), you will encounter `ModuleNotFoundError` or `ImportError` when trying to use datasets that require them.
fix
Install `kedro-datasets` with the specific extras needed for your datasets, e.g., `pip install kedro-datasets[pandas,spark]`, or `pip install kedro-datasets[all]` for comprehensive coverage.
affects: All versions
gotcha`kedro-datasets` version 9.3.0 introduced compatibility with pandas 3.0. Users on older `kedro-datasets` versions combined with pandas 3.0 might experience unexpected behavior or errors.
fix
Ensure `kedro-datasets` is updated to version 9.3.0 or newer if using pandas 3.0. For older `kedro-datasets` versions, stick to pandas <3.0.
affects: <9.3.0
gotchaNew "experimental" datasets are frequently introduced (e.g., in 9.2.0 and 9.3.0). These datasets are subject to change, including API modifications or even removal, without necessarily being flagged as 'breaking changes' in minor versions.
fix
When using experimental datasets, monitor release notes for potential changes. For production systems, prefer stable, non-experimental datasets or ensure thorough testing with specific experimental versions.
affects: All versions
Upgrade
Version history
9.6.0latest on PyPI · released Aug 7, 2026
Audit
Dependencies
pandasoptionalRequired for pandas-related datasets like CSVDataset, ParquetDataset. Compatibility with pandas 3.0 added in 9.3.0.
pysparkoptionalRequired for Spark-related datasets like SparkDataset, DeltaLakeDataset.
lxmloptionalRequired for XMLDataset, especially for Python 3.13+.
ibis-frameworkoptionalRequired for Ibis-related datasets like TableDataset.
Agent activity
34 hits · last 30 days
node
30
OpenAI (training)
1
Resources
kedro-datasets — pip install kedro-datasets · libregistry