bullishpy 0.70.0__tar.gz → 0.74.0__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 bullishpy might be problematic. Click here for more details.
- {bullishpy-0.70.0 → bullishpy-0.74.0}/PKG-INFO +2 -2
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/app/app.py +2 -2
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/database/crud.py +5 -1
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/jobs/tasks.py +18 -16
- {bullishpy-0.70.0 → bullishpy-0.74.0}/pyproject.toml +2 -2
- {bullishpy-0.70.0 → bullishpy-0.74.0}/LICENSE +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/README.md +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/__init__.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/analysis/__init__.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/analysis/analysis.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/analysis/backtest.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/analysis/constants.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/analysis/filter.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/analysis/functions.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/analysis/indicators.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/analysis/industry_views.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/analysis/openai.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/analysis/predefined_filters.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/app/__init__.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/cli.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/database/__init__.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/database/alembic/README +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/database/alembic/alembic.ini +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/database/alembic/env.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/database/alembic/script.py.mako +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/database/alembic/versions/037dbd721317_.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/database/alembic/versions/040b15fba458_.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/database/alembic/versions/08ac1116e055_.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/database/alembic/versions/11d35a452b40_.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/database/alembic/versions/12889a2cbd7d_.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/database/alembic/versions/17e51420e7ad_.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/database/alembic/versions/260fcff7212e_.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/database/alembic/versions/49c83f9eb5ac_.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/database/alembic/versions/4b0a2f40b7d3_.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/database/alembic/versions/4ee82b171449_.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/database/alembic/versions/5b10ee7604c1_.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/database/alembic/versions/65662e214031_.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/database/alembic/versions/660897c02c00_.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/database/alembic/versions/6d252e23f543_.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/database/alembic/versions/73564b60fe24_.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/database/alembic/versions/79bc71ec6f9e_.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/database/alembic/versions/ae444f338124_.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/database/alembic/versions/b36c310f49ec_.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/database/alembic/versions/b76079e9845f_.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/database/alembic/versions/bf6b86dd5463_.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/database/alembic/versions/c828e29e1105_.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/database/alembic/versions/cc28171c21a4_.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/database/alembic/versions/d0e58e050845_.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/database/alembic/versions/d663166c531d_.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/database/alembic/versions/ec25c8fa449f_.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/database/alembic/versions/ee5baabb35f8_.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/database/alembic/versions/fc191121f522_.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/database/alembic/versions/ff0cc4ba40ec_.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/database/schemas.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/database/scripts/create_revision.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/database/scripts/stamp.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/database/scripts/upgrade.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/database/settings.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/exceptions.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/figures/__init__.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/figures/figures.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/interface/__init__.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/interface/interface.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/jobs/__init__.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/jobs/app.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/jobs/models.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/utils/__init__.py +0 -0
- {bullishpy-0.70.0 → bullishpy-0.74.0}/bullish/utils/checks.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: bullishpy
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.74.0
|
|
4
4
|
Summary:
|
|
5
5
|
License-File: LICENSE
|
|
6
6
|
Author: aan
|
|
@@ -8,7 +8,7 @@ Author-email: andoludovic.andriamamonjy@gmail.com
|
|
|
8
8
|
Requires-Python: >=3.12,<3.13
|
|
9
9
|
Classifier: Programming Language :: Python :: 3
|
|
10
10
|
Classifier: Programming Language :: Python :: 3.12
|
|
11
|
-
Requires-Dist: bearishpy (>=0.
|
|
11
|
+
Requires-Dist: bearishpy (>=0.35.0,<0.36.0)
|
|
12
12
|
Requires-Dist: click (>=7.0,<=8.1)
|
|
13
13
|
Requires-Dist: huey (>=2.5.3,<3.0.0)
|
|
14
14
|
Requires-Dist: joblib (>=1.5.1,<2.0.0)
|
|
@@ -80,7 +80,7 @@ def on_table_select() -> None:
|
|
|
80
80
|
|
|
81
81
|
db = bearish_db(st.session_state.database_path)
|
|
82
82
|
if st.session_state.data.empty or (
|
|
83
|
-
not st.session_state.data.iloc[row]["symbol"].to_numpy()
|
|
83
|
+
not st.session_state.data.iloc[row]["symbol"].to_numpy().size > 0
|
|
84
84
|
):
|
|
85
85
|
return
|
|
86
86
|
|
|
@@ -123,7 +123,7 @@ def dialog_pick_database() -> None:
|
|
|
123
123
|
f"The database {db_path} has not the necessary data to run this application. "
|
|
124
124
|
"A backround job will be started to update the data."
|
|
125
125
|
)
|
|
126
|
-
analysis(db_path)
|
|
126
|
+
analysis(db_path, "Update analysis")
|
|
127
127
|
st.rerun()
|
|
128
128
|
if event is None:
|
|
129
129
|
st.stop()
|
|
@@ -74,7 +74,11 @@ class BullishDb(BearishDb, BullishDbBase): # type: ignore
|
|
|
74
74
|
logger.info(
|
|
75
75
|
"Running tickermood upgrade to create the subject table in the database."
|
|
76
76
|
)
|
|
77
|
-
|
|
77
|
+
try:
|
|
78
|
+
tickermood_upgrade(database_url=database_url, no_migration=True)
|
|
79
|
+
except Exception as e:
|
|
80
|
+
logger.error(f"failed to update database: {e}")
|
|
81
|
+
print(f"failed to update database: {e}")
|
|
78
82
|
return engine
|
|
79
83
|
|
|
80
84
|
def model_post_init(self, __context: Any) -> None:
|
|
@@ -4,6 +4,7 @@ from typing import Optional, Any, Callable, List
|
|
|
4
4
|
|
|
5
5
|
import pandas as pd
|
|
6
6
|
from bearish.main import Bearish # type: ignore
|
|
7
|
+
from bearish.models.sec.sec import Secs # type: ignore
|
|
7
8
|
from tickermood.main import get_news # type: ignore
|
|
8
9
|
from tickermood.types import DatabaseConfig # type: ignore
|
|
9
10
|
|
|
@@ -84,6 +85,9 @@ def _base_update(
|
|
|
84
85
|
series_length=update_query.window_size,
|
|
85
86
|
delay=update_query.data_age_in_days,
|
|
86
87
|
)
|
|
88
|
+
bearish.get_prices_index(series_length=update_query.window_size)
|
|
89
|
+
Secs.upload(bearish._bearish_db)
|
|
90
|
+
Secs.update_values(bearish._secs_db)
|
|
87
91
|
if update_query.update_financials:
|
|
88
92
|
bearish.update_financials()
|
|
89
93
|
bullish_db = BullishDb(database_path=database_path)
|
|
@@ -195,22 +199,20 @@ def news(
|
|
|
195
199
|
logger.debug(
|
|
196
200
|
f"extracting news for {symbol} subject: {subject.model_dump()}"
|
|
197
201
|
)
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
task=task,
|
|
213
|
-
)
|
|
202
|
+
try:
|
|
203
|
+
bullish_db.update_analysis(
|
|
204
|
+
symbol,
|
|
205
|
+
subject.model_dump(
|
|
206
|
+
exclude_none=True,
|
|
207
|
+
exclude_unset=True,
|
|
208
|
+
exclude_defaults=True,
|
|
209
|
+
exclude={"symbol"},
|
|
210
|
+
),
|
|
211
|
+
)
|
|
212
|
+
except Exception as e:
|
|
213
|
+
logger.error(f"failed to extract news for {symbol}: {e}")
|
|
214
|
+
print(f"failed to extract news for {symbol}: {e}")
|
|
215
|
+
continue
|
|
214
216
|
|
|
215
217
|
|
|
216
218
|
@huey.periodic_task(crontab(minute="0", hour="8"), context=True) # type: ignore
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "bullishpy"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.74.0"
|
|
4
4
|
description = ""
|
|
5
5
|
authors = ["aan <andoludovic.andriamamonjy@gmail.com>"]
|
|
6
6
|
readme = "README.md"
|
|
7
7
|
packages = [{ include = "bullish" }]
|
|
8
8
|
[tool.poetry.dependencies]
|
|
9
9
|
python = ">=3.12,<3.13"
|
|
10
|
-
bearishpy = "^0.
|
|
10
|
+
bearishpy = "^0.35.0"
|
|
11
11
|
tickermood = "^0.29.0"
|
|
12
12
|
streamlit = "^1.45.1"
|
|
13
13
|
streamlit-pydantic = "^v0.6.1-rc.3"
|
|
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
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|