use burn_p2p_core::{DatasetManifest, DatasetView};
use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub enum UpstreamAdapter {
Hf {
dataset: String,
config: Option<String>,
split: String,
streaming: bool,
num_shards: Option<u32>,
},
Http {
base_url: String,
},
Local {
root: String,
},
S3 {
bucket: String,
prefix: String,
},
Private {
scheme: String,
locator: String,
},
}
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub struct DatasetRegistration {
pub manifest: DatasetManifest,
pub view: DatasetView,
pub upstream: UpstreamAdapter,
}
#[derive(Clone, Debug, Default, PartialEq, Eq, Serialize, Deserialize)]
pub struct DatasetSizing {
pub total_examples: u64,
pub total_tokens: u64,
pub total_bytes: u64,
}