1mod csv_generators;
2use crate::csv_generators::{generate_csv, generate_parquet};
3
4use pyo3::exceptions::PyValueError;
5use pyo3::prelude::*;
6
7#[pyfunction]
8fn py_entry_point(
9 input: &str,
10 output: &str,
11 records: usize,
12 delimiter: u8,
13 data_format: &str,
14 max_file_size: usize,
15) -> PyResult<()> {
16 let result = match data_format {
17 "csv" => generate_csv(&input, &output, records, delimiter),
18 "parquet" => generate_parquet(&input, &output, records, max_file_size),
19 _ => unreachable!(),
20 };
21
22 match result {
23 Err(e) => Err(PyErr::new::<PyValueError, _>(format!("Error: {}", e))),
24 Ok(_) => Ok(()),
25 }
26}
27
28#[pymodule]
29fn native(_py: Python, m: &Bound<'_, PyModule>) -> PyResult<()> {
30 m.add_function(wrap_pyfunction!(py_entry_point, m)?)?;
31
32 Ok(())
33}