sovai 0.2.23__tar.gz → 0.2.24__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 (91) hide show
  1. {sovai-0.2.23 → sovai-0.2.24}/PKG-INFO +2 -1
  2. {sovai-0.2.23 → sovai-0.2.24}/pyproject.toml +2 -1
  3. {sovai-0.2.23 → sovai-0.2.24}/sovai/__init__.py +1 -1
  4. {sovai-0.2.23 → sovai-0.2.24}/sovai/plots/bankruptcy/bankruptcy_plots.py +9 -16
  5. {sovai-0.2.23 → sovai-0.2.24}/LICENSE +0 -0
  6. {sovai-0.2.23 → sovai-0.2.24}/README.md +0 -0
  7. {sovai-0.2.23 → sovai-0.2.24}/sovai/api_config.py +0 -0
  8. {sovai-0.2.23 → sovai-0.2.24}/sovai/assets/dropdown.css +0 -0
  9. {sovai-0.2.23 → sovai-0.2.24}/sovai/assets/features_mapping.parq +0 -0
  10. {sovai-0.2.23 → sovai-0.2.24}/sovai/basic_auth.py +0 -0
  11. {sovai-0.2.23 → sovai-0.2.24}/sovai/computations/__init__.py +0 -0
  12. {sovai-0.2.23 → sovai-0.2.24}/sovai/computations/functions.py +0 -0
  13. {sovai-0.2.23 → sovai-0.2.24}/sovai/errors/__init__.py +0 -0
  14. {sovai-0.2.23 → sovai-0.2.24}/sovai/errors/sovai_errors.py +0 -0
  15. {sovai-0.2.23 → sovai-0.2.24}/sovai/extensions/__init__.py +0 -0
  16. {sovai-0.2.23 → sovai-0.2.24}/sovai/extensions/anomalies.py +0 -0
  17. {sovai-0.2.23 → sovai-0.2.24}/sovai/extensions/ask_df_llm.py +0 -0
  18. {sovai-0.2.23 → sovai-0.2.24}/sovai/extensions/change_point_generator.py +0 -0
  19. {sovai-0.2.23 → sovai-0.2.24}/sovai/extensions/clustering.py +0 -0
  20. {sovai-0.2.23 → sovai-0.2.24}/sovai/extensions/core_kshape.py +0 -0
  21. {sovai-0.2.23 → sovai-0.2.24}/sovai/extensions/cum_sum_torch.py +0 -0
  22. {sovai-0.2.23 → sovai-0.2.24}/sovai/extensions/cusum.py +0 -0
  23. {sovai-0.2.23 → sovai-0.2.24}/sovai/extensions/dimensionality_reduction.py +0 -0
  24. {sovai-0.2.23 → sovai-0.2.24}/sovai/extensions/feature_extraction.py +0 -0
  25. {sovai-0.2.23 → sovai-0.2.24}/sovai/extensions/feature_importance.py +0 -0
  26. {sovai-0.2.23 → sovai-0.2.24}/sovai/extensions/feature_neutralizer.py +0 -0
  27. {sovai-0.2.23 → sovai-0.2.24}/sovai/extensions/filter_df.py +0 -0
  28. {sovai-0.2.23 → sovai-0.2.24}/sovai/extensions/fractional_differencing.py +0 -0
  29. {sovai-0.2.23 → sovai-0.2.24}/sovai/extensions/nowcasting.py +0 -0
  30. {sovai-0.2.23 → sovai-0.2.24}/sovai/extensions/pairwise.py +0 -0
  31. {sovai-0.2.23 → sovai-0.2.24}/sovai/extensions/pandas_extensions.py +0 -0
  32. {sovai-0.2.23 → sovai-0.2.24}/sovai/extensions/parallel_functions.py +0 -0
  33. {sovai-0.2.23 → sovai-0.2.24}/sovai/extensions/pfa_feature_selector.py +0 -0
  34. {sovai-0.2.23 → sovai-0.2.24}/sovai/extensions/regime_change.py +0 -0
  35. {sovai-0.2.23 → sovai-0.2.24}/sovai/extensions/regime_change_pca.py +0 -0
  36. {sovai-0.2.23 → sovai-0.2.24}/sovai/extensions/shapley_global_importance.py +0 -0
  37. {sovai-0.2.23 → sovai-0.2.24}/sovai/extensions/shapley_importance.py +0 -0
  38. {sovai-0.2.23 → sovai-0.2.24}/sovai/extensions/signal_evaluation.py +0 -0
  39. {sovai-0.2.23 → sovai-0.2.24}/sovai/extensions/technical_indicators.py +0 -0
  40. {sovai-0.2.23 → sovai-0.2.24}/sovai/extensions/time_decomposition.py +0 -0
  41. {sovai-0.2.23 → sovai-0.2.24}/sovai/extensions/weight_optimization.py +0 -0
  42. {sovai-0.2.23 → sovai-0.2.24}/sovai/get_compute.py +0 -0
  43. {sovai-0.2.23 → sovai-0.2.24}/sovai/get_data.py +0 -0
  44. {sovai-0.2.23 → sovai-0.2.24}/sovai/get_plots.py +0 -0
  45. {sovai-0.2.23 → sovai-0.2.24}/sovai/get_reports.py +0 -0
  46. {sovai-0.2.23 → sovai-0.2.24}/sovai/get_tools.py +0 -0
  47. {sovai-0.2.23 → sovai-0.2.24}/sovai/plots/__init__.py +0 -0
  48. {sovai-0.2.23 → sovai-0.2.24}/sovai/plots/accounting/__init__.py +0 -0
  49. {sovai-0.2.23 → sovai-0.2.24}/sovai/plots/accounting/accounting_plots.py +0 -0
  50. {sovai-0.2.23 → sovai-0.2.24}/sovai/plots/allocation/__init__.py +0 -0
  51. {sovai-0.2.23 → sovai-0.2.24}/sovai/plots/allocation/allocation_plots.py +0 -0
  52. {sovai-0.2.23 → sovai-0.2.24}/sovai/plots/bankruptcy/__init__.py +0 -0
  53. {sovai-0.2.23 → sovai-0.2.24}/sovai/plots/breakout/__init__.py +0 -0
  54. {sovai-0.2.23 → sovai-0.2.24}/sovai/plots/breakout/breakout_plots.py +0 -0
  55. {sovai-0.2.23 → sovai-0.2.24}/sovai/plots/corp_risk/__init__.py +0 -0
  56. {sovai-0.2.23 → sovai-0.2.24}/sovai/plots/corp_risk/corp_risk_plots.py +0 -0
  57. {sovai-0.2.23 → sovai-0.2.24}/sovai/plots/earnings_surprise/__init__.py +0 -0
  58. {sovai-0.2.23 → sovai-0.2.24}/sovai/plots/earnings_surprise/earnings_surprise_plots.py +0 -0
  59. {sovai-0.2.23 → sovai-0.2.24}/sovai/plots/insider/__init__.py +0 -0
  60. {sovai-0.2.23 → sovai-0.2.24}/sovai/plots/insider/insider_plots.py +0 -0
  61. {sovai-0.2.23 → sovai-0.2.24}/sovai/plots/institutional/__init__.py +0 -0
  62. {sovai-0.2.23 → sovai-0.2.24}/sovai/plots/institutional/institutional_plots.py +0 -0
  63. {sovai-0.2.23 → sovai-0.2.24}/sovai/plots/news/__init__.py +0 -0
  64. {sovai-0.2.23 → sovai-0.2.24}/sovai/plots/news/news_plots.py +0 -0
  65. {sovai-0.2.23 → sovai-0.2.24}/sovai/plots/ratios/__init__.py +0 -0
  66. {sovai-0.2.23 → sovai-0.2.24}/sovai/plots/ratios/ratios_plots.py +0 -0
  67. {sovai-0.2.23 → sovai-0.2.24}/sovai/reports/accounting/__inti__.py +0 -0
  68. {sovai-0.2.23 → sovai-0.2.24}/sovai/reports/accounting/accounting_balance_sheet.py +0 -0
  69. {sovai-0.2.23 → sovai-0.2.24}/sovai/reports/bankruptcy/__inti__.py +0 -0
  70. {sovai-0.2.23 → sovai-0.2.24}/sovai/reports/bankruptcy/bankruptcy_monthly_top.py +0 -0
  71. {sovai-0.2.23 → sovai-0.2.24}/sovai/reports/general/__inti__.py +0 -0
  72. {sovai-0.2.23 → sovai-0.2.24}/sovai/reports/general/general_plots.py +0 -0
  73. {sovai-0.2.23 → sovai-0.2.24}/sovai/reports/news/__inti__.py +0 -0
  74. {sovai-0.2.23 → sovai-0.2.24}/sovai/reports/news/news_econometric_analysis.py +0 -0
  75. {sovai-0.2.23 → sovai-0.2.24}/sovai/studies/nowcasting.py +0 -0
  76. {sovai-0.2.23 → sovai-0.2.24}/sovai/token_auth.py +0 -0
  77. {sovai-0.2.23 → sovai-0.2.24}/sovai/tools/sec/__inti__.py +0 -0
  78. {sovai-0.2.23 → sovai-0.2.24}/sovai/tools/sec/llm_code_generator.py +0 -0
  79. {sovai-0.2.23 → sovai-0.2.24}/sovai/tools/sec/sec_10_k_8_k_filings.py +0 -0
  80. {sovai-0.2.23 → sovai-0.2.24}/sovai/tools/sec/sec_edgar_search.py +0 -0
  81. {sovai-0.2.23 → sovai-0.2.24}/sovai/utils/__init__.py +0 -0
  82. {sovai-0.2.23 → sovai-0.2.24}/sovai/utils/client_side.py +0 -0
  83. {sovai-0.2.23 → sovai-0.2.24}/sovai/utils/converter.py +0 -0
  84. {sovai-0.2.23 → sovai-0.2.24}/sovai/utils/datetime_formats.py +0 -0
  85. {sovai-0.2.23 → sovai-0.2.24}/sovai/utils/file_management.py +0 -0
  86. {sovai-0.2.23 → sovai-0.2.24}/sovai/utils/get_tickers.py +0 -0
  87. {sovai-0.2.23 → sovai-0.2.24}/sovai/utils/helpers.py +0 -0
  88. {sovai-0.2.23 → sovai-0.2.24}/sovai/utils/pandas_extensions copy.py +0 -0
  89. {sovai-0.2.23 → sovai-0.2.24}/sovai/utils/plot.py +0 -0
  90. {sovai-0.2.23 → sovai-0.2.24}/sovai/utils/port_manager.py +0 -0
  91. {sovai-0.2.23 → sovai-0.2.24}/sovai/utils/stream.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sovai
3
- Version: 0.2.23
3
+ Version: 0.2.24
4
4
  Summary: python for asset management
5
5
  License: Proprietary License
6
6
  Author: Derek Snow
@@ -15,6 +15,7 @@ Provides-Extra: full
15
15
  Requires-Dist: boto3 (>=1.20)
16
16
  Requires-Dist: dash (>=2.0) ; extra == "full"
17
17
  Requires-Dist: dash-bootstrap-components (>=1.6.0) ; extra == "full"
18
+ Requires-Dist: edgar-tool (>=1.3.3,<2.0.0)
18
19
  Requires-Dist: great-tables (>=0.9) ; extra == "full"
19
20
  Requires-Dist: ipywidgets (>=8.1.3) ; extra == "full"
20
21
  Requires-Dist: joblib (>=1.0)
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "sovai"
3
- version = "0.2.23"
3
+ version = "0.2.24"
4
4
  description = "python for asset management"
5
5
  authors = ["Derek Snow <d.snow@outlook.com>"]
6
6
  license = "Proprietary License"
@@ -60,6 +60,7 @@ ipywidgets = {version = ">=8.1.3", optional = true}
60
60
  polars-talib = {version = "0.1.3", optional = true}
61
61
  dash-bootstrap-components = {version = ">=1.6.0", optional = true}
62
62
  rapidfuzz = "^3.9.7"
63
+ edgar-tool = "^1.3.3"
63
64
 
64
65
  [tool.poetry.extras]
65
66
  full = [
@@ -7,7 +7,7 @@ from .basic_auth import basic_auth
7
7
  from .token_auth import token_auth
8
8
  from .utils.file_management import save_or_update_tickers, save_or_update_codes
9
9
  import warnings
10
- warnings.filterwarnings("ignore", category=FutureWarning, module="dask.dataframe")
10
+ warnings.filterwarnings("ignore", category=FutureWarning)
11
11
 
12
12
 
13
13
  __version__ = "0.1.25"
@@ -124,9 +124,10 @@ def plot_bankruptcy_monthly_line(df, tickers=None):
124
124
  # Set default tickers if None is provided
125
125
  if tickers is None:
126
126
  tickers = ["TSLA", "LULU"]
127
-
127
+
128
128
  # Convert the tickers list to a string (limit to 5 tickers)
129
129
  tickers_str = ", ".join(tickers[:5])
130
+
130
131
  ticker_input = widgets.Text(value=tickers_str, description="Tickers:")
131
132
  probability_column_selector = widgets.Dropdown(
132
133
  options=df.columns, value="probability", description="Probability"
@@ -140,15 +141,13 @@ def plot_bankruptcy_monthly_line(df, tickers=None):
140
141
  same_plot_selector = widgets.Checkbox(value=False, description="Same Plot")
141
142
  dark_mode_selector = widgets.Checkbox(value=True, description="Dark Mode")
142
143
 
143
- # Update the plot_button styling
144
- plot_button = widgets.Button(
145
- description="Plot", layout=widgets.Layout(border="solid 1px blue")
146
- )
144
+ # Create an output widget to display the plot
145
+ output = widgets.Output()
147
146
 
148
147
  # Create a function to update the plot
149
148
  def update_plot(change):
150
149
  with output:
151
- clear_output(wait=True)
150
+ output.clear_output(wait=True)
152
151
  try:
153
152
  tickers = [ticker.strip() for ticker in ticker_input.value.split(",")]
154
153
  plot_ticker_probabilities(
@@ -175,18 +174,8 @@ def plot_bankruptcy_monthly_line(df, tickers=None):
175
174
  same_plot_selector.observe(update_plot, names="value")
176
175
  dark_mode_selector.observe(update_plot, names="value")
177
176
 
178
- # Remove the on_click event from plot_button as it's no longer needed
179
- # plot_button.on_click(on_plot_button_clicked)
180
-
181
- # Create an output widget to display the plot
182
- output = widgets.Output()
183
-
184
- # Initially, display the current plot
185
- update_plot(None) # Pass None because the event parameter is not used
186
-
187
177
  # Function to toggle the visibility of the widget controls
188
178
  def toggle_controls(b):
189
- # Modify to collapse the controls
190
179
  controls_container.layout.display = (
191
180
  "none" if controls_container.layout.display == "flex" else "flex"
192
181
  )
@@ -207,6 +196,10 @@ def plot_bankruptcy_monthly_line(df, tickers=None):
207
196
  # Display the widgets and the output widget
208
197
  display(controls_container, output)
209
198
 
199
+ # Initially, display the current plot
200
+ update_plot(None) # Pass None because the event parameter is not used
201
+
202
+
210
203
 
211
204
  def plot_pca_clusters(df, target="target", max_lag=12, max_date=None):
212
205
  """
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes