Skip to main content

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}