From a754628b84b20dbb992906ccb49281e1637b970e Mon Sep 17 00:00:00 2001 From: Deel18 Date: Fri, 23 Apr 2021 20:56:51 +0100 Subject: [PATCH] Removed product type, added option for merge portfolio. Added api to requirements --- gamestonk_terminal/portfolio/dg_api.py | 19 ++++- .../portfolio/portfolio_helpers.py | 17 ++++ requirements-full.txt | 82 +++++++++++++++---- requirements.txt | 5 +- 4 files changed, 104 insertions(+), 19 deletions(-) diff --git a/gamestonk_terminal/portfolio/dg_api.py b/gamestonk_terminal/portfolio/dg_api.py index 6097f716304..5b8341d931f 100644 --- a/gamestonk_terminal/portfolio/dg_api.py +++ b/gamestonk_terminal/portfolio/dg_api.py @@ -1,6 +1,8 @@ import degiroapi +import pandas as pd from termcolor import colored from gamestonk_terminal.config_terminal import DG_USERNAME as user, DG_PASSWORD as pw +from gamestonk_terminal.portfolio.portfolio_helpers import dg_positions_to_df degiro = degiroapi.DeGiro() @@ -19,7 +21,7 @@ def show_holdings(): print("") print( - "ProductType\t Stonk\t Size\t last price \t prev close \t breakeven \t % Change" + "Stonk\t Size\t last price \t prev close \t breakeven \t % Change" ) print("") @@ -31,16 +33,27 @@ def show_holdings(): real_time_info = degiro.real_time_price( stock["id"], degiroapi.Interval.Type.One_Day ) - pos_type = stock_info["productType"] size = stock["size"] break_even = stock["breakEvenPrice"] stonk = stock_info["symbol"] last_price = real_time_info[0]["data"]["lastPrice"] prev_close = real_time_info[0]["data"]["previousClosePrice"] pct_change = round((last_price - prev_close) / prev_close, 3) - to_pr = f"{pos_type}\t\t {stonk}\t {size}\t {last_price}\t\t {prev_close}\t\t {break_even}\t\t {pct_change}" + to_pr = f"{stonk}\t {size}\t {last_price}\t\t {prev_close}\t\t {break_even}\t\t {pct_change}" if last_price >= prev_close: print(colored(to_pr, "green")) else: print(colored(to_pr, "red")) print("") + + +def return_holdings() -> pd.DataFrame: + portfolio = degiro.getdata(degiroapi.Data.Type.PORTFOLIO, True) + + holds = [] + for stock in portfolio: + if stock["positionType"] == "PRODUCT": + stock_info = degiro.product_info(stock["id"]) + stock["id"] = stock_info["symbol"] + holds.append(stock) + return dg_positions_to_df(holds) diff --git a/gamestonk_terminal/portfolio/portfolio_helpers.py b/gamestonk_terminal/portfolio/portfolio_helpers.py index 8947eca4856..e905ac67a89 100644 --- a/gamestonk_terminal/portfolio/portfolio_helpers.py +++ b/gamestonk_terminal/portfolio/portfolio_helpers.py @@ -63,6 +63,23 @@ def rh_positions_to_df(holds: dict): return df +def dg_positions_to_df(holds): + df = pd.DataFrame(columns=["Symbol", "MarketValue", "Quantity", "CostBasis"]) + sym = [] + qty = [] + cb = [] + for stonk in holds: + sym.append(stonk["id"]) + qty.append(stonk["size"]) + cb.append(stonk["breakEvenPrice"]) + df["Symbol"] = sym + df["MarketValue"] = 0 + df["Quantity"] = qty + df["CostBasis"] = cb + df["Broker"] = "dg" + return df + + def merge_portfolios(df: pd.DataFrame) -> pd.DataFrame: if set(df.columns) != {"Symbol", "MarketValue", "Quantity", "CostBasis", "Broker"}: print("Check df generation") diff --git a/requirements-full.txt b/requirements-full.txt index 15e7172d368..37c4f1ea123 100644 --- a/requirements-full.txt +++ b/requirements-full.txt @@ -1,3 +1,4 @@ +absl-py==0.12.0; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.2.0" aiohttp==3.7.4.post0; python_version >= "3.6" alpaca-trade-api==1.2.0 alpha-vantage==2.3.1 @@ -5,6 +6,7 @@ ansiwrap==0.8.4; python_version >= "3.6" appdirs==1.4.4; python_version >= "3.6" appnope==0.1.2; platform_system == "Darwin" and python_version >= "3.6" and sys_platform == "darwin" argon2-cffi==20.1.0; python_version >= "3.6" +astunparse==1.6.3 async-generator==1.10; python_full_version >= "3.6.1" and python_version >= "3.6" async-timeout==3.0.1; python_full_version >= "3.5.3" and python_version >= "3.6" attrs==20.3.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.6" @@ -12,44 +14,66 @@ backcall==0.2.0; python_version >= "3.6" beautifulsoup4==4.9.3; python_version >= "3.5" black==20.8b1; python_version >= "3.6" bleach==3.3.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6" +bpemb==0.3.3; python_version >= "3.6" bs4==0.0.1 +cachetools==4.2.1; python_version >= "3.5" and python_version < "4.0" and (python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0") certifi==2020.12.5; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" cffi==1.14.5; implementation_name == "pypy" and python_version >= "3.6" chardet==4.0.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6" -click==7.1.2; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6" +click==7.1.2; python_full_version >= "3.6.0" and python_version >= "3.6" +cloudpickle==1.6.0; python_version >= "3.6" +cmdstanpy==0.4.0 colorama==0.4.4; (python_version >= "2.7" and python_full_version < "3.0.0") or (python_full_version >= "3.5.0") convertdate==2.3.2; python_version >= "3.5" cryptography==3.4.7; python_version >= "3.6" cssselect==1.1.0; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" cvxpy==1.1.12; python_full_version >= "3.6.1" and python_full_version < "4.0.0" and python_version >= "3.5" cycler==0.10.0; python_version >= "3.6" -cython==0.29.17; python_version >= "3.6" and python_full_version < "3.0.0" and sys_platform == "darwin" or python_full_version >= "3.3.0" and python_version >= "3.6" and sys_platform == "darwin" -dataclasses==0.8; python_version >= "3.6" and python_version < "3.7" +cython==0.29.14; python_version >= "3.6" and python_full_version < "3.0.0" and sys_platform == "darwin" or python_full_version >= "3.3.0" and python_version >= "3.6" and sys_platform == "darwin" +dataclasses==0.8; python_version >= "3.6" and python_version < "3.7" and python_full_version >= "3.6.2" datetime==4.3; python_version >= "3.5" decorator==4.4.2; python_full_version >= "3.6.1" and python_version >= "3.6" and (python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.2.0" and python_version >= "3.6") defusedxml==0.7.1; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6" +degiroapi==0.9.5; python_version >= "3.6" +deprecated==1.2.12; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.6" detecta==0.0.5; python_version >= "3.6" ecos==2.0.7.post1; python_full_version >= "3.6.1" and python_full_version < "4.0.0" and python_version >= "3.5" entrypoints==0.3; python_version >= "3.6" +ephem==3.7.7.1; python_version >= "2.7" and python_version < "4" +fbprophet==0.6 +filelock==3.0.12; python_full_version >= "3.6.0" and python_version >= "3.6" finviz==1.4.1 finvizfinance==0.9.6; python_version >= "3.5" +flair==0.7; python_version >= "3.6" +flatbuffers==1.12 fredapi==0.4.3 +ftfy==6.0.1; python_version >= "3.6" fundamentalanalysis==0.2.7 +future==0.18.2; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.3.0" and python_version >= "3.6" +gast==0.3.3; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" +gdown==3.12.2; python_version >= "3.6" +gensim==3.8.3; python_version >= "3.6" +google-auth-oauthlib==0.4.4; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.2.0" and python_version >= "3.6" +google-auth==1.29.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.6" +google-pasta==0.2.0 +grpcio==1.32.0; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.2.0" h5py==2.10.0 hijri-converter==2.1.1; python_version >= "3.6" holidays==0.10.5.2 +hyperopt==0.2.5; python_version >= "3.6" idna-ssl==1.1.0; python_version < "3.7" and python_version >= "3.6" idna==2.10; python_version >= "3.6" and python_full_version < "3.0.0" and python_version < "3.7" or python_version < "3.7" and python_version >= "3.6" and python_full_version >= "3.5.0" -importlib-metadata==4.0.1; python_version < "3.8" and python_version >= "3.6" +importlib-metadata==3.10.1; python_version < "3.8" and python_version >= "3.6" and python_full_version >= "3.6.1" and python_full_version < "4.0.0" and (python_version >= "3.6" and python_full_version < "3.0.0" and python_version < "3.8" or python_full_version >= "3.2.0" and python_version >= "3.6" and python_version < "3.8") inflection==0.5.1; python_version >= "3.5" ipykernel==5.5.3; python_version >= "3.6" ipython-genutils==0.2.0; python_full_version >= "3.6.1" and python_version >= "3.6" ipython==7.16.1; python_version >= "3.6" ipywidgets==7.6.3 iso8601==0.1.14 +janome==0.4.1; python_version >= "3.6" jedi==0.18.0; python_version >= "3.6" jinja2==2.11.3; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6" -joblib==1.0.1; python_version >= "3.6" +joblib==1.0.1; python_version >= "3.6" and python_full_version >= "3.6.0" jsonschema==3.2.0; python_version >= "3.6" jupyter-client==6.2.0; python_full_version >= "3.6.1" and python_version >= "3.6" jupyter-console==6.4.0; python_version >= "3.6" @@ -57,13 +81,19 @@ jupyter-core==4.7.1; python_full_version >= "3.6.1" and python_version >= "3.6" jupyter==1.0.0 jupyterlab-pygments==0.1.2; python_version >= "3.6" jupyterlab-widgets==1.0.0; python_version >= "3.6" +keras-preprocessing==1.1.2 kiwisolver==1.3.1; python_version >= "3.6" +konoha==4.6.4; python_full_version >= "3.6.1" and python_full_version < "4.0.0" and python_version >= "3.6" korean-lunar-calendar==0.2.1 -lxml==4.6.3; python_version >= "3.5" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.5" +langdetect==1.0.8; python_version >= "3.6" +lunarcalendar==0.0.9; python_version >= "2.7" and python_version < "4" +lxml==4.6.3; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6" +markdown==3.3.4; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.2.0" and python_version >= "3.6" markupsafe==1.1.1; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6" matplotlib==3.3.4; python_version >= "3.6" mistune==0.8.4; python_version >= "3.6" more-itertools==8.7.0; python_version >= "3.5" +mpld3==0.3; python_version >= "3.6" mplfinance==0.12.7a12 msgpack==1.0.2 multidict==5.1.0; python_version >= "3.6" @@ -73,12 +103,15 @@ nbclient==0.5.3; python_full_version >= "3.6.1" and python_version >= "3.6" nbconvert==6.0.7; python_version >= "3.6" nbformat==5.1.3; python_full_version >= "3.6.1" and python_version >= "3.6" nest-asyncio==1.5.1; python_full_version >= "3.6.1" and python_version >= "3.6" +networkx==2.5.1; python_version >= "3.6" notebook==6.3.0; python_version >= "3.6" numpy==1.19.5; python_version >= "3.6" oandapyv20==0.6.3 oauthlib==3.1.0; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" +opt-einsum==3.3.0; python_version >= "3.5" osqp==0.6.2.post0; python_full_version >= "3.6.1" and python_full_version < "4.0.0" and python_version >= "3.5" -packaging==20.9; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6" +overrides==3.1.0; python_full_version >= "3.6.1" and python_full_version < "4.0.0" and python_version >= "3.6" +packaging==20.9; python_full_version >= "3.6.0" and python_version >= "3.6" and (python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6") pandas-ta==0.2.45b pandas==1.1.5; python_full_version >= "3.6.1" pandocfilters==1.4.3; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.6" @@ -96,10 +129,13 @@ prawcore==2.0.0; python_version >= "3.6" and python_version < "4.0" prettytable==2.1.0; python_version >= "3.6" prometheus-client==0.10.1; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.6" prompt-toolkit==3.0.18; python_full_version >= "3.6.1" +protobuf==3.15.8; python_full_version >= "3.6.0" and python_version >= "3.6" psaw==0.0.12; python_version >= "3" ptyprocess==0.7.0; os_name != "nt" and python_version >= "3.6" and sys_platform != "win32" py==1.10.0; python_version >= "3.6" and python_full_version < "3.0.0" and implementation_name == "pypy" or implementation_name == "pypy" and python_version >= "3.6" and python_full_version >= "3.4.0" pyally==1.1.2 +pyasn1-modules==0.2.8; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" +pyasn1==0.4.8; python_version >= "3.5" and python_full_version < "3.0.0" and python_version < "4" and (python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.6") or python_version >= "3.5" and python_version < "4" and (python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.6") and python_full_version >= "3.6.0" pycoingecko==1.4.1 pycparser==2.20; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.6" pygments==2.8.1; python_version >= "3.6" @@ -107,15 +143,16 @@ pymeeus==0.5.11; python_version >= "3.5" pyobjc-core==7.1; python_version >= "3.6" and sys_platform == "darwin" pyobjc-framework-cocoa==7.1; python_version >= "3.6" and sys_platform == "darwin" pyotp==2.6.0; python_version >= "3" -pyparsing==2.4.7; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6" +pyparsing==2.4.7; python_full_version >= "3.6.0" and python_version >= "3.6" and (python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.3.0" and python_version >= "3.6") pyportfolioopt==1.4.1; python_full_version >= "3.6.1" and python_full_version < "4.0.0" pyrsistent==0.14.11 pysocks==1.7.1; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" +pystan==2.19.1.1 python-coinmarketcap==0.2 -python-dateutil==2.8.1; python_full_version >= "3.6.1" and python_version >= "3.6" and (python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.3.0" and python_version >= "3.6") and (python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.3.0") +python-dateutil==2.8.1; python_full_version >= "3.6.1" and python_version >= "3.6" and (python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.3.0" and python_version >= "3.6") and (python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.3.0") and (python_version >= "2.7" and python_full_version < "3.0.0" and python_version < "4" or python_version >= "2.7" and python_version < "4" and python_full_version >= "3.3.0") python-dotenv==0.17.0; python_version >= "3" pytrends==4.7.3 -pytz==2021.1; python_full_version >= "3.6.1" and python_version >= "3.5" +pytz==2021.1; python_full_version >= "3.6.1" and python_version >= "3.5" and python_version < "4" pywin32==300; sys_platform == "win32" and python_version >= "3.6" pywinpty==0.5.7; os_name == "nt" and python_version >= "3.6" pyyaml==5.4.1; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.6" @@ -126,35 +163,50 @@ qtpy==1.9.0; python_version >= "3.6" quandl==3.6.1; python_version >= "3.5" rapidfuzz==1.4.1; python_version >= "3.5" regex==2020.11.13 -requests-oauthlib==1.3.0; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" +requests-oauthlib==1.3.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.6" requests==2.25.1; (python_version >= "2.7" and python_full_version < "3.0.0") or (python_full_version >= "3.5.0") retrying==1.3.3 robin-stocks==2.0.3; python_version >= "3" +rsa==4.7.2; python_version >= "3.5" and python_version < "4" and (python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.6") +sacremoses==0.0.45; python_full_version >= "3.6.0" and python_version >= "3.6" scikit-learn==0.24.1; python_version >= "3.6" scipy==1.5.4; python_version >= "3.6" screeninfo==0.6.7 scs==2.1.3; python_full_version >= "3.6.1" and python_full_version < "4.0.0" and python_version >= "3.5" seaborn==0.11.1; python_version >= "3.6" +segtok==1.5.10; python_version >= "3.6" selenium==3.141.0 send2trash==1.5.0; python_version >= "3.6" -six==1.15.0; python_full_version >= "3.6.1" and python_version >= "3.6" and (python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.3.0") and (python_version >= "3.6" and python_full_version < "3.0.0" and python_version < "4.0" or python_version >= "3.6" and python_version < "4.0" and python_full_version >= "3.4.0") and (python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.3.0" and python_version >= "3.6") and (python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6") +sentencepiece==0.1.91; python_full_version >= "3.6.0" and python_version >= "3.6" +setuptools-git==1.2 +six==1.15.0; python_full_version >= "3.6.1" and python_version >= "3.6" and (python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.3.0") and (python_version >= "3.6" and python_full_version < "3.0.0" and python_version < "4.0" or python_version >= "3.6" and python_version < "4.0" and python_full_version >= "3.4.0") and (python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.3.0" and python_version >= "3.6") and (python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0") and (python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6") +smart-open==5.0.0; python_version >= "3.6" soupsieve==2.2.1; python_version >= "3.6" +sqlitedict==1.7.0; python_version >= "3.6" statsmodels==0.12.2; python_version >= "3.6" tabulate==0.8.9 tenacity==7.0.0; python_version >= "3.6" +tensorboard-data-server==0.6.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.2.0" and python_version >= "3.6" +tensorboard-plugin-wit==1.8.0; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.2.0" +tensorboard==2.5.0; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.2.0" +tensorflow-estimator==2.4.0 +tensorflow==2.4.1 termcolor==1.1.0 terminado==0.9.4; python_version >= "3.6" testpath==0.4.4; python_version >= "3.6" textwrap3==0.9.2; python_version >= "3.6" threadpoolctl==2.1.0; python_version >= "3.6" timeseriescrossvalidation @ git+https://github.com/DidierRLopes/TimeSeriesCrossValidation.git@master +tokenizers==0.9.3; python_full_version >= "3.6.0" and python_version >= "3.6" toml==0.10.2; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.3.0" and python_version >= "3.6" +torch==1.7.1; python_full_version >= "3.6.2" tornado==6.1; python_full_version >= "3.6.1" and python_version >= "3.6" -tqdm==4.60.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.6" +tqdm==4.60.0; python_full_version >= "3.6.0" and python_version >= "3.6" and (python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.6") tradingview-ta==3.2.3; python_version >= "3.5" traitlets==4.3.3; python_full_version >= "3.6.1" and python_version >= "3.6" +transformers==3.5.1; python_full_version >= "3.6.0" typed-ast==1.4.3; python_version >= "3.6" -typing-extensions==3.7.4.3; python_version < "3.8" and python_version >= "3.6" +typing-extensions==3.7.4.3; python_full_version >= "3.6.2" and python_version >= "3.6" and python_version < "3.8" update-checker==0.18.0; python_version >= "3.6" and python_version < "4.0" urllib3==1.26.4; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version < "4" and python_version >= "3.6" user-agent==0.1.9 @@ -162,7 +214,9 @@ wcwidth==0.2.5; python_version >= "3.6" and python_full_version >= "3.6.1" webencodings==0.5.1; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6" websocket-client==0.58.0; python_version >= "3.6" and python_full_version < "3.0.0" and python_version < "4.0" or python_version >= "3.6" and python_version < "4.0" and python_full_version >= "3.4.0" websockets==8.1; python_full_version >= "3.6.1" +werkzeug==1.0.1; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" widgetsnbextension==3.5.1 +wrapt==1.12.1; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.6" yarl==1.6.3; python_version >= "3.6" yfinance==0.1.59 zipp==3.4.1; python_version < "3.8" and python_version >= "3.6" diff --git a/requirements.txt b/requirements.txt index 15e7172d368..981747720d4 100644 --- a/requirements.txt +++ b/requirements.txt @@ -23,11 +23,12 @@ cryptography==3.4.7; python_version >= "3.6" cssselect==1.1.0; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" cvxpy==1.1.12; python_full_version >= "3.6.1" and python_full_version < "4.0.0" and python_version >= "3.5" cycler==0.10.0; python_version >= "3.6" -cython==0.29.17; python_version >= "3.6" and python_full_version < "3.0.0" and sys_platform == "darwin" or python_full_version >= "3.3.0" and python_version >= "3.6" and sys_platform == "darwin" +cython==0.29.14; python_version >= "3.6" and python_full_version < "3.0.0" and sys_platform == "darwin" or python_full_version >= "3.3.0" and python_version >= "3.6" and sys_platform == "darwin" dataclasses==0.8; python_version >= "3.6" and python_version < "3.7" datetime==4.3; python_version >= "3.5" decorator==4.4.2; python_full_version >= "3.6.1" and python_version >= "3.6" and (python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.2.0" and python_version >= "3.6") defusedxml==0.7.1; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6" +degiroapi==0.9.5; python_version >= "3.6" detecta==0.0.5; python_version >= "3.6" ecos==2.0.7.post1; python_full_version >= "3.6.1" and python_full_version < "4.0.0" and python_version >= "3.5" entrypoints==0.3; python_version >= "3.6" @@ -40,7 +41,7 @@ hijri-converter==2.1.1; python_version >= "3.6" holidays==0.10.5.2 idna-ssl==1.1.0; python_version < "3.7" and python_version >= "3.6" idna==2.10; python_version >= "3.6" and python_full_version < "3.0.0" and python_version < "3.7" or python_version < "3.7" and python_version >= "3.6" and python_full_version >= "3.5.0" -importlib-metadata==4.0.1; python_version < "3.8" and python_version >= "3.6" +importlib-metadata==3.10.1; python_version < "3.8" and python_version >= "3.6" inflection==0.5.1; python_version >= "3.5" ipykernel==5.5.3; python_version >= "3.6" ipython-genutils==0.2.0; python_full_version >= "3.6.1" and python_version >= "3.6"