Modalities — Ingesters & Preprocessors¶
API reference for the data modality components: HuggingFaceIngester, KaggleIngester, OpenMLIngester, TimeSeriesIngester, WindowTransformer, ImageIngester, TextIngester, GraphIngester, GraphStateEncoder, and the NumpyIngester/CSVIngester extensions for sparse data and multi-label support.
HuggingFaceIngester¶
quprep.ingest.huggingface_ingester.HuggingFaceIngester(split='train', modality='auto', target_columns=None, numeric_only=True, image_column=None, image_size=(28, 28), grayscale=True, normalize=True, text_column=None, text_method='tfidf', max_features=512, text_model='all-MiniLM-L6-v2', edge_index_column='edge_index', node_feature_column='x', n_graph_features=None, token=None)
¶
Load a HuggingFace dataset into a Dataset.
Automatically detects the dataset modality (tabular, image, text) from the
HuggingFace feature schema. Pass modality explicitly to override
detection or to load graph datasets.
Requires pip install quprep[huggingface].
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
split
|
str
|
Dataset split to load (e.g. |
'train'
|
modality
|
str
|
One of |
'auto'
|
target_columns
|
str or list of str
|
Column(s) to treat as labels. Works for all modalities. |
None
|
numeric_only
|
bool
|
Tabular only. Drop non-numeric columns (default |
True
|
image_column
|
str
|
Image column name. Auto-detected when |
None
|
image_size
|
tuple of (int, int)
|
|
(28, 28)
|
grayscale
|
bool
|
Convert images to grayscale (default |
True
|
normalize
|
bool
|
Divide pixel values by 255 (default |
True
|
text_column
|
str
|
Text column name. Auto-detected when |
None
|
text_method
|
str
|
|
'tfidf'
|
max_features
|
int or None
|
Max TF-IDF vocabulary size (default 512). |
512
|
text_model
|
str
|
sentence-transformers model name. Default |
'all-MiniLM-L6-v2'
|
edge_index_column
|
str
|
Graph only. Column containing edge indices in COO format |
'edge_index'
|
node_feature_column
|
str
|
Graph only. Column containing node feature matrix. Default |
'x'
|
n_graph_features
|
int or None
|
Pad/truncate graph feature vectors to this length. Default: auto. |
None
|
token
|
str or bool
|
HuggingFace auth token for gated datasets. |
None
|
Examples:
Tabular (auto-detected)::
ds = HuggingFaceIngester(split="train", target_columns="label").load(
"imodels/credit-card"
)
Image (auto-detected from HF feature schema)::
ds = HuggingFaceIngester(
split="train", target_columns="label", image_size=(28, 28)
).load("ylecun/mnist")
Text (auto-detected)::
ds = HuggingFaceIngester(
split="train", target_columns="label", text_method="tfidf"
).load("imdb")
Graph (explicit)::
ds = HuggingFaceIngester(
modality="graph", split="train", target_columns="y"
).load("graphs-datasets/ogbg-molhiv")
Source code in quprep/ingest/huggingface_ingester.py
Functions¶
load(dataset_name, config_name=None)
¶
Load a HuggingFace dataset by name.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
dataset_name
|
str
|
HuggingFace dataset identifier, e.g. |
required |
config_name
|
str
|
Dataset configuration/subset name. E.g. |
None
|
Returns:
| Type | Description |
|---|---|
Dataset
|
|
Raises:
| Type | Description |
|---|---|
ImportError
|
If |
NotImplementedError
|
If the dataset contains a modality QuPrep does not yet support (e.g. audio, video). |
ValueError
|
If no usable columns remain after filtering. |
Source code in quprep/ingest/huggingface_ingester.py
KaggleIngester¶
quprep.ingest.kaggle_ingester.KaggleIngester(target_columns=None, numeric_only=True, file_name=None, force=False)
¶
Load a Kaggle dataset or competition file into a Dataset.
Requires pip install quprep[kaggle] and a Kaggle API token stored at
~/.kaggle/kaggle.json (or set via the KAGGLE_USERNAME /
KAGGLE_KEY environment variables).
The ingester downloads the dataset to a temporary directory, finds the
first (or specified) CSV file, and ingests it exactly like
:class:~quprep.ingest.csv_ingester.CSVIngester.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
target_columns
|
str or list of str
|
Column name(s) to treat as labels rather than features. |
None
|
numeric_only
|
bool
|
If |
True
|
file_name
|
str
|
Specific file to download from the dataset (e.g. |
None
|
force
|
bool
|
Re-download even if the file already exists locally. Default |
False
|
Examples:
Dataset (owner/name format)::
from quprep.ingest.kaggle_ingester import KaggleIngester
ds = KaggleIngester(target_columns="label").load("heptapod/titanic")
Competition data::
ds = KaggleIngester(file_name="train.csv").load_competition("titanic")
Specific file::
ds = KaggleIngester(file_name="test.csv").load("owner/dataset-name")
Source code in quprep/ingest/kaggle_ingester.py
Functions¶
load(dataset)
¶
Download and load a Kaggle dataset.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
dataset
|
str
|
Kaggle dataset identifier in |
required |
Returns:
| Type | Description |
|---|---|
Dataset
|
|
Raises:
| Type | Description |
|---|---|
ImportError
|
If |
FileNotFoundError
|
If no CSV file is found in the downloaded dataset. |
ValueError
|
If no numeric columns remain after filtering. |
Source code in quprep/ingest/kaggle_ingester.py
load_competition(competition)
¶
Download and load a Kaggle competition data file.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
competition
|
str
|
Competition identifier, e.g. |
required |
Returns:
| Type | Description |
|---|---|
Dataset
|
|
Raises:
| Type | Description |
|---|---|
ImportError
|
If |
FileNotFoundError
|
If no CSV file is found in the downloaded competition data. |
ValueError
|
If no numeric columns remain after filtering. |
Source code in quprep/ingest/kaggle_ingester.py
OpenMLIngester¶
quprep.ingest.openml_ingester.OpenMLIngester(target_column=None, numeric_only=True, version=None, cache_format='pickle')
¶
Load an OpenML dataset into a Dataset.
Requires pip install quprep[openml].
OpenML datasets are identified by an integer task/dataset ID or by name.
The ingester calls :func:openml.datasets.get_dataset and uses
:meth:~openml.datasets.OpenMLDataset.get_data to retrieve a pandas
DataFrame, then processes it the same way as
:class:~quprep.ingest.csv_ingester.CSVIngester.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
target_column
|
str or None
|
Name of the target / label column. When |
None
|
numeric_only
|
bool
|
If |
True
|
version
|
int or None
|
Specific dataset version to load. |
None
|
cache_format
|
str
|
Cache format for the downloaded dataset files. |
'pickle'
|
Examples:
By dataset ID::
from quprep.ingest.openml_ingester import OpenMLIngester
ds = OpenMLIngester(target_column="class").load(61) # iris
By dataset name::
ds = OpenMLIngester(target_column="class").load("iris")
No target (unsupervised)::
ds = OpenMLIngester().load(554) # MNIST_784
Full pipeline::
import quprep as qd
result = qd.Pipeline(encoder=qd.AngleEncoder()).fit_transform(
qd.OpenMLIngester(target_column="class").load("iris")
)
Source code in quprep/ingest/openml_ingester.py
Functions¶
load(dataset_id)
¶
Load an OpenML dataset by ID or name.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
dataset_id
|
int or str
|
OpenML dataset ID (e.g. |
required |
Returns:
| Type | Description |
|---|---|
Dataset
|
|
Raises:
| Type | Description |
|---|---|
ImportError
|
If |
ValueError
|
If no numeric columns remain after filtering, or the dataset cannot be found. |
Source code in quprep/ingest/openml_ingester.py
77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 | |
GraphIngester¶
quprep.ingest.graph_ingester.GraphIngester(features='all', n_features=None)
¶
Convert graph data into a Dataset of feature vectors (lossy path).
Extracts a fixed-size feature vector from each graph so that existing encoders (AngleEncoder, AmplitudeEncoder, etc.) can be applied without modification. Features are drawn from the graph's Laplacian spectrum and degree sequence — both are proven to carry structural information relevant to graph classification tasks.
For the structure-preserving (lossless) path, use
:class:~quprep.encode.graph_state.GraphStateEncoder directly.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
features
|
str
|
Which features to extract:
|
'all'
|
n_features
|
int or None
|
Pad or truncate the feature vector to exactly this length.
Not supported for |
None
|
Examples:
Lossy path — feature vectors for any standard encoder::
import numpy as np
import quprep as qd
adj = np.array([[0,1,1],[1,0,1],[1,1,0]], dtype=float)
dataset = qd.GraphIngester().load(adj)
Lossless path — full adjacency for GraphStateEncoder::
from quprep.core.pipeline import Pipeline
enc = qd.GraphIngester(features="adjacency")
dataset = enc.load(adj)
result = Pipeline(encoder=qd.GraphStateEncoder()).fit_transform(dataset)
Batch of graphs (lossy)::
import networkx as nx
graphs = [nx.path_graph(5), nx.cycle_graph(6), nx.complete_graph(4)]
dataset = qd.GraphIngester(n_features=8).load(graphs)
print(dataset.data.shape) # (3, 8)
Source code in quprep/ingest/graph_ingester.py
Functions¶
load(source)
¶
Load graph(s) and return a Dataset of feature vectors.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
source
|
np.ndarray, networkx.Graph, or list
|
|
required |
Returns:
| Type | Description |
|---|---|
Dataset
|
|
Raises:
| Type | Description |
|---|---|
ValueError
|
If the adjacency matrix is not square, or no graphs are provided. |
Source code in quprep/ingest/graph_ingester.py
GraphStateEncoder¶
quprep.encode.graph_state.GraphStateEncoder
¶
Bases: BaseEncoder
Encode a graph as a graph state circuit (lossless path).
Produces :math:|G\rangle = \prod_{(i,j) \in E} CZ_{ij} H^{\otimes n} |0\rangle^n.
The circuit preserves the full graph structure — every edge becomes a
CZ entangling gate.
Two usage patterns:
Pipeline path (recommended) — pair with
:class:~quprep.ingest.graph_ingester.GraphIngester using
features='adjacency'::
dataset = GraphIngester(features="adjacency").load(adj)
result = Pipeline(encoder=GraphStateEncoder()).fit_transform(dataset)
Direct path — pass the adjacency matrix directly::
result = GraphStateEncoder().encode_graph(adj)
For feature-based (lossy) encoding, use
:class:~quprep.ingest.graph_ingester.GraphIngester with any standard
encoder instead.
Examples:
Direct graph encoding::
import numpy as np
import quprep as qd
adj = np.array([[0,1,1,0],[1,0,1,0],[1,1,0,1],[0,0,1,0]], dtype=float)
encoder = qd.GraphStateEncoder()
result = encoder.encode_graph(adj)
print(result.metadata["n_qubits"]) # 4
print(result.metadata["edges"]) # [(0,1),(0,2),(1,2),(2,3)]
Functions¶
encode(x)
¶
Encode a flattened upper-triangle adjacency vector as a graph state.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
x
|
(ndarray, shape(n * (n - 1) // 2))
|
Flattened upper triangle of the adjacency matrix (row-major,
values thresholded at 0.5 to determine edge presence).
Use :meth: |
required |
Returns:
| Type | Description |
|---|---|
EncodedResult
|
|
Source code in quprep/encode/graph_state.py
encode_batch_graphs(graphs)
¶
Encode a list of adjacency matrices.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
graphs
|
list of np.ndarray
|
Each element is a square adjacency matrix. |
required |
Returns:
| Type | Description |
|---|---|
list of EncodedResult
|
|
Source code in quprep/encode/graph_state.py
encode_graph(adj)
¶
Encode directly from a square adjacency matrix.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
adj
|
(ndarray, shape(n, n))
|
Square adjacency matrix. Values > 0.5 are treated as edges. |
required |
Returns:
| Type | Description |
|---|---|
EncodedResult
|
|
Source code in quprep/encode/graph_state.py
ImageIngester¶
quprep.ingest.image_ingester.ImageIngester(size=(28, 28), grayscale=True, normalize=True)
¶
Ingest image files into a Dataset of flattened pixel vectors.
Loads single images or entire directories. When the directory contains
subdirectories, the subdirectory name is used as the class label
(ImageFolder convention). Pixel values are optionally normalized to
[0, 1] and resized to a common shape before flattening.
Requires pip install quprep[image] (Pillow).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
size
|
tuple of (int, int) or None
|
|
(28, 28)
|
grayscale
|
bool
|
If |
True
|
normalize
|
bool
|
If |
True
|
Examples:
Single image::
ingester = ImageIngester(size=(28, 28))
dataset = ingester.load("cat.png")
Directory with class labels::
# images/cat/img1.jpg, images/dog/img1.jpg
ingester = ImageIngester(size=(32, 32))
dataset = ingester.load("images/")
print(dataset.labels) # ['cat', 'cat', ..., 'dog', ...]
print(dataset.data.shape) # (n_images, 32*32)
Source code in quprep/ingest/image_ingester.py
Functions¶
load(source)
¶
Load one or more images and return a Dataset.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
source
|
str or Path
|
Path to a single image file or to a directory of images. Supported formats: PNG, JPG/JPEG, BMP, TIFF, WebP. Directory loading — two layouts are supported:
|
required |
Returns:
| Type | Description |
|---|---|
Dataset
|
|
Raises:
| Type | Description |
|---|---|
ImportError
|
If Pillow is not installed. |
FileNotFoundError
|
If |
ValueError
|
If no supported image files are found, or images have
mismatched sizes when |
Source code in quprep/ingest/image_ingester.py
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 | |
TimeSeriesIngester¶
quprep.ingest.timeseries_ingester.TimeSeriesIngester(time_column=None, delimiter=None, encoding='utf-8', target_columns=None)
¶
Ingest a time-series CSV file into a Dataset.
Reads a CSV where rows are timesteps and columns are features. An
optional datetime column is extracted as a time index and stored in
Dataset.metadata["time_index"] rather than treated as a feature.
The resulting Dataset preserves temporal ordering. Pass it to a
:class:~quprep.preprocess.window.WindowTransformer to produce
sliding-window samples ready for quantum encoding.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
time_column
|
str or None
|
Name of the column containing timestamps. Parsed with
|
None
|
delimiter
|
str or None
|
Field delimiter. Auto-detected from file extension if None: '.tsv' → tab, everything else → comma. |
None
|
encoding
|
str
|
File encoding. Defaults to 'utf-8'. |
'utf-8'
|
target_columns
|
str or list of str
|
Column name(s) to treat as labels rather than features. Stored in
|
None
|
Source code in quprep/ingest/timeseries_ingester.py
Functions¶
load(path)
¶
Load a time-series CSV and return a Dataset.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
path
|
str or Path
|
|
required |
Returns:
| Type | Description |
|---|---|
Dataset
|
|
Raises:
| Type | Description |
|---|---|
FileNotFoundError
|
|
Source code in quprep/ingest/timeseries_ingester.py
WindowTransformer¶
quprep.preprocess.window.WindowTransformer(window_size=16, step=1, flatten=True)
¶
Convert a time series Dataset into a set of sliding-window samples.
Each window becomes one row in the output Dataset, with features laid
out as [feat0_lag(W-1), feat1_lag(W-1), ..., feat0_lag0, feat1_lag0]
(oldest timestep first). The output is a standard 2-D Dataset that can
be fed directly into any QuPrep encoder.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
window_size
|
int
|
Number of consecutive timesteps per window. Must be ≤ the number of rows in the input Dataset. |
16
|
step
|
int
|
Stride between consecutive windows. Default 1 (fully overlapping).
Set to |
1
|
flatten
|
bool
|
If |
True
|
Examples:
>>> from quprep.ingest.timeseries_ingester import TimeSeriesIngester
>>> from quprep.preprocess.window import WindowTransformer
>>> from quprep.encode.angle import AngleEncoder
>>> from quprep.core.pipeline import Pipeline
>>>
>>> pipeline = Pipeline(
... ingester=TimeSeriesIngester(time_column="date"),
... preprocessor=WindowTransformer(window_size=8, step=1),
... encoder=AngleEncoder(),
... )
>>> result = pipeline.fit_transform("timeseries.csv")
Source code in quprep/preprocess/window.py
Functions¶
fit(dataset)
¶
Fit the transformer (records input feature count).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
dataset
|
Dataset
|
|
required |
Returns:
| Type | Description |
|---|---|
WindowTransformer
|
Returns |
Source code in quprep/preprocess/window.py
fit_transform(dataset)
¶
transform(dataset)
¶
Apply sliding-window extraction and return a new Dataset.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
dataset
|
Dataset
|
Time series dataset with shape (n_timesteps, n_features). |
required |
Returns:
| Type | Description |
|---|---|
Dataset
|
Shape (n_windows, window_size × n_features) where
|
Raises:
| Type | Description |
|---|---|
ValueError
|
If |
Source code in quprep/preprocess/window.py
TextIngester¶
quprep.ingest.text_ingester.TextIngester(method='tfidf', model='all-MiniLM-L6-v2', max_features=512, text_column=None, target_column=None, delimiter=',')
¶
Convert text data into a Dataset of dense feature vectors.
Two embedding methods are supported:
- tfidf (default, no extra deps) — TF-IDF bag-of-words via
sklearn. Sparse output is converted to dense. Use a
:class:
~quprep.reduce.pca.PCAReducerafterwards to bring the feature count down to a circuit-friendly size. - sentence_transformers — semantic sentence embeddings via the
sentence-transformerslibrary. Produces compact (384–768d) dense vectors that are directly suitable for angle or amplitude encoding. Requirespip install quprep[text].
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
method
|
str
|
|
'tfidf'
|
model
|
str
|
Sentence-transformers model name. Only used when
|
'all-MiniLM-L6-v2'
|
max_features
|
int or None
|
Maximum vocabulary size for TF-IDF. Ignored for sentence_transformers. Default 512. |
512
|
text_column
|
str or None
|
Column name containing text when loading a CSV file. Required
for CSV sources; ignored for |
None
|
target_column
|
str or list of str or None
|
Column name(s) to treat as labels. Stored in |
None
|
delimiter
|
str
|
CSV delimiter. Default |
','
|
Examples:
From a list of strings::
ingester = TextIngester(method="tfidf", max_features=64)
dataset = ingester.load(["quantum is great", "machine learning rocks"])
From a text file (one sentence per line)::
dataset = TextIngester().load("corpus.txt")
From a CSV::
ingester = TextIngester(text_column="review", target_column="sentiment")
dataset = ingester.load("reviews.csv")
print(dataset.labels) # sentiment column values
With sentence transformers::
ingester = TextIngester(method="sentence_transformers")
dataset = ingester.load(sentences)
# dataset.data.shape → (n, 384) — directly encode with AngleEncoder
Source code in quprep/ingest/text_ingester.py
Functions¶
load(source)
¶
Load text data and return a Dataset of feature vectors.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
source
|
list of str, str, or Path
|
|
required |
Returns:
| Type | Description |
|---|---|
Dataset
|
|
Raises:
| Type | Description |
|---|---|
ImportError
|
If |
FileNotFoundError
|
If a file path is provided but does not exist. |
ValueError
|
If a CSV is passed but |
Source code in quprep/ingest/text_ingester.py
NumpyIngester — sparse & multi-label¶
quprep.ingest.numpy_ingester.NumpyIngester
¶
Wrap a NumPy array, Pandas DataFrame, or SciPy sparse matrix as a Dataset.
Functions¶
load(data, y=None)
¶
Convert array-like data to a Dataset.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
data
|
np.ndarray, pd.DataFrame, or scipy.sparse matrix
|
2-D numeric array or DataFrame. 1-D arrays are treated as a single-feature column. Sparse matrices are converted to dense. |
required |
y
|
ndarray or array - like
|
Target labels. Shape (n_samples,) for single-target or
(n_samples, n_labels) for multi-label. Stored in |
None
|
Returns:
| Type | Description |
|---|---|
Dataset
|
|
Raises:
| Type | Description |
|---|---|
TypeError
|
If data is not a recognisable array-like type. |
ValueError
|
If data has more than 2 dimensions. |
Source code in quprep/ingest/numpy_ingester.py
stream(data, y=None, chunksize=1000)
¶
Yield Dataset chunks from a NumPy array without duplicating it in RAM.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
data
|
ndarray or DataFrame
|
2-D array. Processed identically to :meth: |
required |
y
|
ndarray or array - like
|
Target labels. |
None
|
chunksize
|
int
|
Rows per chunk. |
1000
|
Yields:
| Type | Description |
|---|---|
Dataset
|
|
Source code in quprep/ingest/numpy_ingester.py
CSVIngester — multi-label¶
quprep.ingest.csv_ingester.CSVIngester(delimiter=None, encoding='utf-8', target_columns=None)
¶
Ingest CSV and TSV files into a Dataset.
Supports automatic type detection (continuous, discrete, binary, categorical) and basic dataset profiling on load.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
delimiter
|
str or None
|
Field delimiter. Auto-detected from file extension if None: '.tsv' → tab, everything else → comma. |
None
|
encoding
|
str
|
File encoding. Defaults to 'utf-8'. |
'utf-8'
|
target_columns
|
str or list of str
|
Column name(s) to treat as labels rather than features. These columns
are extracted and stored in |
None
|
Source code in quprep/ingest/csv_ingester.py
Functions¶
load(path)
¶
Load a CSV/TSV file and return a Dataset.
Numeric columns go into data. Non-numeric (categorical) columns
are stored in categorical_data for CategoricalEncoder to process.
NaN values are preserved as-is for the Imputer to handle.
Columns listed in target_columns are extracted as Dataset.labels.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
path
|
str or Path
|
|
required |
Returns:
| Type | Description |
|---|---|
Dataset
|
|
Raises:
| Type | Description |
|---|---|
FileNotFoundError
|
|
Source code in quprep/ingest/csv_ingester.py
stream(path, chunksize=1000)
¶
Yield Dataset chunks from a CSV file without loading it fully into RAM.
Column detection (numeric vs categorical), label extraction, and
feature-type inference mirror :meth:load — each chunk is a
self-contained Dataset.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
path
|
str or Path
|
|
required |
chunksize
|
int
|
Rows per chunk. |
1000
|
Yields:
| Type | Description |
|---|---|
Dataset
|
|
Raises:
| Type | Description |
|---|---|
FileNotFoundError
|
|
Source code in quprep/ingest/csv_ingester.py
142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 | |