banking-breakdown/banking_breakdown/__main__.py

51 lines
1.3 KiB
Python

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()