teeny_data/error.rs
1/*
2 * Copyright (c) 2026 Teenygrad.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17/// `teeny-data`'s result alias.
18pub type Result<T> = anyhow::Result<T>;
19
20/// Errors produced by [`crate::dataset::loader::load_csv`]/[`crate::safetensors::SafeTensors`].
21#[derive(thiserror::Error, Debug)]
22pub enum Error {
23 /// Fetching the CSV over HTTP failed.
24 #[error("Failed to download CSV: {0}")]
25 DownloadError(#[from] reqwest::Error),
26
27 /// The response body wasn't valid CSV for the given delimiter.
28 #[error("Failed to parse CSV: {0}")]
29 ParseError(#[from] csv::Error),
30
31 /// Couldn't reshape the parsed rows into an `ndarray::Array2`.
32 #[error("Failed to convert to ndarray: {0}")]
33 ArrayError(#[from] ndarray::ShapeError),
34
35 /// A cell's value failed to parse as the requested element type, or no rows were found.
36 #[error("Failed to parse value: {0}")]
37 ParseValueError(String),
38 // #[error("SafeTensors error: {0}")]
39 // SafeTensorsError(teeny_core::safetensors::SafeTensorsError),
40}