from banking_breakdown import document_builder import pandas as pd from banking_breakdown import types import numpy as np def _generate_dummy_data() -> types.ReportData: categories = ["A", "B", "C", "D", "E", "F", "G"] values = np.array([10, 12, 53, 12, 90, 23, 32]) values = values / values.sum() * 100 values = np.round(values, decimals=1) values[-1] += 100 - np.sum(values) category_overview_df = pd.DataFrame( {"category": categories, "value": values}) t = ["2023-01-01", "2023-02-01", "2023-03-01", "2023-04-01", "2023-05-01", "2023-06-01", "2023-07-01", "2023-08-01", "2023-09-01", "2023-10-01", "2023-11-01", "2023-12-01"] net_income = 200 * np.random.normal(size=len(t)) + 100 net_income_df = pd.DataFrame({"t": t, "value": net_income}) total_value = np.cumsum(net_income) total_value_df = pd.DataFrame({"t": t, "value": total_value}) report_data = types.ReportData(category_overview=category_overview_df, net_income=net_income_df, total_value=total_value_df) return report_data def main(): report_data = _generate_dummy_data() document_builder.build_document(report_data) if __name__ == "__main__": main()