fin-infra 0.5.0__tar.gz → 0.5.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (180) hide show
  1. {fin_infra-0.5.0 → fin_infra-0.5.1}/PKG-INFO +1 -1
  2. {fin_infra-0.5.0 → fin_infra-0.5.1}/pyproject.toml +1 -1
  3. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/providers/base.py +27 -0
  4. {fin_infra-0.5.0 → fin_infra-0.5.1}/LICENSE +0 -0
  5. {fin_infra-0.5.0 → fin_infra-0.5.1}/README.md +0 -0
  6. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/__init__.py +0 -0
  7. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/__main__.py +0 -0
  8. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/analytics/__init__.py +0 -0
  9. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/analytics/add.py +0 -0
  10. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/analytics/cash_flow.py +0 -0
  11. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/analytics/ease.py +0 -0
  12. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/analytics/models.py +0 -0
  13. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/analytics/portfolio.py +0 -0
  14. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/analytics/projections.py +0 -0
  15. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/analytics/rebalancing.py +0 -0
  16. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/analytics/savings.py +0 -0
  17. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/analytics/scenarios.py +0 -0
  18. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/analytics/spending.py +0 -0
  19. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/banking/__init__.py +0 -0
  20. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/banking/history.py +0 -0
  21. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/banking/utils.py +0 -0
  22. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/brokerage/__init__.py +0 -0
  23. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/budgets/__init__.py +0 -0
  24. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/budgets/add.py +0 -0
  25. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/budgets/alerts.py +0 -0
  26. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/budgets/ease.py +0 -0
  27. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/budgets/models.py +0 -0
  28. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/budgets/scaffold_templates/README.md +0 -0
  29. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/budgets/scaffold_templates/__init__.py +0 -0
  30. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/budgets/scaffold_templates/models.py.tmpl +0 -0
  31. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/budgets/scaffold_templates/repository.py.tmpl +0 -0
  32. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/budgets/scaffold_templates/schemas.py.tmpl +0 -0
  33. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/budgets/templates.py +0 -0
  34. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/budgets/tracker.py +0 -0
  35. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/cashflows/__init__.py +0 -0
  36. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/cashflows/core.py +0 -0
  37. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/categorization/__init__.py +0 -0
  38. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/categorization/add.py +0 -0
  39. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/categorization/ease.py +0 -0
  40. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/categorization/engine.py +0 -0
  41. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/categorization/llm_layer.py +0 -0
  42. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/categorization/models.py +0 -0
  43. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/categorization/rules.py +0 -0
  44. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/categorization/taxonomy.py +0 -0
  45. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/chat/__init__.py +0 -0
  46. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/chat/ease.py +0 -0
  47. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/chat/planning.py +0 -0
  48. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/cli/__init__.py +0 -0
  49. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/cli/cmds/__init__.py +0 -0
  50. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/cli/cmds/scaffold_cmds.py +0 -0
  51. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/clients/__init__.py +0 -0
  52. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/clients/base.py +0 -0
  53. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/clients/plaid.py +0 -0
  54. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/compliance/__init__.py +0 -0
  55. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/credit/__init__.py +0 -0
  56. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/credit/add.py +0 -0
  57. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/credit/experian/__init__.py +0 -0
  58. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/credit/experian/auth.py +0 -0
  59. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/credit/experian/client.py +0 -0
  60. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/credit/experian/parser.py +0 -0
  61. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/credit/experian/provider.py +0 -0
  62. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/credit/mock.py +0 -0
  63. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/crypto/__init__.py +0 -0
  64. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/crypto/insights.py +0 -0
  65. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/documents/__init__.py +0 -0
  66. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/documents/add.py +0 -0
  67. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/documents/analysis.py +0 -0
  68. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/documents/ease.py +0 -0
  69. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/documents/models.py +0 -0
  70. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/documents/ocr.py +0 -0
  71. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/documents/storage.py +0 -0
  72. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/exceptions.py +0 -0
  73. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/goals/__init__.py +0 -0
  74. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/goals/add.py +0 -0
  75. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/goals/funding.py +0 -0
  76. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/goals/management.py +0 -0
  77. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/goals/milestones.py +0 -0
  78. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/goals/models.py +0 -0
  79. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/goals/scaffold_templates/README.md +0 -0
  80. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/goals/scaffold_templates/__init__.py +0 -0
  81. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/goals/scaffold_templates/models.py.tmpl +0 -0
  82. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/goals/scaffold_templates/repository.py.tmpl +0 -0
  83. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/goals/scaffold_templates/schemas.py.tmpl +0 -0
  84. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/insights/__init__.py +0 -0
  85. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/insights/aggregator.py +0 -0
  86. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/insights/models.py +0 -0
  87. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/investments/__init__.py +0 -0
  88. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/investments/add.py +0 -0
  89. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/investments/ease.py +0 -0
  90. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/investments/models.py +0 -0
  91. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/investments/providers/__init__.py +0 -0
  92. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/investments/providers/base.py +0 -0
  93. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/investments/providers/plaid.py +0 -0
  94. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/investments/providers/snaptrade.py +0 -0
  95. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/investments/scaffold_templates/README.md +0 -0
  96. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/investments/scaffold_templates/__init__.py +0 -0
  97. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/investments/scaffold_templates/models.py.tmpl +0 -0
  98. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/investments/scaffold_templates/repository.py.tmpl +0 -0
  99. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/investments/scaffold_templates/schemas.py.tmpl +0 -0
  100. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/markets/__init__.py +0 -0
  101. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/models/__init__.py +0 -0
  102. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/models/accounts.py +0 -0
  103. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/models/brokerage.py +0 -0
  104. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/models/candle.py +0 -0
  105. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/models/credit.py +0 -0
  106. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/models/money.py +0 -0
  107. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/models/quotes.py +0 -0
  108. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/models/tax.py +0 -0
  109. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/models/transactions.py +0 -0
  110. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/net_worth/__init__.py +0 -0
  111. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/net_worth/add.py +0 -0
  112. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/net_worth/aggregator.py +0 -0
  113. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/net_worth/calculator.py +0 -0
  114. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/net_worth/ease.py +0 -0
  115. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/net_worth/goals.py +0 -0
  116. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/net_worth/insights.py +0 -0
  117. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/net_worth/models.py +0 -0
  118. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/net_worth/scaffold_templates/README.md +0 -0
  119. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/net_worth/scaffold_templates/__init__.py +0 -0
  120. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/net_worth/scaffold_templates/models.py.tmpl +0 -0
  121. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/net_worth/scaffold_templates/repository.py.tmpl +0 -0
  122. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/net_worth/scaffold_templates/schemas.py.tmpl +0 -0
  123. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/normalization/__init__.py +0 -0
  124. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/normalization/currency_converter.py +0 -0
  125. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/normalization/models.py +0 -0
  126. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/normalization/providers/__init__.py +0 -0
  127. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/normalization/providers/exchangerate.py +0 -0
  128. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/normalization/providers/static_mappings.py +0 -0
  129. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/normalization/symbol_resolver.py +0 -0
  130. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/obs/__init__.py +0 -0
  131. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/obs/classifier.py +0 -0
  132. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/providers/__init__.py +0 -0
  133. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/providers/banking/base.py +0 -0
  134. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/providers/banking/plaid_client.py +0 -0
  135. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/providers/banking/teller_client.py +0 -0
  136. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/providers/brokerage/alpaca.py +0 -0
  137. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/providers/brokerage/base.py +0 -0
  138. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/providers/credit/experian.py +0 -0
  139. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/providers/identity/stripe_identity.py +0 -0
  140. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/providers/market/alphavantage.py +0 -0
  141. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/providers/market/base.py +0 -0
  142. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/providers/market/ccxt_crypto.py +0 -0
  143. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/providers/market/coingecko.py +0 -0
  144. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/providers/market/yahoo.py +0 -0
  145. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/providers/registry.py +0 -0
  146. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/providers/tax/__init__.py +0 -0
  147. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/providers/tax/irs.py +0 -0
  148. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/providers/tax/mock.py +0 -0
  149. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/providers/tax/taxbit.py +0 -0
  150. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/py.typed +0 -0
  151. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/recurring/__init__.py +0 -0
  152. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/recurring/add.py +0 -0
  153. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/recurring/detector.py +0 -0
  154. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/recurring/detectors_llm.py +0 -0
  155. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/recurring/ease.py +0 -0
  156. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/recurring/insights.py +0 -0
  157. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/recurring/models.py +0 -0
  158. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/recurring/normalizer.py +0 -0
  159. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/recurring/normalizers.py +0 -0
  160. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/recurring/summary.py +0 -0
  161. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/scaffold/__init__.py +0 -0
  162. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/scaffold/budgets.py +0 -0
  163. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/scaffold/goals.py +0 -0
  164. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/security/__init__.py +0 -0
  165. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/security/add.py +0 -0
  166. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/security/audit.py +0 -0
  167. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/security/encryption.py +0 -0
  168. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/security/models.py +0 -0
  169. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/security/pii_filter.py +0 -0
  170. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/security/pii_patterns.py +0 -0
  171. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/security/token_store.py +0 -0
  172. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/settings.py +0 -0
  173. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/tax/__init__.py +0 -0
  174. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/tax/add.py +0 -0
  175. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/tax/tlh.py +0 -0
  176. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/utils/__init__.py +0 -0
  177. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/utils/deprecation.py +0 -0
  178. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/utils/http.py +0 -0
  179. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/utils/retry.py +0 -0
  180. {fin_infra-0.5.0 → fin_infra-0.5.1}/src/fin_infra/version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: fin-infra
3
- Version: 0.5.0
3
+ Version: 0.5.1
4
4
  Summary: Financial infrastructure toolkit: banking connections, market data, credit, cashflows, and brokerage integrations
5
5
  License: MIT
6
6
  Keywords: finance,banking,plaid,brokerage,markets,credit,tax,cashflow,fintech,infra
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "fin-infra"
3
- version = "0.5.0"
3
+ version = "0.5.1"
4
4
  description = "Financial infrastructure toolkit: banking connections, market data, credit, cashflows, and brokerage integrations"
5
5
  authors = ["Ali Khatami <aliikhatami94@gmail.com>"]
6
6
  license = "MIT"
@@ -32,6 +32,13 @@ from ..models import Candle, Quote
32
32
 
33
33
 
34
34
  class MarketDataProvider(ABC):
35
+ """Abstract base class for stock and equity market data providers.
36
+
37
+ Implement this class to integrate with market data sources like
38
+ Yahoo Finance, Alpha Vantage, or Polygon.io for real-time quotes
39
+ and historical price data.
40
+ """
41
+
35
42
  @abstractmethod
36
43
  def quote(self, symbol: str) -> Quote:
37
44
  pass
@@ -44,6 +51,12 @@ class MarketDataProvider(ABC):
44
51
 
45
52
 
46
53
  class CryptoDataProvider(ABC):
54
+ """Abstract base class for cryptocurrency market data providers.
55
+
56
+ Implement this class to integrate with crypto exchanges like
57
+ Binance, Coinbase, or Kraken for ticker data and OHLCV candles.
58
+ """
59
+
47
60
  @abstractmethod
48
61
  def ticker(self, symbol_pair: str) -> Any:
49
62
  pass
@@ -90,6 +103,13 @@ class BankingProvider(ABC):
90
103
 
91
104
 
92
105
  class BrokerageProvider(ABC):
106
+ """Abstract base class for brokerage trading integrations.
107
+
108
+ Implement this class to integrate with trading platforms like
109
+ Alpaca, Interactive Brokers, or TD Ameritrade for order execution,
110
+ position management, and portfolio tracking.
111
+ """
112
+
93
113
  @abstractmethod
94
114
  def submit_order(
95
115
  self,
@@ -185,6 +205,13 @@ class IdentityProvider(ABC):
185
205
 
186
206
 
187
207
  class CreditProvider(ABC):
208
+ """Abstract base class for credit data providers.
209
+
210
+ Implement this class to integrate with credit bureaus like
211
+ Experian, Equifax, or TransUnion for credit score retrieval
212
+ and full credit report access.
213
+ """
214
+
188
215
  @abstractmethod
189
216
  def get_credit_score(self, user_id: str, **kwargs: Any) -> Any:
190
217
  pass
File without changes
File without changes