detect more modalities
Currently, we only detect and report "audio", "image" and "text".

Ideally, we would have: 

<img width="318" alt="Capture d’écran 2024-06-11 à 16 07 20" src="https://github.com/huggingface/dataset-viewer/assets/1676121/1a21dfff-5c78-45bd-8baf-de1f4b203b6a">


See https://github.com/huggingface/moon-landing/pull/9352#discussion_r1634909052 (internal)

---

TODO:

- [x] text
- [x] image
- [x] audio
- [ ] video: detect extensions in the repo files: mp4, avi, mkv, etc.
- [ ] 3d: detect extensions in the repo files: ply, glb, gltf, etc.
- [ ] tabular <- I'm not sure what it means. Only numbers? 
- [ ] geospatial. Let's include both raster (e.g., satellite images) and vector (e.g. latitude/longitud points) even if they have few things in common and are generally in different datasets. Several strategies: extensions (geojson, geoparquet, geotiff, etc), column types (see geoarrow), column names? (longitude, latitude, geom), column contents (see wkt/wkb - but I don't think we want to look inside the data itself)
- [ ] time-series: columns with type `Sequence(Value(float32))` which are not embeddings (filter against the column name: `emb`?)

---

Currently, we only check the features given by the datasets library (`dataset-info` step).

For the strategy based on looking at the file extensions, it's a bit imprecise (eg: if the YAML contains `data_files: data.csv` and the repo also contains a video, the dataset will be marked as video, while the video is ignored). We can bear with it for now, I think.
Should we also detect repos that contain images or audio files but are not supported by the datasets library / the viewer?

detect more modalities: Currently, we only detect and report "audio", "image" and "text".

Ideally, we would have: 

<img width="318" alt="Capture d’écran 2024-06-11 à 16 07 20" src="https://github.com/huggingface/dataset-viewer/assets/1676121/1a21dfff-5c78-45bd-8baf-de1f4b203b6a">


See https://github.com/huggingface/moon-landing/pull/9352#discussion_r1634909052 (internal)

---

TODO:

- [x] text
- [x] image
- [x] audio
- [ ] video: detect extensions in the repo files: mp4, avi, mkv, etc.
- [ ] 3d: detect extensions in the repo files: ply, glb, gltf, etc.
- [ ] tabular <- I'm not sure what it means. Only numbers? 
- [ ] geospatial. Let's include both raster (e.g., satellite images) and vector (e.g. latitude/longitud points) even if they have few things in common and are generally in different datasets. Several strategies: extensions (geojson, geoparquet, geotiff, etc), column types (see geoarrow), column names? (longitude, latitude, geom), column contents (see wkt/wkb - but I don't think we want to look inside the data itself)
- [ ] time-series: columns with type `Sequence(Value(float32))` which are not embeddings (filter against the column name: `emb`?)

---

Currently, we only check the features given by the datasets library (`dataset-info` step).

For the strategy based on looking at the file extensions, it's a bit imprecise (eg: if the YAML contains `data_files: data.csv` and the repo also contains a video, the dataset will be marked as video, while the video is ignored). We can bear with it for now, I think.
Should we also detect repos that contain images or audio files but are not supported by the datasets library / the viewer?
