use chrono::{DateTime, Utc};
use df_derive::ToDataFrame;
use df_derive::dataframe;
use rust_decimal::Decimal;
#[derive(ToDataFrame)]
struct TxRecord {
amount: Decimal,
ts: DateTime<Utc>,
}
fn main() -> polars::prelude::PolarsResult<()> {
let tx = TxRecord {
amount: Decimal::new(12345, 2), ts: Utc::now(),
};
let df = <TxRecord as dataframe::ToDataFrame>::to_dataframe(&tx)?;
println!("DateTime and Decimal DataFrame:");
println!("{df}");
let schema = <TxRecord as dataframe::ToDataFrame>::schema()?;
println!("\nSchema (amount = Decimal(38, 10), ts = Datetime(Milliseconds, None)):");
for (name, dtype) in schema {
println!(" {name}: {dtype:?}");
}
Ok(())
}