99from huggingface_hub import DatasetCard , DatasetCardData
1010
1111from datasets .config import METADATA_CONFIGS_FIELD
12+ from datasets .features import Features , Value
1213from datasets .info import DatasetInfo
1314from datasets .utils .metadata import MetadataConfigs
1415
@@ -93,6 +94,21 @@ def _dedent(string: str) -> str:
9394"""
9495
9596
97+ README_METADATA_WITH_FEATURES = f"""\
98+ ---
99+ { METADATA_CONFIGS_FIELD } :
100+ - config_name: default
101+ features:
102+ - name: id
103+ dtype: int64
104+ - name: name
105+ dtype: string
106+ - name: score
107+ dtype: float64
108+ ---
109+ """
110+
111+
96112EXPECTED_METADATA_SINGLE_CONFIG = {"custom" : {"data_dir" : "v1" , "drop_labels" : True }}
97113EXPECTED_METADATA_TWO_CONFIGS_DEFAULT_FLAG = {
98114 "v1" : {"data_dir" : "v1" , "drop_labels" : True },
@@ -102,6 +118,13 @@ def _dedent(string: str) -> str:
102118 "custom" : {"data_dir" : "custom" , "drop_labels" : True },
103119 "default" : {"data_dir" : "data" , "drop_labels" : False },
104120}
121+ EXPECTED_METADATA_WITH_FEATURES = {
122+ "default" : {
123+ "features" : Features (
124+ {"id" : Value (dtype = "int64" ), "name" : Value (dtype = "string" ), "score" : Value (dtype = "float64" )}
125+ )
126+ }
127+ }
105128
106129
107130@pytest .fixture
@@ -227,6 +250,7 @@ def test_from_yaml_string(self):
227250 (README_METADATA_SINGLE_CONFIG , EXPECTED_METADATA_SINGLE_CONFIG , "custom" ),
228251 (README_METADATA_TWO_CONFIGS_WITH_DEFAULT_FLAG , EXPECTED_METADATA_TWO_CONFIGS_DEFAULT_FLAG , "v2" ),
229252 (README_METADATA_TWO_CONFIGS_WITH_DEFAULT_NAME , EXPECTED_METADATA_TWO_CONFIGS_DEFAULT_NAME , "default" ),
253+ (README_METADATA_WITH_FEATURES , EXPECTED_METADATA_WITH_FEATURES , "default" ),
230254 ],
231255)
232256def test_metadata_configs_dataset_card_data (
0 commit comments