11from typing import Optional , Dict
2- from dataclasses import dataclass
2+ from ... modelclass import modelclass
33
44
5- @dataclass
5+ @modelclass
66class DataPoint :
77 "An individual financial data point."
88 formula : Optional [str ] = None
@@ -17,7 +17,7 @@ def from_dict(d):
1717 return DataPoint (** d )
1818
1919
20- @dataclass
20+ @modelclass
2121class ExchangeGainsLosses :
2222 "Contains exchange gains losses data for a cash flow statement."
2323 formula : Optional [str ] = None
@@ -32,7 +32,7 @@ def from_dict(d):
3232 return ExchangeGainsLosses (** d )
3333
3434
35- @dataclass
35+ @modelclass
3636class NetCashFlow :
3737 "Contains net cash flow data for a cash flow statement."
3838 formula : Optional [str ] = None
@@ -47,7 +47,7 @@ def from_dict(d):
4747 return NetCashFlow (** d )
4848
4949
50- @dataclass
50+ @modelclass
5151class NetCashFlowFromFinancingActivities :
5252 "Contains net cash flow from financing activities data for a cash flow statement."
5353 formula : Optional [str ] = None
@@ -62,7 +62,7 @@ def from_dict(d):
6262 return NetCashFlowFromFinancingActivities (** d )
6363
6464
65- @dataclass
65+ @modelclass
6666class CashFlowStatement :
6767 "Contains cash flow statement data."
6868 exchange_gains_losses : Optional [ExchangeGainsLosses ] = None
@@ -88,7 +88,7 @@ def from_dict(d):
8888 )
8989
9090
91- @dataclass
91+ @modelclass
9292class ComprehensiveIncomeLoss :
9393 "Contains comprehensive income loss data for comprehensive income."
9494 formula : Optional [str ] = None
@@ -103,7 +103,7 @@ def from_dict(d):
103103 return ComprehensiveIncomeLoss (** d )
104104
105105
106- @dataclass
106+ @modelclass
107107class ComprehensiveIncomeLossAttributableToParent :
108108 "Contains comprehensive income loss attributable to parent data for comprehensive income."
109109 formula : Optional [str ] = None
@@ -118,7 +118,7 @@ def from_dict(d):
118118 return ComprehensiveIncomeLossAttributableToParent (** d )
119119
120120
121- @dataclass
121+ @modelclass
122122class OtherComprehensiveIncomeLoss :
123123 "Contains other comprehensive income loss data for comprehensive income."
124124 formula : Optional [str ] = None
@@ -133,7 +133,7 @@ def from_dict(d):
133133 return OtherComprehensiveIncomeLoss (** d )
134134
135135
136- @dataclass
136+ @modelclass
137137class ComprehensiveIncome :
138138 "Contains comprehensive income data."
139139 comprehensive_income_loss : Optional [ComprehensiveIncomeLoss ] = None
@@ -161,7 +161,7 @@ def from_dict(d):
161161 )
162162
163163
164- @dataclass
164+ @modelclass
165165class BasicEarningsPerShare :
166166 "Contains basic earning per share data for an income statement."
167167 formula : Optional [str ] = None
@@ -176,7 +176,7 @@ def from_dict(d):
176176 return BasicEarningsPerShare (** d )
177177
178178
179- @dataclass
179+ @modelclass
180180class CostOfRevenue :
181181 "Contains cost of revenue data for an income statement."
182182 formula : Optional [str ] = None
@@ -191,7 +191,7 @@ def from_dict(d):
191191 return CostOfRevenue (** d )
192192
193193
194- @dataclass
194+ @modelclass
195195class GrossProfit :
196196 "Contains gross profit data for an income statement."
197197 formula : Optional [str ] = None
@@ -206,7 +206,7 @@ def from_dict(d):
206206 return GrossProfit (** d )
207207
208208
209- @dataclass
209+ @modelclass
210210class OperatingExpenses :
211211 "Contains operating expenses data for an income statement."
212212 formula : Optional [str ] = None
@@ -221,7 +221,7 @@ def from_dict(d):
221221 return OperatingExpenses (** d )
222222
223223
224- @dataclass
224+ @modelclass
225225class Revenues :
226226 "Contains revenues data for an income statement."
227227 formula : Optional [str ] = None
@@ -236,7 +236,7 @@ def from_dict(d):
236236 return Revenues (** d )
237237
238238
239- @dataclass
239+ @modelclass
240240class IncomeStatement :
241241 "Contains income statement data."
242242 basic_earnings_per_share : Optional [BasicEarningsPerShare ] = None
@@ -264,7 +264,7 @@ def from_dict(d):
264264 )
265265
266266
267- @dataclass
267+ @modelclass
268268class Financials :
269269 "Contains financial data."
270270 balance_sheet : Optional [Dict [str , DataPoint ]] = None
@@ -290,7 +290,7 @@ def from_dict(d):
290290 )
291291
292292
293- @dataclass
293+ @modelclass
294294class StockFinancial :
295295 "StockFinancial contains historical financial data for a stock ticker."
296296 cik : Optional [str ] = None
0 commit comments