from __future__ import annotations
from dataclasses import dataclass, field
from decimal import Decimal, ROUND_HALF_UP
from typing import Optional, Protocol
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct Currency {
pub code: &'static str,
pub symbol: &'static str,
pub exponent: u32,
}
use chrono::NaiveDate;
use rust_decimal::Decimal;
use serde::{Deserialize, Deserializer};
#[derive(Debug, Clone, Deserialize)]
pub struct Transaction {
from datetime import date, datetime
from decimal import Decimal, InvalidOperation
from enum import Enum
from pydantic import BaseModel, field_validator