This is an automated email from the ASF dual-hosted git repository. xuanwo pushed a commit to branch xuanwo/hf-repo-type-datasets in repository https://gitbox.apache.org/repos/asf/opendal.git
commit bdd3d344ea395f331dc69e6bd126f91a183c6512 Author: Xuanwo <[email protected]> AuthorDate: Thu Nov 27 19:24:10 2025 +0800 fix(services/huggingface): Allow users to use datasets as an alias to dataset repo type Signed-off-by: Xuanwo <[email protected]> --- core/src/services/huggingface/backend.rs | 19 ++++++++++++++++++- core/src/services/huggingface/config.rs | 1 + 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/core/src/services/huggingface/backend.rs b/core/src/services/huggingface/backend.rs index 96ab07163..502e97e2a 100644 --- a/core/src/services/huggingface/backend.rs +++ b/core/src/services/huggingface/backend.rs @@ -44,6 +44,7 @@ impl HuggingfaceBuilder { /// Available values: /// - model /// - dataset + /// - datasets (alias for dataset) /// /// Currently, only models and datasets are supported. /// [Reference](https://huggingface.co/docs/hub/repositories) @@ -128,7 +129,7 @@ impl Builder for HuggingfaceBuilder { let repo_type = match self.config.repo_type.as_deref() { Some("model") => Ok(RepoType::Model), - Some("dataset") => Ok(RepoType::Dataset), + Some("dataset") | Some("datasets") => Ok(RepoType::Dataset), Some("space") => Err(Error::new( ErrorKind::ConfigInvalid, "repo type \"space\" is unsupported", @@ -290,3 +291,19 @@ pub enum RepoType { Model, Dataset, } + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn build_accepts_datasets_alias() { + let backend: HuggingfaceBackend = HuggingfaceBuilder::default() + .repo_id("org/repo") + .repo_type("datasets") + .build() + .expect("builder should accept datasets alias"); + + assert!(matches!(backend.core.repo_type, RepoType::Dataset)); + } +} diff --git a/core/src/services/huggingface/config.rs b/core/src/services/huggingface/config.rs index 6b4034bfb..508eb289f 100644 --- a/core/src/services/huggingface/config.rs +++ b/core/src/services/huggingface/config.rs @@ -33,6 +33,7 @@ pub struct HuggingfaceConfig { /// Available values: /// - model /// - dataset + /// - datasets (alias for dataset) pub repo_type: Option<String>, /// Repo id of this backend. ///
