Repository: kedro-org/kedro

Issue:
Make Kedro not instantiate datasets from `kedro.extras.datasets`
### Description
From `0.19.0` Kedro templates/starters will just use datasets from `kedro-datasets` directly and not refer to `kedro.extras.datasets` anymore


Discussion:

Resolving patch:
diff --git a/docs/source/conf.py b/docs/source/conf.py
--- a/docs/source/conf.py
+++ b/docs/source/conf.py
@@ -136,7 +136,6 @@
         "CONF_SOURCE",
         "integer -- return number of occurrences of value",
         "integer -- return first index of value.",
-        "kedro.extras.datasets.pandas.json_dataset.JSONDataSet",
         "kedro_datasets.pandas.json_dataset.JSONDataSet",
         "pluggy._manager.PluginManager",
         "PluginManager",
diff --git a/kedro/io/core.py b/kedro/io/core.py
--- a/kedro/io/core.py
+++ b/kedro/io/core.py
@@ -353,10 +353,7 @@ class Version(namedtuple("Version", ["load", "save"])):
     "intermediate data sets where possible to avoid this warning."
 )
 
-# `kedro_datasets` is probed before `kedro.extras.datasets`,
-# hence the DeprecationWarning will not be shown
-# if the dataset is available in the former
-_DEFAULT_PACKAGES = ["kedro.io.", "kedro_datasets.", "kedro.extras.datasets.", ""]
+_DEFAULT_PACKAGES = ["kedro.io.", "kedro_datasets.", ""]
 
 
 def parse_dataset_definition(
diff --git a/kedro/io/data_catalog.py b/kedro/io/data_catalog.py
--- a/kedro/io/data_catalog.py
+++ b/kedro/io/data_catalog.py
@@ -176,7 +176,7 @@ def __init__(  # noqa: too-many-arguments
         Example:
         ::
 
-            >>> from kedro.extras.datasets.pandas import CSVDataSet
+            >>> from kedro_datasets.pandas import CSVDataSet
             >>>
             >>> cars = CSVDataSet(filepath="cars.csv",
             >>>                   load_args=None,
@@ -486,7 +486,7 @@ def load(self, name: str, version: str = None) -> Any:
         ::
 
             >>> from kedro.io import DataCatalog
-            >>> from kedro.extras.datasets.pandas import CSVDataSet
+            >>> from kedro_datasets.pandas import CSVDataSet
             >>>
             >>> cars = CSVDataSet(filepath="cars.csv",
             >>>                   load_args=None,
@@ -526,7 +526,7 @@ def save(self, name: str, data: Any) -> None:
 
             >>> import pandas as pd
             >>>
-            >>> from kedro.extras.datasets.pandas import CSVDataSet
+            >>> from kedro_datasets.pandas import CSVDataSet
             >>>
             >>> cars = CSVDataSet(filepath="cars.csv",
             >>>                   load_args=None,
@@ -600,7 +600,7 @@ def add(
         Example:
         ::
 
-            >>> from kedro.extras.datasets.pandas import CSVDataSet
+            >>> from kedro_datasets.pandas import CSVDataSet
             >>>
             >>> io = DataCatalog(data_sets={
             >>>                   'cars': CSVDataSet(filepath="cars.csv")
@@ -636,7 +636,7 @@ def add_all(
         Example:
         ::
 
-            >>> from kedro.extras.datasets.pandas import CSVDataSet, ParquetDataSet
+            >>> from kedro_datasets.pandas import CSVDataSet, ParquetDataSet
             >>>
             >>> io = DataCatalog(data_sets={
             >>>                   "cars": CSVDataSet(filepath="cars.csv")


Test patch:
diff --git a/features/steps/test_starter/{{ cookiecutter.repo_name }}/src/requirements.txt b/features/steps/test_starter/{{ cookiecutter.repo_name }}/src/requirements.txt
--- a/features/steps/test_starter/{{ cookiecutter.repo_name }}/src/requirements.txt	
+++ b/features/steps/test_starter/{{ cookiecutter.repo_name }}/src/requirements.txt	
@@ -4,7 +4,8 @@ ipython~=8.10; python_version >= '3.8'
 jupyter~=1.0
 jupyterlab_server>=2.11.1, <2.16.0
 jupyterlab~=3.0, <3.6.0
-kedro[pandas.CSVDataSet]=={{ cookiecutter.kedro_version }}
+kedro~={{ cookiecutter.kedro_version}}
+kedro-datasets[pandas.CSVDataSet]
 kedro-telemetry~=0.2.0
 pytest-cov~=3.0
 pytest-mock>=1.7.1, <2.0