wbfdm 1.51.0__tar.gz → 1.51.2__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.

Potentially problematic release.


This version of wbfdm might be problematic. Click here for more details.

Files changed (365) hide show
  1. {wbfdm-1.51.0 → wbfdm-1.51.2}/.gitignore +0 -1
  2. {wbfdm-1.51.0 → wbfdm-1.51.2}/PKG-INFO +1 -1
  3. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/analysis/financial_analysis/statement_with_estimates.py +0 -1
  4. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/analysis/financial_analysis/utils.py +4 -0
  5. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/metric/backends/statistics.py +1 -1
  6. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/metric/viewsets/configs/display.py +1 -0
  7. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/filters/instruments.py +1 -3
  8. wbfdm-1.51.2/wbfdm/locale/de/LC_MESSAGES/django.mo +0 -0
  9. wbfdm-1.51.2/wbfdm/locale/de/LC_MESSAGES/django.po +257 -0
  10. wbfdm-1.51.2/wbfdm/locale/en/LC_MESSAGES/django.mo +0 -0
  11. wbfdm-1.51.2/wbfdm/locale/en/LC_MESSAGES/django.po +255 -0
  12. wbfdm-1.51.2/wbfdm/locale/fr/LC_MESSAGES/django.mo +0 -0
  13. wbfdm-1.51.2/wbfdm/locale/fr/LC_MESSAGES/django.po +257 -0
  14. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/serializers/instruments/instruments.py +2 -2
  15. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/configs/display/instruments.py +1 -1
  16. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/configs/endpoints/classifications.py +0 -12
  17. wbfdm-1.51.2/wbfdm/viewsets/configs/endpoints/instrument_prices.py +32 -0
  18. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/statements/statements.py +5 -1
  19. wbfdm-1.51.0/wbfdm/locale/de/LC_MESSAGES/django.po +0 -257
  20. wbfdm-1.51.0/wbfdm/locale/fr/LC_MESSAGES/django.po +0 -257
  21. wbfdm-1.51.0/wbfdm/viewsets/configs/endpoints/instrument_prices.py +0 -51
  22. {wbfdm-1.51.0 → wbfdm-1.51.2}/pyproject.toml +0 -0
  23. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/__init__.py +0 -0
  24. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/admin/__init__.py +0 -0
  25. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/admin/classifications.py +0 -0
  26. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/admin/esg.py +0 -0
  27. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/admin/exchanges.py +0 -0
  28. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/admin/instrument_lists.py +0 -0
  29. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/admin/instrument_prices.py +0 -0
  30. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/admin/instrument_requests.py +0 -0
  31. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/admin/instruments.py +0 -0
  32. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/admin/instruments_relationships.py +0 -0
  33. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/admin/options.py +0 -0
  34. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/analysis/__init__.py +0 -0
  35. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/analysis/esg/__init__.py +0 -0
  36. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/analysis/esg/enums.py +0 -0
  37. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/analysis/esg/esg_analysis.py +0 -0
  38. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/analysis/esg/utils.py +0 -0
  39. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/analysis/financial_analysis/__init__.py +0 -0
  40. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/analysis/financial_analysis/financial_metric_analysis.py +0 -0
  41. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/analysis/financial_analysis/financial_ratio_analysis.py +0 -0
  42. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/analysis/financial_analysis/financial_statistics_analysis.py +0 -0
  43. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/analysis/technical_analysis/__init__.py +0 -0
  44. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/analysis/technical_analysis/technical_analysis.py +0 -0
  45. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/analysis/technical_analysis/traces.py +0 -0
  46. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/analysis/utils.py +0 -0
  47. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/apps.py +0 -0
  48. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/backends/dto.py +0 -0
  49. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/__init__.py +0 -0
  50. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/dsws/__init__.py +0 -0
  51. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/dsws/client.py +0 -0
  52. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/dsws/dataloaders/market_data.py +0 -0
  53. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/internal/__init__.py +0 -0
  54. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/internal/dataloaders/__init__.py +0 -0
  55. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/internal/dataloaders/market_data.py +0 -0
  56. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/metric/__init__.py +0 -0
  57. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/metric/admin/__init__.py +0 -0
  58. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/metric/admin/instruments.py +0 -0
  59. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/metric/admin/metrics.py +0 -0
  60. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/metric/apps.py +0 -0
  61. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/metric/backends/__init__.py +0 -0
  62. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/metric/backends/base.py +0 -0
  63. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/metric/backends/performances.py +0 -0
  64. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/metric/backends/utils.py +0 -0
  65. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/metric/decorators.py +0 -0
  66. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/metric/dispatch.py +0 -0
  67. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/metric/dto.py +0 -0
  68. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/metric/exceptions.py +0 -0
  69. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/metric/factories.py +0 -0
  70. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/metric/filters.py +0 -0
  71. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/metric/migrations/0001_initial.py +0 -0
  72. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/metric/migrations/0002_remove_instrumentmetric_unique_instrument_metric_and_more.py +0 -0
  73. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/metric/migrations/__init__.py +0 -0
  74. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/metric/models.py +0 -0
  75. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/metric/orchestrators.py +0 -0
  76. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/metric/registry.py +0 -0
  77. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/metric/serializers.py +0 -0
  78. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/metric/tasks.py +0 -0
  79. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/metric/tests/__init__.py +0 -0
  80. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/metric/tests/backends/__init__.py +0 -0
  81. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/metric/tests/backends/test_performances.py +0 -0
  82. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/metric/tests/backends/test_statistics.py +0 -0
  83. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/metric/tests/conftest.py +0 -0
  84. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/metric/tests/test_dto.py +0 -0
  85. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/metric/tests/test_models.py +0 -0
  86. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/metric/tests/test_tasks.py +0 -0
  87. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/metric/tests/test_viewsets.py +0 -0
  88. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/metric/urls.py +0 -0
  89. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/metric/viewsets/__init__.py +0 -0
  90. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/metric/viewsets/configs/__init__.py +0 -0
  91. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/metric/viewsets/configs/menus.py +0 -0
  92. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/metric/viewsets/configs/utils.py +0 -0
  93. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/metric/viewsets/mixins.py +0 -0
  94. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/metric/viewsets/viewsets.py +0 -0
  95. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/msci/__init__.py +0 -0
  96. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/msci/client.py +0 -0
  97. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/msci/dataloaders/__init__.py +0 -0
  98. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/msci/dataloaders/esg.py +0 -0
  99. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/msci/dataloaders/esg_controversies.py +0 -0
  100. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/msci/sync.py +0 -0
  101. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/msci/tests/__init__.py +0 -0
  102. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/msci/tests/conftest.py +0 -0
  103. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/msci/tests/test_client.py +0 -0
  104. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/qa/__init__.py +0 -0
  105. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/qa/apps.py +0 -0
  106. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/qa/database_routers.py +0 -0
  107. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/qa/dataloaders/__init__.py +0 -0
  108. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/qa/dataloaders/adjustments.py +0 -0
  109. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/qa/dataloaders/corporate_actions.py +0 -0
  110. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/qa/dataloaders/financials.py +0 -0
  111. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/qa/dataloaders/market_data.py +0 -0
  112. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/qa/dataloaders/officers.py +0 -0
  113. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/qa/dataloaders/reporting_dates.py +0 -0
  114. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/qa/dataloaders/statements.py +0 -0
  115. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/qa/dataloaders/utils.py +0 -0
  116. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/qa/jinja2/qa/sql/companies.sql +0 -0
  117. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/qa/jinja2/qa/sql/ibes/base_estimates.sql +0 -0
  118. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/qa/jinja2/qa/sql/ibes/calendarized.sql +0 -0
  119. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/qa/jinja2/qa/sql/ibes/complete.sql +0 -0
  120. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/qa/jinja2/qa/sql/ibes/estimates.sql +0 -0
  121. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/qa/jinja2/qa/sql/ibes/financials.sql +0 -0
  122. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/qa/jinja2/qa/sql/instruments.sql +0 -0
  123. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/qa/jinja2/qa/sql/quotes.sql +0 -0
  124. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/qa/sync/exchanges.py +0 -0
  125. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/qa/sync/instruments.py +0 -0
  126. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/qa/sync/utils.py +0 -0
  127. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/contrib/qa/tasks.py +0 -0
  128. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/dataloaders/__init__.py +0 -0
  129. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/dataloaders/cache.py +0 -0
  130. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/dataloaders/protocols.py +0 -0
  131. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/dataloaders/proxies.py +0 -0
  132. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/dataloaders/types.py +0 -0
  133. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/dynamic_preferences_registry.py +0 -0
  134. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/enums.py +0 -0
  135. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/factories/__init__.py +0 -0
  136. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/factories/classifications.py +0 -0
  137. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/factories/controversies.py +0 -0
  138. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/factories/exchanges.py +0 -0
  139. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/factories/instrument_list.py +0 -0
  140. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/factories/instrument_prices.py +0 -0
  141. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/factories/instruments.py +0 -0
  142. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/factories/instruments_relationships.py +0 -0
  143. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/factories/options.py +0 -0
  144. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/figures/__init__.py +0 -0
  145. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/figures/financials/__init__.py +0 -0
  146. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/figures/financials/financial_analysis_charts.py +0 -0
  147. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/figures/financials/financials_charts.py +0 -0
  148. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/filters/__init__.py +0 -0
  149. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/filters/classifications.py +0 -0
  150. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/filters/exchanges.py +0 -0
  151. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/filters/financials.py +0 -0
  152. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/filters/financials_analysis.py +0 -0
  153. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/filters/instrument_prices.py +0 -0
  154. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/filters/utils.py +0 -0
  155. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/import_export/__init__.py +0 -0
  156. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/import_export/backends/__init__.py +0 -0
  157. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/import_export/backends/cbinsights/__init__.py +0 -0
  158. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/import_export/backends/cbinsights/deals.py +0 -0
  159. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/import_export/backends/cbinsights/equities.py +0 -0
  160. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/import_export/backends/cbinsights/mixin.py +0 -0
  161. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/import_export/backends/cbinsights/utils/__init__.py +0 -0
  162. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/import_export/backends/cbinsights/utils/classifications.py +0 -0
  163. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/import_export/backends/cbinsights/utils/client.py +0 -0
  164. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/import_export/backends/refinitiv/__init__.py +0 -0
  165. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/import_export/backends/refinitiv/daily_fundamental.py +0 -0
  166. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/import_export/backends/refinitiv/fiscal_period.py +0 -0
  167. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/import_export/backends/refinitiv/forecast.py +0 -0
  168. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/import_export/backends/refinitiv/fundamental.py +0 -0
  169. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/import_export/backends/refinitiv/geographic_segment.py +0 -0
  170. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/import_export/backends/refinitiv/instrument.py +0 -0
  171. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/import_export/backends/refinitiv/instrument_price.py +0 -0
  172. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/import_export/backends/refinitiv/mixin.py +0 -0
  173. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/import_export/backends/refinitiv/utils/__init__.py +0 -0
  174. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/import_export/backends/refinitiv/utils/controller.py +0 -0
  175. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/import_export/handlers/__init__.py +0 -0
  176. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/import_export/handlers/instrument.py +0 -0
  177. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/import_export/handlers/instrument_list.py +0 -0
  178. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/import_export/handlers/instrument_price.py +0 -0
  179. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/import_export/handlers/option.py +0 -0
  180. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/import_export/handlers/private_equities.py +0 -0
  181. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/import_export/parsers/__init__.py +0 -0
  182. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/import_export/parsers/cbinsights/__init__.py +0 -0
  183. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/import_export/parsers/cbinsights/deals.py +0 -0
  184. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/import_export/parsers/cbinsights/equities.py +0 -0
  185. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/import_export/parsers/cbinsights/fundamentals.py +0 -0
  186. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/import_export/parsers/refinitiv/__init__.py +0 -0
  187. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/import_export/parsers/refinitiv/daily_fundamental.py +0 -0
  188. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/import_export/parsers/refinitiv/forecast.py +0 -0
  189. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/import_export/parsers/refinitiv/fundamental.py +0 -0
  190. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/import_export/parsers/refinitiv/geographic_segment.py +0 -0
  191. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/import_export/parsers/refinitiv/instrument.py +0 -0
  192. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/import_export/parsers/refinitiv/instrument_price.py +0 -0
  193. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/import_export/parsers/refinitiv/utils.py +0 -0
  194. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/import_export/resources/__init__.py +0 -0
  195. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/import_export/resources/classification.py +0 -0
  196. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/import_export/resources/instrument_prices.py +0 -0
  197. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/import_export/resources/instruments.py +0 -0
  198. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/jinja2.py +0 -0
  199. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/management/__init__.py +0 -0
  200. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/migrations/0001_initial.py +0 -0
  201. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/migrations/0002_rename_statements_instrumentlookup_financials_and_more.py +0 -0
  202. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/migrations/0003_instrument_estimate_backend_and_more.py +0 -0
  203. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/migrations/0004_rename_financials_instrumentlookup_statements_and_more.py +0 -0
  204. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/migrations/0005_instrument_corporate_action_backend.py +0 -0
  205. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/migrations/0006_instrument_officer_backend.py +0 -0
  206. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/migrations/0007_instrument_country_instrument_currency_and_more.py +0 -0
  207. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/migrations/0008_controversy.py +0 -0
  208. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/migrations/0009_alter_controversy_flag_alter_controversy_initiated_and_more.py +0 -0
  209. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/migrations/0010_classification_classificationgroup_deal_exchange_and_more.py +0 -0
  210. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/migrations/0011_delete_instrumentlookup_instrument_corporate_actions_and_more.py +0 -0
  211. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/migrations/0012_instrumentprice_created_instrumentprice_modified.py +0 -0
  212. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/migrations/0013_instrument_is_investable_universe_and_more.py +0 -0
  213. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/migrations/0014_alter_controversy_instrument.py +0 -0
  214. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/migrations/0015_instrument_instrument_investible_index.py +0 -0
  215. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/migrations/0016_instrumenttype_name_repr.py +0 -0
  216. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/migrations/0017_instrument_instrument_security_index.py +0 -0
  217. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/migrations/0018_instrument_instrument_level_index.py +0 -0
  218. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/migrations/0019_alter_controversy_source.py +0 -0
  219. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/migrations/0020_optionaggregate_option_and_more.py +0 -0
  220. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/migrations/0021_delete_instrumentdailystatistics.py +0 -0
  221. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/migrations/0022_instrument_cusip_option_open_interest_20d_and_more.py +0 -0
  222. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/migrations/0023_instrument_unique_ric_instrument_unique_rmc_and_more.py +0 -0
  223. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/migrations/0024_option_open_interest_10d_option_volume_10d_and_more.py +0 -0
  224. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/migrations/0025_instrument_is_primary_and_more.py +0 -0
  225. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/migrations/0026_instrument_is_cash_equivalent.py +0 -0
  226. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/migrations/0027_remove_instrument_unique_ric_and_more.py +0 -0
  227. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/migrations/0028_instrumentprice_annualized_daily_volatility.py +0 -0
  228. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/migrations/0029_alter_instrumentprice_volume.py +0 -0
  229. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/migrations/0030_alter_relatedinstrumentthroughmodel_related_type.py +0 -0
  230. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/migrations/__init__.py +0 -0
  231. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/models/__init__.py +0 -0
  232. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/models/esg/__init__.py +0 -0
  233. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/models/esg/controversies.py +0 -0
  234. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/models/exchanges/__init__.py +0 -0
  235. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/models/exchanges/exchanges.py +0 -0
  236. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/models/fields.py +0 -0
  237. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/models/fk_fields.py +0 -0
  238. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/models/indicators.py +0 -0
  239. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/models/instruments/__init__.py +0 -0
  240. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/models/instruments/classifications.py +0 -0
  241. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/models/instruments/instrument_lists.py +0 -0
  242. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/models/instruments/instrument_prices.py +0 -0
  243. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/models/instruments/instrument_relationships.py +0 -0
  244. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/models/instruments/instrument_requests.py +0 -0
  245. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/models/instruments/instruments.py +0 -0
  246. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/models/instruments/llm/__init__.py +0 -0
  247. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/models/instruments/llm/create_instrument_news_relationships.py +0 -0
  248. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/models/instruments/mixin/__init__.py +0 -0
  249. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/models/instruments/mixin/financials_computed.py +0 -0
  250. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/models/instruments/mixin/financials_serializer_fields.py +0 -0
  251. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/models/instruments/mixin/instruments.py +0 -0
  252. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/models/instruments/options.py +0 -0
  253. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/models/instruments/private_equities.py +0 -0
  254. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/models/instruments/querysets.py +0 -0
  255. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/models/instruments/utils.py +0 -0
  256. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/preferences.py +0 -0
  257. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/serializers/__init__.py +0 -0
  258. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/serializers/esg.py +0 -0
  259. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/serializers/exchanges.py +0 -0
  260. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/serializers/instruments/__init__.py +0 -0
  261. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/serializers/instruments/classifications.py +0 -0
  262. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/serializers/instruments/instrument_lists.py +0 -0
  263. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/serializers/instruments/instrument_prices.py +0 -0
  264. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/serializers/instruments/instrument_relationships.py +0 -0
  265. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/serializers/instruments/instrument_requests.py +0 -0
  266. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/serializers/instruments/mixins.py +0 -0
  267. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/serializers/officers.py +0 -0
  268. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/signals.py +0 -0
  269. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/sync/__init__.py +0 -0
  270. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/sync/abstract.py +0 -0
  271. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/sync/runner.py +0 -0
  272. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/tasks.py +0 -0
  273. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/tests/__init__.py +0 -0
  274. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/tests/analysis/__init__.py +0 -0
  275. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/tests/analysis/financial_analysis/__init__.py +0 -0
  276. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/tests/analysis/financial_analysis/test_statement_with_estimates.py +0 -0
  277. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/tests/analysis/financial_analysis/test_utils.py +0 -0
  278. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/tests/analysis/test_esg.py +0 -0
  279. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/tests/conftest.py +0 -0
  280. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/tests/dataloaders/__init__.py +0 -0
  281. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/tests/dataloaders/test_cache.py +0 -0
  282. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/tests/models/__init__.py +0 -0
  283. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/tests/models/test_classifications.py +0 -0
  284. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/tests/models/test_exchanges.py +0 -0
  285. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/tests/models/test_instrument_list.py +0 -0
  286. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/tests/models/test_instrument_prices.py +0 -0
  287. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/tests/models/test_instruments.py +0 -0
  288. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/tests/models/test_merge.py +0 -0
  289. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/tests/models/test_options.py +0 -0
  290. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/tests/test_tasks.py +0 -0
  291. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/tests/tests.py +0 -0
  292. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/urls.py +0 -0
  293. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/utils.py +0 -0
  294. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/__init__.py +0 -0
  295. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/configs/__init__.py +0 -0
  296. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/configs/buttons/__init__.py +0 -0
  297. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/configs/buttons/classifications.py +0 -0
  298. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/configs/buttons/exchanges.py +0 -0
  299. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/configs/buttons/instrument_prices.py +0 -0
  300. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/configs/buttons/instruments.py +0 -0
  301. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/configs/display/__init__.py +0 -0
  302. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/configs/display/classifications.py +0 -0
  303. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/configs/display/esg.py +0 -0
  304. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/configs/display/exchanges.py +0 -0
  305. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/configs/display/financial_summary.py +0 -0
  306. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/configs/display/instrument_lists.py +0 -0
  307. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/configs/display/instrument_prices.py +0 -0
  308. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/configs/display/instrument_requests.py +0 -0
  309. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/configs/display/instruments_relationships.py +0 -0
  310. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/configs/display/monthly_performances.py +0 -0
  311. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/configs/display/officers.py +0 -0
  312. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/configs/display/prices.py +0 -0
  313. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/configs/display/statement_with_estimates.py +0 -0
  314. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/configs/display/statements.py +0 -0
  315. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/configs/endpoints/__init__.py +0 -0
  316. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/configs/endpoints/esg.py +0 -0
  317. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/configs/endpoints/exchanges.py +0 -0
  318. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/configs/endpoints/financials_analysis.py +0 -0
  319. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/configs/endpoints/instrument_lists.py +0 -0
  320. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/configs/endpoints/instrument_requests.py +0 -0
  321. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/configs/endpoints/instruments.py +0 -0
  322. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/configs/endpoints/instruments_relationships.py +0 -0
  323. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/configs/endpoints/statements.py +0 -0
  324. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/configs/menus/__init__.py +0 -0
  325. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/configs/menus/classifications.py +0 -0
  326. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/configs/menus/exchanges.py +0 -0
  327. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/configs/menus/instrument_lists.py +0 -0
  328. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/configs/menus/instruments.py +0 -0
  329. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/configs/menus/instruments_relationships.py +0 -0
  330. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/configs/titles/__init__.py +0 -0
  331. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/configs/titles/classifications.py +0 -0
  332. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/configs/titles/esg.py +0 -0
  333. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/configs/titles/exchanges.py +0 -0
  334. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/configs/titles/financial_ratio_analysis.py +0 -0
  335. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/configs/titles/financials_analysis.py +0 -0
  336. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/configs/titles/instrument_prices.py +0 -0
  337. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/configs/titles/instrument_requests.py +0 -0
  338. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/configs/titles/instruments.py +0 -0
  339. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/configs/titles/instruments_relationships.py +0 -0
  340. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/configs/titles/market_data.py +0 -0
  341. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/configs/titles/prices.py +0 -0
  342. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/configs/titles/statement_with_estimates.py +0 -0
  343. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/esg.py +0 -0
  344. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/exchanges.py +0 -0
  345. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/financial_analysis/__init__.py +0 -0
  346. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/financial_analysis/financial_metric_analysis.py +0 -0
  347. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/financial_analysis/financial_ratio_analysis.py +0 -0
  348. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/financial_analysis/financial_summary.py +0 -0
  349. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/financial_analysis/statement_with_estimates.py +0 -0
  350. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/instruments/__init__.py +0 -0
  351. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/instruments/classifications.py +0 -0
  352. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/instruments/financials_analysis.py +0 -0
  353. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/instruments/instrument_lists.py +0 -0
  354. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/instruments/instrument_prices.py +0 -0
  355. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/instruments/instrument_requests.py +0 -0
  356. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/instruments/instruments.py +0 -0
  357. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/instruments/instruments_relationships.py +0 -0
  358. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/instruments/utils.py +0 -0
  359. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/market_data.py +0 -0
  360. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/mixins.py +0 -0
  361. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/officers.py +0 -0
  362. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/prices.py +0 -0
  363. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/statements/__init__.py +0 -0
  364. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/technical_analysis/__init__.py +0 -0
  365. {wbfdm-1.51.0 → wbfdm-1.51.2}/wbfdm/viewsets/technical_analysis/monthly_performances.py +0 -0
@@ -71,7 +71,6 @@ report.xml
71
71
  */report.xml
72
72
 
73
73
  # Translations
74
- *.mo
75
74
  *.pot
76
75
 
77
76
  # Django stuff:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: wbfdm
3
- Version: 1.51.0
3
+ Version: 1.51.2
4
4
  Summary: The workbench module ensures rapid access to diverse financial data (market, fundamental, forecasts, ESG), with features for storing instruments, classifying them, and conducting financial analysis.
5
5
  Author-email: Christopher Wittlinger <c.wittlinger@stainly.com>
6
6
  Requires-Dist: roman==4.*
@@ -404,7 +404,6 @@ class StatementWithEstimates:
404
404
  "stock_compensation_employee_ratio",
405
405
  Financial.CAPEX.value,
406
406
  Financial.SHARES_OUTSTANDING.value,
407
- MarketData.MARKET_CAPITALIZATION.value,
408
407
  MarketData.CLOSE.value,
409
408
  MarketData.MARKET_CAPITALIZATION.value,
410
409
  "net_cash",
@@ -133,6 +133,10 @@ class Loader:
133
133
  self.errors["missing_data"].append(
134
134
  "We could not find any market data covering the financial statement period"
135
135
  )
136
+ df.loc[df.index.get_level_values("estimate"), market_data_df.columns.difference(["period_end_date"])] = (
137
+ None
138
+ )
139
+
136
140
  return df.rename_axis("financial", axis="columns")
137
141
 
138
142
  def _annotate_statement_data(self, df: pd.DataFrame, statement_values: list[Financial]) -> pd.DataFrame:
@@ -171,7 +171,7 @@ class Dataloader(BaseDataloader):
171
171
  )
172
172
  fx_rate = df_price["fx_rate"]
173
173
  df = pd.concat([df_revenue, df_price.drop("fx_rate", axis=1)], axis=1)
174
- for key in ["revenue_y_1", "revenue_y0", "revenue_y1", "market_capitalization", "price"]:
174
+ for key in ["revenue_y_1", "revenue_y0", "revenue_y1", "market_capitalization"]:
175
175
  if key in df.columns:
176
176
  df[key] = df[key] / fx_rate
177
177
 
@@ -31,6 +31,7 @@ class InstrumentMetricDisplayConfig(DisplayViewConfig):
31
31
  filter_depth=1,
32
32
  # lookup="id_repr",
33
33
  clear_filter=True,
34
+ filter_blacklist=["parent__isnull"],
34
35
  list_endpoint=reverse(
35
36
  "metric:instrumentmetric-list",
36
37
  args=[],
@@ -93,9 +93,7 @@ class InstrumentFilterSet(TagFilterMixin, InstrumentFavoriteGroupFilterSet):
93
93
  )
94
94
  return queryset
95
95
 
96
- is_investable = wb_filters.BooleanFilter(
97
- label="Is Investable", initial=True, method="filter_is_investable", hidden=True
98
- )
96
+ is_investable = wb_filters.BooleanFilter(label="Is Investable", method="filter_is_investable", hidden=True)
99
97
 
100
98
  def filter_is_investable(self, queryset, name, value):
101
99
  if value:
@@ -0,0 +1,257 @@
1
+ # SOME DESCRIPTIVE TITLE.
2
+ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
3
+ # This file is distributed under the same license as the PACKAGE package.
4
+ # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5
+ #
6
+ #, fuzzy
7
+ msgid ""
8
+ msgstr ""
9
+ "Project-Id-Version: PACKAGE VERSION\n"
10
+ "Report-Msgid-Bugs-To: \n"
11
+ "POT-Creation-Date: 2025-05-30 11:37+0200\n"
12
+ "PO-Revision-Date: 2025-05-30 09:40+0000\n"
13
+ "Language-Team: German (https://app.transifex.com/stainly/teams/171242/de/)\n"
14
+ "MIME-Version: 1.0\n"
15
+ "Content-Type: text/plain; charset=UTF-8\n"
16
+ "Content-Transfer-Encoding: 8bit\n"
17
+ "Language: de\n"
18
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
19
+
20
+ #: contrib/metric/filters.py:27
21
+ msgid "Basket Content Type"
22
+ msgstr ""
23
+
24
+ #: contrib/metric/viewsets/configs/utils.py:127
25
+ msgid "Fundamentals"
26
+ msgstr ""
27
+
28
+ #: models/exchanges/exchanges.py:184
29
+ #: viewsets/configs/display/instruments.py:77
30
+ msgid "Exchange"
31
+ msgstr ""
32
+
33
+ #: models/exchanges/exchanges.py:185
34
+ msgid "Exchanges"
35
+ msgstr ""
36
+
37
+ #: models/instruments/instrument_requests.py:116
38
+ #: models/instruments/instrument_requests.py:182
39
+ msgid "An instrument already exists with the proposed identifier"
40
+ msgstr ""
41
+
42
+ #: viewsets/configs/buttons/classifications.py:10
43
+ msgid "Tree Chart"
44
+ msgstr ""
45
+
46
+ #: viewsets/configs/buttons/classifications.py:11
47
+ msgid "Icicle Chart"
48
+ msgstr ""
49
+
50
+ #: viewsets/configs/display/classifications.py:40
51
+ msgid "Child Classifications"
52
+ msgstr ""
53
+
54
+ #: viewsets/configs/display/classifications.py:43
55
+ msgid "Instruments"
56
+ msgstr ""
57
+
58
+ #: viewsets/configs/display/classifications.py:69
59
+ msgid "Classification"
60
+ msgstr ""
61
+
62
+ #: viewsets/configs/display/classifications.py:112
63
+ msgid "Related Instruments"
64
+ msgstr ""
65
+
66
+ #: viewsets/configs/display/esg.py:14
67
+ msgid "Initiated"
68
+ msgstr ""
69
+
70
+ #: viewsets/configs/display/esg.py:15
71
+ msgid "Review"
72
+ msgstr ""
73
+
74
+ #: viewsets/configs/display/esg.py:16
75
+ msgid "Headline"
76
+ msgstr ""
77
+
78
+ #: viewsets/configs/display/esg.py:17
79
+ msgid "Narrative"
80
+ msgstr ""
81
+
82
+ #: viewsets/configs/display/esg.py:18
83
+ msgid "Source"
84
+ msgstr ""
85
+
86
+ #: viewsets/configs/display/esg.py:19
87
+ msgid "Status"
88
+ msgstr ""
89
+
90
+ #: viewsets/configs/display/esg.py:20
91
+ msgid "Type"
92
+ msgstr ""
93
+
94
+ #: viewsets/configs/display/esg.py:21
95
+ msgid "Assessment"
96
+ msgstr ""
97
+
98
+ #: viewsets/configs/display/esg.py:22
99
+ msgid "Response"
100
+ msgstr ""
101
+
102
+ #: viewsets/configs/display/esg.py:70
103
+ msgid "Section"
104
+ msgstr ""
105
+
106
+ #: viewsets/configs/display/esg.py:71
107
+ msgid "Adverse sustainability indicator"
108
+ msgstr ""
109
+
110
+ #: viewsets/configs/display/esg.py:72
111
+ msgid "Metric"
112
+ msgstr ""
113
+
114
+ #: viewsets/configs/display/esg.py:73
115
+ msgid "Factor"
116
+ msgstr ""
117
+
118
+ #: viewsets/configs/display/esg.py:74
119
+ msgid "Value"
120
+ msgstr ""
121
+
122
+ #: viewsets/configs/display/instrument_lists.py:34
123
+ msgid "Exclusion List"
124
+ msgstr ""
125
+
126
+ #: viewsets/configs/display/instrument_lists.py:105
127
+ msgid "Validated"
128
+ msgstr ""
129
+
130
+ #: viewsets/configs/display/instrument_lists.py:109
131
+ msgid "Not Validated"
132
+ msgstr ""
133
+
134
+ #: viewsets/configs/display/instrument_requests.py:95
135
+ msgid "Instrument Data"
136
+ msgstr ""
137
+
138
+ #: viewsets/configs/display/instruments.py:70
139
+ #: viewsets/configs/display/officers.py:11
140
+ msgid "Name"
141
+ msgstr ""
142
+
143
+ #: viewsets/configs/display/instruments.py:73
144
+ msgid "Information"
145
+ msgstr ""
146
+
147
+ #: viewsets/configs/display/instruments.py:76
148
+ msgid "Instrument Type"
149
+ msgstr ""
150
+
151
+ #: viewsets/configs/display/instruments.py:78
152
+ msgid "ISIN"
153
+ msgstr ""
154
+
155
+ #: viewsets/configs/display/instruments.py:79
156
+ msgid "Ticker"
157
+ msgstr ""
158
+
159
+ #: viewsets/configs/display/instruments.py:80
160
+ msgid "RIC"
161
+ msgstr ""
162
+
163
+ #: viewsets/configs/display/instruments.py:81
164
+ msgid "Refinitiv Mnemonic"
165
+ msgstr ""
166
+
167
+ #: viewsets/configs/display/instruments.py:82
168
+ msgid "Description"
169
+ msgstr ""
170
+
171
+ #: viewsets/configs/display/instruments.py:83
172
+ msgid "Currency"
173
+ msgstr ""
174
+
175
+ #: viewsets/configs/display/instruments.py:84
176
+ msgid "Country"
177
+ msgstr ""
178
+
179
+ #: viewsets/configs/display/instruments.py:91
180
+ msgid "Extra"
181
+ msgstr ""
182
+
183
+ #: viewsets/configs/display/instruments.py:94
184
+ msgid "Primary"
185
+ msgstr ""
186
+
187
+ #: viewsets/configs/display/instruments.py:95
188
+ msgid "Investable Universe"
189
+ msgstr ""
190
+
191
+ #: viewsets/configs/display/instruments.py:96
192
+ msgid "Security"
193
+ msgstr ""
194
+
195
+ #: viewsets/configs/display/instruments.py:97
196
+ msgid "Internally Managed"
197
+ msgstr ""
198
+
199
+ #: viewsets/configs/display/instruments.py:100
200
+ msgid "Performance"
201
+ msgstr ""
202
+
203
+ #: viewsets/configs/display/instruments.py:330
204
+ msgid "Hierarchy"
205
+ msgstr ""
206
+
207
+ #: viewsets/configs/display/instruments.py:343
208
+ msgid "News"
209
+ msgstr ""
210
+
211
+ #: viewsets/configs/display/officers.py:10
212
+ msgid "Position"
213
+ msgstr ""
214
+
215
+ #: viewsets/configs/display/officers.py:12
216
+ msgid "Age"
217
+ msgstr ""
218
+
219
+ #: viewsets/configs/display/officers.py:13
220
+ msgid "Sex"
221
+ msgstr ""
222
+
223
+ #: viewsets/configs/display/officers.py:14
224
+ msgid "Start"
225
+ msgstr ""
226
+
227
+ #: viewsets/configs/display/prices.py:12
228
+ msgid "Date"
229
+ msgstr ""
230
+
231
+ #: viewsets/configs/display/prices.py:13
232
+ msgid "Open"
233
+ msgstr ""
234
+
235
+ #: viewsets/configs/display/prices.py:14
236
+ msgid "High"
237
+ msgstr ""
238
+
239
+ #: viewsets/configs/display/prices.py:15
240
+ msgid "Low"
241
+ msgstr ""
242
+
243
+ #: viewsets/configs/display/prices.py:16
244
+ msgid "Close"
245
+ msgstr ""
246
+
247
+ #: viewsets/configs/display/prices.py:17
248
+ msgid "Volume"
249
+ msgstr ""
250
+
251
+ #: viewsets/configs/display/prices.py:18
252
+ msgid "Oustanding Shares"
253
+ msgstr ""
254
+
255
+ #: viewsets/configs/display/prices.py:19
256
+ msgid "Market Cap."
257
+ msgstr ""
@@ -0,0 +1,255 @@
1
+ # SOME DESCRIPTIVE TITLE.
2
+ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
3
+ # This file is distributed under the same license as the PACKAGE package.
4
+ # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5
+ #
6
+ msgid ""
7
+ msgstr ""
8
+ "Project-Id-Version: PACKAGE VERSION\n"
9
+ "Report-Msgid-Bugs-To: \n"
10
+ "POT-Creation-Date: 2025-05-30 11:37+0200\n"
11
+ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
12
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
+ "Language-Team: LANGUAGE <LL@li.org>\n"
14
+ "Language: \n"
15
+ "MIME-Version: 1.0\n"
16
+ "Content-Type: text/plain; charset=UTF-8\n"
17
+ "Content-Transfer-Encoding: 8bit\n"
18
+
19
+ #: contrib/metric/filters.py:27
20
+ msgid "Basket Content Type"
21
+ msgstr ""
22
+
23
+ #: contrib/metric/viewsets/configs/utils.py:127
24
+ msgid "Fundamentals"
25
+ msgstr ""
26
+
27
+ #: models/exchanges/exchanges.py:184 viewsets/configs/display/instruments.py:77
28
+ msgid "Exchange"
29
+ msgstr ""
30
+
31
+ #: models/exchanges/exchanges.py:185
32
+ msgid "Exchanges"
33
+ msgstr ""
34
+
35
+ #: models/instruments/instrument_requests.py:116
36
+ #: models/instruments/instrument_requests.py:182
37
+ msgid "An instrument already exists with the proposed identifier"
38
+ msgstr ""
39
+
40
+ #: viewsets/configs/buttons/classifications.py:10
41
+ msgid "Tree Chart"
42
+ msgstr ""
43
+
44
+ #: viewsets/configs/buttons/classifications.py:11
45
+ msgid "Icicle Chart"
46
+ msgstr ""
47
+
48
+ #: viewsets/configs/display/classifications.py:40
49
+ msgid "Child Classifications"
50
+ msgstr ""
51
+
52
+ #: viewsets/configs/display/classifications.py:43
53
+ msgid "Instruments"
54
+ msgstr ""
55
+
56
+ #: viewsets/configs/display/classifications.py:69
57
+ msgid "Classification"
58
+ msgstr ""
59
+
60
+ #: viewsets/configs/display/classifications.py:112
61
+ msgid "Related Instruments"
62
+ msgstr ""
63
+
64
+ #: viewsets/configs/display/esg.py:14
65
+ msgid "Initiated"
66
+ msgstr ""
67
+
68
+ #: viewsets/configs/display/esg.py:15
69
+ msgid "Review"
70
+ msgstr ""
71
+
72
+ #: viewsets/configs/display/esg.py:16
73
+ msgid "Headline"
74
+ msgstr ""
75
+
76
+ #: viewsets/configs/display/esg.py:17
77
+ msgid "Narrative"
78
+ msgstr ""
79
+
80
+ #: viewsets/configs/display/esg.py:18
81
+ msgid "Source"
82
+ msgstr ""
83
+
84
+ #: viewsets/configs/display/esg.py:19
85
+ msgid "Status"
86
+ msgstr ""
87
+
88
+ #: viewsets/configs/display/esg.py:20
89
+ msgid "Type"
90
+ msgstr ""
91
+
92
+ #: viewsets/configs/display/esg.py:21
93
+ msgid "Assessment"
94
+ msgstr ""
95
+
96
+ #: viewsets/configs/display/esg.py:22
97
+ msgid "Response"
98
+ msgstr ""
99
+
100
+ #: viewsets/configs/display/esg.py:70
101
+ msgid "Section"
102
+ msgstr ""
103
+
104
+ #: viewsets/configs/display/esg.py:71
105
+ msgid "Adverse sustainability indicator"
106
+ msgstr ""
107
+
108
+ #: viewsets/configs/display/esg.py:72
109
+ msgid "Metric"
110
+ msgstr ""
111
+
112
+ #: viewsets/configs/display/esg.py:73
113
+ msgid "Factor"
114
+ msgstr ""
115
+
116
+ #: viewsets/configs/display/esg.py:74
117
+ msgid "Value"
118
+ msgstr ""
119
+
120
+ #: viewsets/configs/display/instrument_lists.py:34
121
+ msgid "Exclusion List"
122
+ msgstr ""
123
+
124
+ #: viewsets/configs/display/instrument_lists.py:105
125
+ msgid "Validated"
126
+ msgstr ""
127
+
128
+ #: viewsets/configs/display/instrument_lists.py:109
129
+ msgid "Not Validated"
130
+ msgstr ""
131
+
132
+ #: viewsets/configs/display/instrument_requests.py:95
133
+ msgid "Instrument Data"
134
+ msgstr ""
135
+
136
+ #: viewsets/configs/display/instruments.py:70
137
+ #: viewsets/configs/display/officers.py:11
138
+ msgid "Name"
139
+ msgstr ""
140
+
141
+ #: viewsets/configs/display/instruments.py:73
142
+ msgid "Information"
143
+ msgstr ""
144
+
145
+ #: viewsets/configs/display/instruments.py:76
146
+ msgid "Instrument Type"
147
+ msgstr ""
148
+
149
+ #: viewsets/configs/display/instruments.py:78
150
+ msgid "ISIN"
151
+ msgstr ""
152
+
153
+ #: viewsets/configs/display/instruments.py:79
154
+ msgid "Ticker"
155
+ msgstr ""
156
+
157
+ #: viewsets/configs/display/instruments.py:80
158
+ msgid "RIC"
159
+ msgstr ""
160
+
161
+ #: viewsets/configs/display/instruments.py:81
162
+ msgid "Refinitiv Mnemonic"
163
+ msgstr ""
164
+
165
+ #: viewsets/configs/display/instruments.py:82
166
+ msgid "Description"
167
+ msgstr ""
168
+
169
+ #: viewsets/configs/display/instruments.py:83
170
+ msgid "Currency"
171
+ msgstr ""
172
+
173
+ #: viewsets/configs/display/instruments.py:84
174
+ msgid "Country"
175
+ msgstr ""
176
+
177
+ #: viewsets/configs/display/instruments.py:91
178
+ msgid "Extra"
179
+ msgstr ""
180
+
181
+ #: viewsets/configs/display/instruments.py:94
182
+ msgid "Primary"
183
+ msgstr ""
184
+
185
+ #: viewsets/configs/display/instruments.py:95
186
+ msgid "Investable Universe"
187
+ msgstr ""
188
+
189
+ #: viewsets/configs/display/instruments.py:96
190
+ msgid "Security"
191
+ msgstr ""
192
+
193
+ #: viewsets/configs/display/instruments.py:97
194
+ msgid "Internally Managed"
195
+ msgstr ""
196
+
197
+ #: viewsets/configs/display/instruments.py:100
198
+ msgid "Performance"
199
+ msgstr ""
200
+
201
+ #: viewsets/configs/display/instruments.py:330
202
+ msgid "Hierarchy"
203
+ msgstr ""
204
+
205
+ #: viewsets/configs/display/instruments.py:343
206
+ msgid "News"
207
+ msgstr ""
208
+
209
+ #: viewsets/configs/display/officers.py:10
210
+ msgid "Position"
211
+ msgstr ""
212
+
213
+ #: viewsets/configs/display/officers.py:12
214
+ msgid "Age"
215
+ msgstr ""
216
+
217
+ #: viewsets/configs/display/officers.py:13
218
+ msgid "Sex"
219
+ msgstr ""
220
+
221
+ #: viewsets/configs/display/officers.py:14
222
+ msgid "Start"
223
+ msgstr ""
224
+
225
+ #: viewsets/configs/display/prices.py:12
226
+ msgid "Date"
227
+ msgstr ""
228
+
229
+ #: viewsets/configs/display/prices.py:13
230
+ msgid "Open"
231
+ msgstr ""
232
+
233
+ #: viewsets/configs/display/prices.py:14
234
+ msgid "High"
235
+ msgstr ""
236
+
237
+ #: viewsets/configs/display/prices.py:15
238
+ msgid "Low"
239
+ msgstr ""
240
+
241
+ #: viewsets/configs/display/prices.py:16
242
+ msgid "Close"
243
+ msgstr ""
244
+
245
+ #: viewsets/configs/display/prices.py:17
246
+ msgid "Volume"
247
+ msgstr ""
248
+
249
+ #: viewsets/configs/display/prices.py:18
250
+ msgid "Oustanding Shares"
251
+ msgstr ""
252
+
253
+ #: viewsets/configs/display/prices.py:19
254
+ msgid "Market Cap."
255
+ msgstr ""