mirror of
https://github.com/OpenBB-finance/OpenBB.git
synced 2026-11-02 07:23:25 +00:00
Merge branch 'develop' into feature/remove-dd-docs
This commit is contained in:
6
.github/workflows/linting.yml
vendored
6
.github/workflows/linting.yml
vendored
@@ -43,16 +43,14 @@ jobs:
|
||||
restore-keys: ${{ runner.os }}-linting-${{ hashFiles('**/poetry.lock') }}
|
||||
|
||||
- run: |
|
||||
pip install bandit black codespell mypy==0.982 pyupgrade safety pylint==2.15.2 packaging==22 ruff==0.0.236
|
||||
pip install bandit black codespell mypy==0.982 safety pylint==2.15.2 packaging==22 ruff==0.0.243
|
||||
pip install types-pytz types-requests types-termcolor types-tabulate types-PyYAML types-python-dateutil types-setuptools types-six
|
||||
- run: bandit -x ./tests -r . || true
|
||||
- run: black --diff --check .
|
||||
- run: codespell --ignore-words-list=commun,statics,ro,zar,zlot,jewl,ba,buil,coo,ether,hist,hsi,mape,navagation,operatio,pres,ser,yeld,shold,ist,varian,datas,ake,creat,vie,hel,ket,toke,certi,buidl,ot,te --quiet-level=2 --skip=./tests,.git,*.css,*.csv,*.html,*.ini,*.ipynb,*.js,*.json,*.lock,*.scss,*.txt,*.yaml,./build/pyinstaller,./website/config.toml
|
||||
- run: ruff .
|
||||
- run: mypy --ignore-missing-imports openbb_terminal
|
||||
- run: shopt -s globstar && pyupgrade --py38-plus **/*.py
|
||||
- run: |
|
||||
pylint terminal.py openbb_terminal tests
|
||||
- run: pylint terminal.py openbb_terminal tests
|
||||
|
||||
markdown-link-check:
|
||||
name: Markdown Linting
|
||||
|
||||
6
.github/workflows/test.yml
vendored
6
.github/workflows/test.yml
vendored
@@ -30,17 +30,15 @@ jobs:
|
||||
key: ${{ runner.os }}-linting-${{ hashFiles('**/poetry.lock') }}
|
||||
restore-keys: ${{ runner.os }}-linting-${{ hashFiles('**/poetry.lock') }}
|
||||
|
||||
- run: pip install bandit black codespell mypy==0.982 pyupgrade safety pylint==2.15.2 packaging==22 ruff==0.0.212
|
||||
- run: pip install bandit black codespell mypy==0.982 safety pylint==2.15.2 packaging==22 ruff==0.0.243
|
||||
- run: pip install types-pytz types-requests types-termcolor types-tabulate types-PyYAML types-python-dateutil types-setuptools types-six
|
||||
- run: bandit -x ./tests -r . || true
|
||||
- run: black --diff --check .
|
||||
- run: codespell --ignore-words-list=commun,statics,ro,zar,zlot,jewl,ba,buil,coo,ether,hist,hsi,mape,navagation,operatio,pres,ser,yeld,shold,ist,varian,datas,ake,creat,vie,hel,ket,toke,certi,buidl,ot,te --quiet-level=2 --skip=./tests,.git,*.css,*.csv,*.html,*.ini,*.ipynb,*.js,*.json,*.lock,*.scss,*.txt,*.yaml,./build/pyinstaller,./website/config.toml
|
||||
- run: ruff .
|
||||
- run: mypy --ignore-missing-imports openbb_terminal
|
||||
- run: shopt -s globstar && pyupgrade --py38-plus **/*.py
|
||||
- run: safety check
|
||||
- run: |
|
||||
pylint terminal.py openbb_terminal tests
|
||||
- run: pylint terminal.py openbb_terminal tests
|
||||
test:
|
||||
name: Base Tests - Ubuntu-latest - Python 3.9
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
7
.pre-commit-config.yaml
vendored
7
.pre-commit-config.yaml
vendored
@@ -14,7 +14,7 @@ repos:
|
||||
hooks:
|
||||
- id: black
|
||||
- repo: https://github.com/charliermarsh/ruff-pre-commit
|
||||
rev: 'v0.0.236'
|
||||
rev: 'v0.0.243'
|
||||
hooks:
|
||||
- id: ruff
|
||||
- repo: https://github.com/codespell-project/codespell
|
||||
@@ -64,11 +64,6 @@ repos:
|
||||
"website/content/api/*",
|
||||
]
|
||||
exclude: package.lock.json
|
||||
- repo: https://github.com/asottile/pyupgrade
|
||||
rev: v3.3.1
|
||||
hooks:
|
||||
- id: pyupgrade
|
||||
args: [--py38-plus]
|
||||
- repo: local
|
||||
hooks:
|
||||
- id: reserved_args
|
||||
|
||||
3
CONTRIBUTING.md
vendored
3
CONTRIBUTING.md
vendored
@@ -1100,9 +1100,8 @@ The following linters are used by our codebase:
|
||||
| bandit | security analyzer |
|
||||
| black | code formatter |
|
||||
| codespell | spelling checker |
|
||||
| flake8 | style guide enforcer |
|
||||
| ruff | a fast python linter |
|
||||
| mypy | static typing checker |
|
||||
| pyupgrade | upgrade syntax for newer versions |
|
||||
| safety | checks security vulnerabilities |
|
||||
| pylint | bug and quality checker |
|
||||
| markdownlint | markdown linter |
|
||||
|
||||
@@ -19,7 +19,10 @@ from openbb_terminal.cryptocurrency.discovery import (
|
||||
)
|
||||
from openbb_terminal.custom_prompt_toolkit import NestedCompleter
|
||||
from openbb_terminal.decorators import log_start_end
|
||||
from openbb_terminal.helper_funcs import EXPORT_ONLY_RAW_DATA_ALLOWED, check_positive
|
||||
from openbb_terminal.helper_funcs import (
|
||||
EXPORT_ONLY_RAW_DATA_ALLOWED,
|
||||
check_positive,
|
||||
)
|
||||
from openbb_terminal.menu import session
|
||||
from openbb_terminal.parent_classes import BaseController
|
||||
from openbb_terminal.rich_config import MenuText, console, get_ordered_list_sources
|
||||
@@ -52,6 +55,16 @@ class DiscoveryController(BaseController):
|
||||
if session and obbff.USE_PROMPT_TOOLKIT:
|
||||
choices: dict = self.choices_default
|
||||
|
||||
ordered_list_sources_top = get_ordered_list_sources(f"{self.PATH}top")
|
||||
if ordered_list_sources_top and ordered_list_sources_top[0] == "CoinGecko":
|
||||
choices["top"]["--sort"] = {
|
||||
c: {} for c in pycoingecko_view.COINS_COLUMNS
|
||||
}
|
||||
else:
|
||||
choices["top"]["--sort"] = {c: {} for c in coinmarketcap_model.FILTERS}
|
||||
|
||||
choices["top"]["-s"] = choices["top"]["--sort"]
|
||||
|
||||
self.completer = NestedCompleter.from_nested_dict(choices)
|
||||
|
||||
def print_help(self):
|
||||
@@ -78,11 +91,6 @@ class DiscoveryController(BaseController):
|
||||
else:
|
||||
argument_sort_default = "CMC_Rank"
|
||||
|
||||
if ordered_list_sources_top and ordered_list_sources_top[0] == "CoinGecko":
|
||||
argument_sort_choices = pycoingecko_view.COINS_COLUMNS
|
||||
else:
|
||||
argument_sort_choices = coinmarketcap_model.FILTERS
|
||||
|
||||
parser = argparse.ArgumentParser(
|
||||
prog="top",
|
||||
add_help=False,
|
||||
@@ -121,7 +129,6 @@ class DiscoveryController(BaseController):
|
||||
nargs="+",
|
||||
help="Sort by given column. Default: Market Cap Rank",
|
||||
default=argument_sort_default,
|
||||
choices=argument_sort_choices,
|
||||
metavar="SORTBY",
|
||||
)
|
||||
parser.add_argument(
|
||||
|
||||
@@ -1335,6 +1335,8 @@ def ask_file_overwrite(file_path: str) -> Tuple[bool, bool]:
|
||||
# Jeroen asked for a flag to overwrite no matter what
|
||||
if obbff.FILE_OVERWITE:
|
||||
return False, True
|
||||
if os.environ.get("TEST_MODE") == "True":
|
||||
return False, True
|
||||
if os.path.exists(file_path):
|
||||
overwrite = input("\nFile already exists. Overwrite? [y/n]: ").lower()
|
||||
if overwrite == "y":
|
||||
@@ -1415,6 +1417,9 @@ def export_data(
|
||||
df.reset_index(drop=True, inplace=True)
|
||||
df.to_json(saved_path)
|
||||
elif exp_type.endswith("xlsx"):
|
||||
# since xlsx does not support datetimes with timezones we need to remove it
|
||||
df = remove_timezone_from_dataframe(df)
|
||||
|
||||
if sheet_name is None:
|
||||
exists, overwrite = ask_file_overwrite(saved_path)
|
||||
if exists and not overwrite:
|
||||
@@ -1461,9 +1466,9 @@ def export_data(
|
||||
return
|
||||
plt.savefig(saved_path)
|
||||
else:
|
||||
console.print("\nWrong export file specified.")
|
||||
console.print("Wrong export file specified.")
|
||||
|
||||
console.print(f"\nSaved file: {saved_path}")
|
||||
console.print(f"Saved file: {saved_path}")
|
||||
|
||||
|
||||
def get_rf() -> float:
|
||||
@@ -2017,3 +2022,45 @@ def request(url: str, method="GET", **kwargs) -> requests.Response:
|
||||
url, headers=headers, timeout=cfg.REQUEST_TIMEOUT, **kwargs
|
||||
)
|
||||
raise ValueError("Method must be GET or POST")
|
||||
|
||||
|
||||
def remove_timezone_from_dataframe(df: pd.DataFrame) -> pd.DataFrame:
|
||||
"""
|
||||
Remove timezone information from a dataframe.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
df : pd.DataFrame
|
||||
The dataframe to remove timezone information from
|
||||
|
||||
Returns
|
||||
-------
|
||||
pd.DataFrame
|
||||
The dataframe with timezone information removed
|
||||
"""
|
||||
|
||||
date_cols = []
|
||||
index_is_date = False
|
||||
|
||||
# Find columns and index containing date data
|
||||
if (
|
||||
df.index.dtype.kind == "M"
|
||||
and hasattr(df.index.dtype, "tz")
|
||||
and df.index.dtype.tz is not None
|
||||
):
|
||||
index_is_date = True
|
||||
|
||||
for col, dtype in df.dtypes.items():
|
||||
if dtype.kind == "M" and hasattr(df.index.dtype, "tz") and dtype.tz is not None:
|
||||
date_cols.append(col)
|
||||
|
||||
# Remove the timezone information
|
||||
for col in date_cols:
|
||||
df[col] = df[col].dt.date
|
||||
|
||||
if index_is_date:
|
||||
index_name = df.index.name
|
||||
df.index = df.index.date
|
||||
df.index.name = index_name
|
||||
|
||||
return df
|
||||
|
||||
4
openbb_terminal/miscellaneous/i18n/en.yml
vendored
4
openbb_terminal/miscellaneous/i18n/en.yml
vendored
@@ -972,12 +972,12 @@ en:
|
||||
portfolio/bro/cb/history: show history of your account
|
||||
portfolio/bro/cb/deposits: show all your deposits or internal transfers
|
||||
portfolio/bro/cb/orders: show all your orders
|
||||
portfolio/po/file: file that contains portfolio risk parameters
|
||||
portfolio/po/file: file that contains portfolio risk parameters (use about for the parameter template)
|
||||
portfolio/po/load: load tickers and categories from .xlsx or .csv file (use load --example for an example)
|
||||
portfolio/po/_loaded: Portfolio loaded
|
||||
portfolio/po/_tickers: Tickers
|
||||
portfolio/po/_categories: Categories
|
||||
portfolio/po/params/load: select portfolio parameter file
|
||||
portfolio/po/params/load: select portfolio parameter file (use about for the parameter template)
|
||||
portfolio/po/params: specify and show portfolio risk parameters
|
||||
portfolio/po/_parameter: Parameter file
|
||||
portfolio/po/_mean_risk_optimization_: Mean Risk Optimization
|
||||
|
||||
@@ -279,13 +279,49 @@ class PortfolioController(BaseController):
|
||||
if OPTIMIZATION_TOOLKIT_ENABLED:
|
||||
if self.portfolio is None:
|
||||
tickers = []
|
||||
categories = None
|
||||
else:
|
||||
tickers = self.portfolio.tickers_list
|
||||
transactions = self.portfolio.get_transactions()
|
||||
|
||||
categories = {
|
||||
"ASSET_CLASS": {},
|
||||
"SECTOR": {},
|
||||
"INDUSTRY": {},
|
||||
"COUNTRY": {},
|
||||
"CURRENT_INVESTED_AMOUNT": {},
|
||||
"CURRENCY": {},
|
||||
}
|
||||
for _, transaction in transactions.iterrows():
|
||||
if transaction["Ticker"] not in categories["ASSET_CLASS"]:
|
||||
categories["ASSET_CLASS"][transaction["Ticker"]] = transaction[
|
||||
"Type"
|
||||
]
|
||||
categories["SECTOR"][transaction["Ticker"]] = transaction[
|
||||
"Sector"
|
||||
]
|
||||
categories["INDUSTRY"][transaction["Ticker"]] = transaction[
|
||||
"Industry"
|
||||
]
|
||||
categories["COUNTRY"][transaction["Ticker"]] = transaction[
|
||||
"Country"
|
||||
]
|
||||
categories["CURRENT_INVESTED_AMOUNT"][
|
||||
transaction["Ticker"]
|
||||
] = transactions[
|
||||
transactions["Ticker"] == transaction["Ticker"]
|
||||
][
|
||||
"Investment"
|
||||
].sum()
|
||||
categories["CURRENCY"][transaction["Ticker"]] = transaction[
|
||||
"Currency"
|
||||
]
|
||||
|
||||
self.queue = self.load_class(
|
||||
po_controller.PortfolioOptimizationController,
|
||||
tickers,
|
||||
None,
|
||||
None,
|
||||
categories,
|
||||
self.queue,
|
||||
)
|
||||
else:
|
||||
|
||||
@@ -302,14 +302,12 @@ def get_property_weights(
|
||||
prop = {}
|
||||
prop_sum = 0
|
||||
for stock in symbols:
|
||||
stock_prop = yf.Ticker(stock).info[s_property]
|
||||
if stock_prop is None:
|
||||
stock_prop = 0
|
||||
stock_prop = get_prop(symbol=stock, prop=s_property)
|
||||
prop[stock] = stock_prop
|
||||
prop_sum += stock_prop
|
||||
|
||||
if prop_sum == 0:
|
||||
console.print(f"No {s_property} was found on list of tickers provided", "\n")
|
||||
console.print(f"No '{s_property}' was found on list of tickers provided", "\n")
|
||||
return None, None
|
||||
|
||||
weights = {k: value * v / prop_sum for k, v in prop.items()}
|
||||
@@ -317,6 +315,48 @@ def get_property_weights(
|
||||
return weights, stock_returns
|
||||
|
||||
|
||||
@log_start_end(log=logger)
|
||||
def get_prop(symbol, prop) -> float:
|
||||
"""Get property from yfinance
|
||||
|
||||
Parameters
|
||||
----------
|
||||
symbol : str
|
||||
Stock ticker
|
||||
prop : str
|
||||
Property to get
|
||||
|
||||
Returns
|
||||
-------
|
||||
dict
|
||||
Ticker info
|
||||
"""
|
||||
prop = yahoo_finance_model.fast_info_map.get(prop, prop)
|
||||
|
||||
try:
|
||||
info = yf.Ticker(symbol).info
|
||||
except Exception as _: # noqa
|
||||
info = None
|
||||
|
||||
try:
|
||||
fast_info = yf.Ticker(symbol).fast_info
|
||||
except Exception as _: # noqa
|
||||
fast_info = None
|
||||
|
||||
info_dict = {}
|
||||
if info:
|
||||
info_dict.update(dict(info))
|
||||
if fast_info:
|
||||
info_dict.update(dict(fast_info))
|
||||
|
||||
if info_dict:
|
||||
value = info_dict.get(prop, 0.0)
|
||||
if not value:
|
||||
return 0.0
|
||||
return value
|
||||
return 0.0
|
||||
|
||||
|
||||
@log_start_end(log=logger)
|
||||
def get_mean_risk_portfolio(
|
||||
symbols: List[str],
|
||||
@@ -1365,6 +1405,9 @@ def get_black_litterman_portfolio(
|
||||
value=value,
|
||||
)
|
||||
|
||||
if benchmark is None:
|
||||
return None, stock_returns
|
||||
|
||||
factor = time_factor[freq.upper()]
|
||||
risk_free_rate = risk_free_rate / factor
|
||||
|
||||
|
||||
@@ -235,6 +235,9 @@ class PortfolioOptimizationController(BaseController):
|
||||
if categories:
|
||||
self.categories = dict(categories)
|
||||
self.available_categories = list(self.categories.keys())
|
||||
|
||||
if "CURRENT_INVESTED_AMOUNT" in self.available_categories:
|
||||
self.available_categories.remove("CURRENT_INVESTED_AMOUNT")
|
||||
else:
|
||||
self.categories = dict()
|
||||
self.available_categories = list()
|
||||
|
||||
@@ -19,9 +19,29 @@ logger = logging.getLogger(__name__)
|
||||
|
||||
# pylint: disable=R0912, E1101
|
||||
|
||||
fast_info_map = {
|
||||
"previousClose": "previous_close",
|
||||
"twoHundredDayAverage": "two_hundred_day_average",
|
||||
"regularMarketDayHigh": "day_high",
|
||||
"averageDailyVolume10Day": "ten_day_average_volume",
|
||||
"regularMarketPreviousClose": "regular_market_previous_close",
|
||||
"fiftyDayAverage": "fifty_day_average",
|
||||
"open": "open",
|
||||
"averageVolume10days": "ten_day_average_volume",
|
||||
"regularMarketDayLow": "day_low",
|
||||
"currency": "currency",
|
||||
"marketCap": "market_cap",
|
||||
"averageVolume": "three_month_average_volume",
|
||||
"dayLow": "day_low",
|
||||
"volume": "last_volume",
|
||||
"fiftyTwoWeekHigh": "year_high",
|
||||
"fiftyTwoWeekLow": "year_low",
|
||||
"dayHigh": "day_high",
|
||||
"regularMarketPrice": "last_price",
|
||||
}
|
||||
|
||||
yf_info_choices = [
|
||||
"previousClose",
|
||||
"regularMarketOpen",
|
||||
"twoHundredDayAverage",
|
||||
"trailingAnnualDividendYield",
|
||||
"payoutRatio",
|
||||
@@ -30,7 +50,6 @@ yf_info_choices = [
|
||||
"navPrice",
|
||||
"averageDailyVolume10Day",
|
||||
"totalAssets",
|
||||
"regularMarketPreviousClose",
|
||||
"fiftyDayAverage",
|
||||
"trailingAnnualDividendRate",
|
||||
"open",
|
||||
@@ -47,11 +66,9 @@ yf_info_choices = [
|
||||
"priceHint",
|
||||
"currency",
|
||||
"trailingPE",
|
||||
"regularMarketVolume",
|
||||
"lastMarket",
|
||||
"maxSupply",
|
||||
"openInterest",
|
||||
"marketCap",
|
||||
"volumeAllCurrencies",
|
||||
"strikePrice",
|
||||
"averageVolume",
|
||||
|
||||
23
poetry.lock
generated
vendored
23
poetry.lock
generated
vendored
@@ -3499,17 +3499,6 @@ python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7"
|
||||
"backports.zoneinfo" = {version = "*", markers = "python_version >= \"3.6\" and python_version < \"3.9\""}
|
||||
tzdata = {version = "*", markers = "python_version >= \"3.6\""}
|
||||
|
||||
[[package]]
|
||||
name = "pyupgrade"
|
||||
version = "2.38.4"
|
||||
description = "A tool to automatically upgrade syntax for newer versions."
|
||||
category = "dev"
|
||||
optional = false
|
||||
python-versions = ">=3.7"
|
||||
|
||||
[package.dependencies]
|
||||
tokenize-rt = "<5"
|
||||
|
||||
[[package]]
|
||||
name = "pywin32"
|
||||
version = "305"
|
||||
@@ -4458,14 +4447,6 @@ webencodings = ">=0.4"
|
||||
doc = ["sphinx", "sphinx-rtd-theme"]
|
||||
test = ["pytest", "isort", "flake8"]
|
||||
|
||||
[[package]]
|
||||
name = "tokenize-rt"
|
||||
version = "4.2.1"
|
||||
description = "A wrapper around the stdlib `tokenize` which roundtrips."
|
||||
category = "dev"
|
||||
optional = false
|
||||
python-versions = ">=3.6.1"
|
||||
|
||||
[[package]]
|
||||
name = "tokenterminal"
|
||||
version = "1.0.1"
|
||||
@@ -5083,7 +5064,7 @@ prediction = ["torch", "pytorch-lightning", "u8darts"]
|
||||
[metadata]
|
||||
lock-version = "1.1"
|
||||
python-versions = "^3.8,<3.11, !=3.9.7"
|
||||
content-hash = "6082422c6e0601e87e9df33daa3393f6d4afffdb867ecf6db74e33622ecf41fd"
|
||||
content-hash = "8b59d3adb985f6b1586d40087f128c9f0224a0bc8d1152ece42f304be8ae3483"
|
||||
|
||||
[metadata.files]
|
||||
absl-py = []
|
||||
@@ -5351,7 +5332,6 @@ pytorch-lightning = []
|
||||
pytrends = []
|
||||
pytz = []
|
||||
pytz-deprecation-shim = []
|
||||
pyupgrade = []
|
||||
pywin32 = []
|
||||
pywin32-ctypes = []
|
||||
pywinpty = []
|
||||
@@ -5418,7 +5398,6 @@ textwrap3 = []
|
||||
thepassiveinvestor = []
|
||||
threadpoolctl = []
|
||||
tinycss2 = []
|
||||
tokenize-rt = []
|
||||
tokenterminal = []
|
||||
toml = []
|
||||
tomli = []
|
||||
|
||||
12
pyproject.toml
vendored
12
pyproject.toml
vendored
@@ -117,7 +117,6 @@ pylint = "2.15.2"
|
||||
mypy = "^0.930"
|
||||
mock = "^4.0.3"
|
||||
codespell = "^2.0.0"
|
||||
pyupgrade = "^2.11.0"
|
||||
sphinx = "^4.5.0"
|
||||
myst-parser = "^0.15.2"
|
||||
black = "^23.1.0"
|
||||
@@ -160,8 +159,9 @@ target-version = "py38"
|
||||
# This is an introductory addition of ruff. We should look to adding:
|
||||
# D: pydocstyle, PD: pandas-vet
|
||||
# All options here: https://github.com/charliermarsh/ruff#supported-rules
|
||||
select = ["E", "W", "F", "Q", "W", "S", "UP", "I"]
|
||||
ignore = ["S105", "S106", "S107"]
|
||||
select = ["E", "W", "F", "Q", "S", "UP", "I", "PLC", "PLE", "PLR", "PLW"]
|
||||
# These ignores should be seen as temporary solutions to problems that will NEED fixed
|
||||
ignore = ["S105", "S106", "S107", "S110", "PLR2004", "PLR0911", "PLR0913", "PLR0912", "PLR0915"]
|
||||
|
||||
[tool.ruff.per-file-ignores]
|
||||
"tests/*" = ["S101"]
|
||||
@@ -176,6 +176,12 @@ seaborn = "sns"
|
||||
combine-as-imports = true
|
||||
force-wrap-aliases = true
|
||||
|
||||
[tool.ruff.pylint]
|
||||
max-args=8
|
||||
max-branches=25
|
||||
max-returns=9
|
||||
max-statements=30
|
||||
|
||||
[tool.isort]
|
||||
profile = "black"
|
||||
line_length = 122
|
||||
|
||||
15
requirements-full.txt
vendored
15
requirements-full.txt
vendored
@@ -9,13 +9,11 @@ ansiwrap==0.8.4; python_version >= "3.7"
|
||||
anyio==3.6.2; python_full_version >= "3.6.2" and python_version >= "3.8" and python_version < "4.0"
|
||||
appdirs==1.4.4
|
||||
appnope==0.1.3; sys_platform == "darwin" and python_version >= "3.8" and platform_system == "Darwin" and python_full_version >= "3.7.0" and python_full_version < "4.0.0"
|
||||
arch==5.3.1; python_version >= "3.7"
|
||||
argon2-cffi-bindings==21.2.0; python_version >= "3.7"
|
||||
argon2-cffi==21.3.0; python_version >= "3.7"
|
||||
ascii-magic==1.6; python_version >= "3.5"
|
||||
astor==0.8.1; python_full_version >= "3.7.1" and python_full_version < "4.0.0" and python_version >= "3.8"
|
||||
astroid==2.13.5; python_full_version >= "3.7.2"
|
||||
astropy==5.2.1; python_version >= "3.8"
|
||||
asttokens==2.2.1; python_version >= "3.8"
|
||||
async-timeout==4.0.2; python_version >= "3.8" and python_version < "4.0" and python_full_version >= "3.7.0"
|
||||
atomicwrites==1.4.1; sys_platform == "win32" and python_version >= "3.7" and python_full_version >= "3.7.0" and python_full_version < "4.0.0"
|
||||
@@ -51,7 +49,6 @@ convertdate==2.4.0; python_version >= "3.7" and python_version < "4"
|
||||
coverage==7.1.0; python_version >= "3.7"
|
||||
cryptography==39.0.0; python_version >= "3.6"
|
||||
cssselect==1.2.0; python_version >= "3.8" and python_version < "4.0"
|
||||
cvxpy==1.3.0; python_version >= "3.7"
|
||||
cycler==0.11.0; python_version >= "3.7"
|
||||
cython==0.29.33; python_version >= "3.8" and python_full_version < "3.0.0" and sys_platform == "darwin" or python_full_version >= "3.3.0" and sys_platform == "darwin" and python_version >= "3.8"
|
||||
dateparser==1.1.7; python_version >= "3.7"
|
||||
@@ -66,7 +63,6 @@ dill==0.3.6; python_version >= "3.7" and python_full_version >= "3.7.2"
|
||||
distlib==0.3.6; python_version >= "3.7"
|
||||
dnspython==2.3.0; python_version >= "3.7" and python_version < "4.0"
|
||||
docutils==0.17.1; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
|
||||
ecos==2.0.12; python_version >= "3.7"
|
||||
entrypoints==0.4; python_full_version >= "3.7.0" and python_full_version < "4.0.0" and python_version >= "3.8" and (python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7")
|
||||
ephem==4.1.4; python_version >= "3.7" and python_version < "4"
|
||||
et-xmlfile==1.1.0; python_version >= "3.6"
|
||||
@@ -164,7 +160,6 @@ nbconvert==7.2.9; python_version >= "3.7"
|
||||
nbformat==5.7.3; python_full_version >= "3.7.0" and python_full_version < "4.0.0" and python_version >= "3.7"
|
||||
nbmake==1.3.5; python_full_version >= "3.7.0" and python_full_version < "4.0.0"
|
||||
nest-asyncio==1.5.6; python_full_version >= "3.7.0" and python_full_version < "4.0.0" and python_version >= "3.8"
|
||||
networkx==3.0; python_version >= "3.8"
|
||||
nfoursid==1.0.1; python_version >= "3.7"
|
||||
nodeenv==1.7.0; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.7.0" and python_version >= "3.7"
|
||||
notebook-shim==0.2.2; python_version >= "3.7"
|
||||
@@ -175,7 +170,6 @@ oandapyv20==0.6.3
|
||||
oauthlib==3.2.2; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.6"
|
||||
onetimepass==1.0.1; python_full_version >= "3.7.1" and python_full_version < "4.0.0"
|
||||
openpyxl==3.1.0; python_version >= "3.6"
|
||||
osqp==0.6.2.post8; python_version >= "3.7"
|
||||
packaging==23.0; python_version >= "3.7"
|
||||
pandas-datareader==0.10.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.6"
|
||||
pandas-market-calendars==3.2; python_full_version >= "3.7.0"
|
||||
@@ -218,7 +212,6 @@ pycparser==2.21; python_version >= "3.6" and python_full_version < "3.0.0" or py
|
||||
pydantic==1.10.4; python_full_version >= "3.7.0" and python_full_version < "4.0.0" and python_version >= "3.7"
|
||||
pydeck==0.8.0; python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7"
|
||||
pydeprecate==0.3.2; python_version >= "3.7"
|
||||
pyerfa==2.0.0.1; python_version >= "3.8"
|
||||
pyex==0.5.0
|
||||
pyflakes==2.5.0; python_version >= "3.6" and python_full_version >= "3.7.0"
|
||||
pygments==2.14.0; python_version >= "3.6"
|
||||
@@ -248,12 +241,10 @@ pytorch-lightning==1.6.5; python_version >= "3.7"
|
||||
pytrends==4.9.0; python_version >= "3.7"
|
||||
pytz-deprecation-shim==0.1.0.post0; python_version >= "3.7" and python_full_version < "3.0.0" or python_version >= "3.7" and python_full_version < "3.9.7" and python_full_version >= "3.6.0" or python_full_version > "3.9.7" and python_version >= "3.7"
|
||||
pytz==2022.7.1; python_full_version >= "3.7.1" and python_full_version < "4.0.0" and python_version >= "3.8" and (python_version >= "3.8" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.8") and python_version < "4.0"
|
||||
pyupgrade==2.38.4; python_version >= "3.7"
|
||||
pywin32==305; sys_platform == "win32" and platform_python_implementation != "PyPy" and python_version >= "3.8"
|
||||
pywinpty==2.0.10; os_name == "nt" and python_version >= "3.7"
|
||||
pyyaml==6.0; python_version >= "3.8"
|
||||
pyyaml==6.0; python_version >= "3.7"
|
||||
pyzmq==25.0.0; python_full_version >= "3.7.0" and python_full_version < "4.0.0" and python_version >= "3.8"
|
||||
qdldl==0.1.5.post3; python_version >= "3.7"
|
||||
quandl==3.7.0; python_version >= "3.6"
|
||||
rapidfuzz==1.9.1; python_version >= "2.7"
|
||||
rdflib==6.2.0; python_version >= "3.7"
|
||||
@@ -262,7 +253,6 @@ requests-oauthlib==1.3.1; python_version >= "3.7" and python_full_version < "3.0
|
||||
requests==2.28.2; python_version >= "3.7" and python_version < "4"
|
||||
rfc3986==1.5.0; python_version >= "3.8" and python_version < "4.0"
|
||||
rich==12.6.0; python_full_version >= "3.6.3" and python_full_version < "4.0.0"
|
||||
riskfolio-lib==3.3.0; python_version >= "3.7"
|
||||
robin-stocks==2.1.0; python_version >= "3"
|
||||
rsa==4.9; python_version >= "3.6" and python_version < "4" and (python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.7")
|
||||
ruamel.yaml.clib==0.2.7; platform_python_implementation == "CPython" and python_version < "3.11" and python_version >= "3.5"
|
||||
@@ -271,7 +261,6 @@ ruff==0.0.236; python_version >= "3.7"
|
||||
scikit-learn==1.2.1; python_version >= "3.8" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.8"
|
||||
scipy==1.10.0; python_version >= "3.8" and python_version < "3.12"
|
||||
screeninfo==0.6.7
|
||||
scs==3.2.2; python_version >= "3.7"
|
||||
seaborn==0.11.2; python_version >= "3.6"
|
||||
semver==2.13.0; python_version >= "3.7" and python_full_version < "3.0.0" or python_version >= "3.7" and python_full_version < "3.9.7" and python_full_version >= "3.4.0" or python_full_version > "3.9.7"
|
||||
send2trash==1.8.0; python_version >= "3.7"
|
||||
@@ -314,7 +303,6 @@ textwrap3==0.9.2; python_version >= "3.7"
|
||||
thepassiveinvestor==1.1.2
|
||||
threadpoolctl==3.1.0; python_version >= "3.8" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.8"
|
||||
tinycss2==1.2.1; python_version >= "3.7"
|
||||
tokenize-rt==4.2.1; python_full_version >= "3.6.1" and python_version >= "3.7"
|
||||
tokenterminal==1.0.1
|
||||
toml==0.10.2; python_version >= "3.7" and python_full_version < "3.9.7" and python_full_version >= "3.7.0" or python_full_version > "3.9.7" and python_version >= "3.7" and python_full_version < "4.0.0"
|
||||
tomli==2.0.1; python_version < "3.11" and python_full_version >= "3.7.2" and python_version >= "3.8" and python_full_version <= "3.11.0a6"
|
||||
@@ -359,7 +347,6 @@ win32-setctime==1.1.0; python_version >= "3.5" and python_full_version >= "3.7.0
|
||||
wrapt==1.14.1; python_full_version >= "3.7.2" and python_full_version < "4.0.0" and (python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.7") and python_version >= "3.8" and python_version < "3.11"
|
||||
xarray==2023.1.0; python_version >= "3.8"
|
||||
xgboost==1.7.3; python_version >= "3.8"
|
||||
xlsxwriter==3.0.8; python_version >= "3.7"
|
||||
yarl==1.8.2; python_version >= "3.8" and python_version < "4.0" and python_full_version >= "3.7.0"
|
||||
yfinance==0.2.9
|
||||
zipp==3.12.0; python_version >= "3.7" and python_full_version < "3.9.7" and python_version < "3.10" or python_full_version > "3.9.7" and python_version >= "3.7" and python_version < "3.10"
|
||||
|
||||
111
requirements.txt
vendored
111
requirements.txt
vendored
@@ -1,31 +1,26 @@
|
||||
aiodns==3.0.0; python_version >= "3.5.2" and python_full_version >= "3.7.0"
|
||||
aiohttp==3.8.3; python_version >= "3.8" and python_version < "4.0" and python_full_version >= "3.7.0"
|
||||
aiosignal==1.3.1; python_version >= "3.8" and python_version < "4.0" and python_full_version >= "3.7.0"
|
||||
alabaster==0.7.13; python_version >= "3.6"
|
||||
alpha-vantage==2.3.1
|
||||
altair==4.2.2; python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7"
|
||||
ansiwrap==0.8.4; python_version >= "3.7"
|
||||
anyio==3.6.2; python_full_version >= "3.6.2" and python_version >= "3.8" and python_version < "4.0"
|
||||
appdirs==1.4.4
|
||||
appnope==0.1.3; sys_platform == "darwin" and python_version >= "3.8" and platform_system == "Darwin" and python_full_version >= "3.7.0" and python_full_version < "4.0.0"
|
||||
appnope==0.1.3; sys_platform == "darwin" and python_version >= "3.8" and platform_system == "Darwin"
|
||||
argon2-cffi-bindings==21.2.0; python_version >= "3.7"
|
||||
argon2-cffi==21.3.0; python_version >= "3.7"
|
||||
ascii-magic==1.6; python_version >= "3.5"
|
||||
astor==0.8.1; python_full_version >= "3.7.1" and python_full_version < "4.0.0" and python_version >= "3.8"
|
||||
astroid==2.13.5; python_full_version >= "3.7.2"
|
||||
asttokens==2.2.1; python_version >= "3.8"
|
||||
async-timeout==4.0.2; python_version >= "3.8" and python_version < "4.0" and python_full_version >= "3.7.0"
|
||||
atomicwrites==1.4.1; sys_platform == "win32" and python_version >= "3.7" and python_full_version >= "3.7.0" and python_full_version < "4.0.0"
|
||||
attrs==21.4.0; python_full_version >= "3.7.0" and python_version >= "3.8" and python_version < "4.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.5.0") and python_full_version < "4.0.0" and (python_version >= "3.7" and python_full_version < "3.9.7" and python_full_version >= "3.7.0" or python_full_version > "3.9.7" and python_version >= "3.7" and python_full_version < "4.0.0")
|
||||
attrs==21.4.0; python_version >= "3.8" and python_version < "4.0" and python_full_version >= "3.7.0" and (python_version >= "3.7" and python_full_version < "3.9.7" and python_full_version >= "3.7.0" or python_full_version > "3.9.7" and python_version >= "3.7")
|
||||
babel==2.11.0; python_version >= "3.7"
|
||||
backcall==0.2.0; python_version >= "3.8"
|
||||
backoff==2.2.1; python_version >= "3.7" and python_version < "4.0" and python_full_version >= "3.7.0"
|
||||
backports.zoneinfo==0.2.1; python_version >= "3.7" and python_full_version < "3.9.7" and python_version < "3.9" and (python_version >= "3.7" and python_full_version < "3.0.0" or python_version >= "3.7" and python_full_version < "3.9.7" and python_full_version >= "3.6.0" or python_full_version > "3.9.7" and python_version >= "3.7") or python_full_version > "3.9.7" and python_version >= "3.7" and python_version < "3.9" and (python_version >= "3.7" and python_full_version < "3.0.0" or python_version >= "3.7" and python_full_version < "3.9.7" and python_full_version >= "3.6.0" or python_full_version > "3.9.7" and python_version >= "3.7")
|
||||
bandit==1.7.4; python_version >= "3.7"
|
||||
base58==2.1.1; python_version >= "3.5" and python_full_version >= "3.7.0"
|
||||
beartype==0.7.1; python_version >= "3.8" and python_version < "4.0" and python_full_version >= "3.6.0"
|
||||
beautifulsoup4==4.11.2; python_version >= "3.8" and python_version < "4.0" and python_full_version >= "3.6.0"
|
||||
black==23.1.0; python_version >= "3.7"
|
||||
bleach==6.0.0; python_version >= "3.7"
|
||||
blinker==1.5; python_version >= "3.7" and python_full_version < "3.0.0" or python_version >= "3.7" and python_full_version < "3.9.7" and python_full_version >= "3.5.0" or python_full_version > "3.9.7"
|
||||
bs4==0.0.1
|
||||
@@ -33,40 +28,33 @@ bt==0.2.9; (python_version >= "2.7" and python_full_version < "3.0.0") or (pytho
|
||||
cachetools==5.3.0; python_version >= "3.7" and python_version < "4.0" and (python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7")
|
||||
ccxt==2.7.36
|
||||
certifi==2022.12.7; python_version >= "3.8" and python_version < "4" and python_full_version >= "3.7.1" and python_full_version < "4.0.0" and (python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7")
|
||||
cffi==1.15.1; implementation_name == "pypy" and python_version >= "3.8" and python_full_version >= "3.7.0" and python_full_version < "4.0.0"
|
||||
cfgv==3.3.1; python_full_version >= "3.6.1" and python_version >= "3.7"
|
||||
cffi==1.15.1; implementation_name == "pypy" and python_version >= "3.8" and python_full_version >= "3.7.0"
|
||||
charset-normalizer==2.1.1; python_full_version >= "3.6.0"
|
||||
click==8.1.3; python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7"
|
||||
codespell==2.2.2; python_version >= "3.7"
|
||||
colorama==0.4.6; python_full_version >= "3.7.2" and python_version >= "3.8" and sys_platform == "win32" and (python_version >= "3.6" and python_full_version < "3.0.0" and sys_platform == "win32" or sys_platform == "win32" and python_version >= "3.6" and python_full_version >= "3.7.0") and (python_version >= "3.7" and python_full_version < "3.0.0" and platform_system == "Windows" or platform_system == "Windows" and python_version >= "3.7" and python_full_version >= "3.7.0") and (python_version >= "3.8" and python_full_version < "3.0.0" and python_version < "4.0" and platform_system == "Windows" or python_version >= "3.8" and python_version < "4.0" and python_full_version >= "3.7.0" and platform_system == "Windows") and (python_version >= "3.7" and python_full_version < "3.0.0" and platform_system == "Windows" and (python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7") or platform_system == "Windows" and python_version >= "3.7" and (python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7") and python_full_version >= "3.7.0") and (python_version >= "3.8" and python_full_version < "3.0.0" and sys_platform == "win32" or sys_platform == "win32" and python_version >= "3.8" and python_full_version >= "3.7.0") and python_full_version < "4.0.0"
|
||||
comm==0.1.2; python_full_version >= "3.7.0" and python_full_version < "4.0.0" and python_version >= "3.8"
|
||||
colorama==0.4.6; python_full_version >= "3.7.0" and python_version >= "3.8" and sys_platform == "win32" and python_version < "4.0" and platform_system == "Windows" and (python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7")
|
||||
comm==0.1.2; python_version >= "3.8"
|
||||
commonmark==0.9.1; python_full_version >= "3.6.3" and python_full_version < "4.0.0" and (python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7")
|
||||
convertdate==2.4.0; python_version >= "3.7" and python_version < "4"
|
||||
coverage==7.1.0; python_version >= "3.7"
|
||||
cryptography==39.0.0; python_version >= "3.6"
|
||||
cssselect==1.2.0; python_version >= "3.8" and python_version < "4.0"
|
||||
cycler==0.11.0; python_version >= "3.7"
|
||||
cython==0.29.33; python_version >= "3.8" and python_full_version < "3.0.0" and sys_platform == "darwin" or python_full_version >= "3.3.0" and sys_platform == "darwin" and python_version >= "3.8"
|
||||
dateparser==1.1.7; python_version >= "3.7"
|
||||
datetime==5.0; python_version >= "3.5"
|
||||
debugpy==1.6.6; python_full_version >= "3.7.0" and python_full_version < "4.0.0" and python_version >= "3.8"
|
||||
debugpy==1.6.6; python_version >= "3.8"
|
||||
decorator==5.1.1; python_version >= "3.8" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.8" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.8"
|
||||
defusedxml==0.7.1; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.7"
|
||||
degiro-connector==2.0.21; python_full_version >= "3.7.1" and python_full_version < "4.0.0"
|
||||
deprecation==2.1.0
|
||||
detecta==0.0.5; python_version >= "3.6"
|
||||
dill==0.3.6; python_version >= "3.7" and python_full_version >= "3.7.2"
|
||||
distlib==0.3.6; python_version >= "3.7"
|
||||
dnspython==2.3.0; python_version >= "3.7" and python_version < "4.0"
|
||||
docutils==0.17.1; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
|
||||
entrypoints==0.4; python_full_version >= "3.7.0" and python_full_version < "4.0.0" and python_version >= "3.8" and (python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7")
|
||||
entrypoints==0.4; python_version >= "3.8" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.8"
|
||||
et-xmlfile==1.1.0; python_version >= "3.6"
|
||||
exchange-calendars==4.2.5; python_version >= "3.8" and python_version < "4.0" and python_full_version >= "3.7.0"
|
||||
executing==1.2.0; python_version >= "3.8"
|
||||
fastjsonschema==2.16.2; python_full_version >= "3.7.0" and python_full_version < "4.0.0" and python_version >= "3.7"
|
||||
fastjsonschema==2.16.2; python_full_version >= "3.7.0" and python_version >= "3.7"
|
||||
feedparser==6.0.10; python_version >= "3.6"
|
||||
ffn==0.3.6; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0"
|
||||
filelock==3.9.0; python_version >= "3.7"
|
||||
financedatabase==1.0.2
|
||||
finnhub-python==2.4.16
|
||||
finviz==1.4.5; python_version >= "3.8" and python_version < "4.0"
|
||||
@@ -89,31 +77,27 @@ holidays==0.14.2; python_version >= "3.7"
|
||||
html5lib==1.1; (python_version >= "2.7" and python_full_version < "3.0.0") or (python_full_version >= "3.5.0")
|
||||
httpcore==0.16.3; python_version >= "3.8" and python_version < "4.0"
|
||||
httpx==0.23.3; python_version >= "3.8" and python_version < "4.0"
|
||||
identify==2.5.17; python_version >= "3.7"
|
||||
idna==3.4; python_version >= "3.8" and python_version < "4" and python_full_version >= "3.7.1" and python_full_version < "4.0.0" and (python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7")
|
||||
imagesize==1.4.1; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.6"
|
||||
importlib-metadata==6.0.0; python_version >= "3.7" and python_full_version < "3.9.7" and python_version < "3.10" or python_full_version > "3.9.7" and python_version >= "3.7" and python_version < "3.10"
|
||||
inflection==0.5.1; python_version >= "3.6"
|
||||
iniconfig==2.0.0; python_full_version >= "3.7.0" and python_full_version < "4.0.0" and python_version >= "3.7"
|
||||
interface-meta==1.3.0; python_version >= "3.8" and python_version < "4.0" and python_full_version >= "3.7.1" and python_full_version < "4.0.0"
|
||||
investiny==0.5.0; python_version >= "3.8" and python_version < "4.0"
|
||||
investpy==1.0.8; python_version >= "3.7"
|
||||
ipyflex==0.2.6; python_version >= "3.6"
|
||||
ipykernel==6.21.1; python_full_version >= "3.7.0" and python_full_version < "4.0.0" and python_version >= "3.8"
|
||||
ipykernel==6.21.1; python_version >= "3.8"
|
||||
ipympl==0.8.4
|
||||
ipython-genutils==0.2.0; python_version >= "3.7"
|
||||
ipython==8.5.0; python_version >= "3.8"
|
||||
ipywidgets==8.0.4; python_version >= "3.7"
|
||||
iso8601==0.1.16
|
||||
isodate==0.6.1; python_version >= "3.7"
|
||||
isort==5.12.0; python_full_version >= "3.8.0"
|
||||
jedi==0.18.2; python_version >= "3.8"
|
||||
jinja2==3.1.2; python_version >= "3.7"
|
||||
joblib==1.2.0; python_version >= "3.8" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.8"
|
||||
json5==0.9.11; python_version >= "3.7"
|
||||
jsonschema==3.2.0
|
||||
jupyter-client==7.4.1; python_full_version >= "3.7.0" and python_full_version < "4.0.0" and python_version >= "3.8"
|
||||
jupyter-core==5.2.0; python_full_version >= "3.7.0" and python_full_version < "4.0.0" and python_version >= "3.8"
|
||||
jupyter-client==7.4.1; python_full_version >= "3.7.0" and python_version >= "3.8"
|
||||
jupyter-core==5.2.0; python_full_version >= "3.7.0" and python_version >= "3.8"
|
||||
jupyter-server==1.23.5; python_version >= "3.7"
|
||||
jupyterlab-pygments==0.2.2; python_version >= "3.7"
|
||||
jupyterlab-server==2.16.6; python_version >= "3.7"
|
||||
@@ -121,33 +105,25 @@ jupyterlab-widgets==3.0.5; python_version >= "3.7"
|
||||
jupyterlab==3.5.3; python_version >= "3.7"
|
||||
kiwisolver==1.4.4; python_version >= "3.7"
|
||||
korean-lunar-calendar==0.3.1; python_version >= "3.8" and python_version < "4.0" and python_full_version >= "3.7.0"
|
||||
lazy-object-proxy==1.9.0; python_version >= "3.7" and python_full_version >= "3.7.2"
|
||||
linearmodels==4.27; python_version >= "3.8"
|
||||
loguru==0.6.0; python_version >= "3.5" and python_full_version >= "3.7.0"
|
||||
lxml==4.9.2; python_version >= "3.8" and python_full_version < "3.0.0" and python_version < "4.0" or python_version >= "3.8" and python_version < "4.0" and python_full_version >= "3.6.0"
|
||||
markdown-it-py==1.1.0; python_version >= "3.6" and python_version < "4.0"
|
||||
markupsafe==2.1.2; python_version >= "3.7"
|
||||
matplotlib-inline==0.1.6; python_full_version >= "3.7.0" and python_full_version < "4.0.0" and python_version >= "3.8"
|
||||
matplotlib-inline==0.1.6; python_version >= "3.8"
|
||||
matplotlib==3.5.3; python_version >= "3.7"
|
||||
mccabe==0.7.0; python_version >= "3.6" and python_full_version >= "3.7.2"
|
||||
mdit-py-plugins==0.2.8; python_version >= "3.6" and python_version < "4.0"
|
||||
mccabe==0.7.0; python_version >= "3.6" and python_full_version >= "3.7.0"
|
||||
mistune==2.0.4; python_version >= "3.7"
|
||||
mock==4.0.3; python_version >= "3.6"
|
||||
more-itertools==9.0.0; python_version >= "3.7"
|
||||
mplfinance==0.12.9b7
|
||||
mstarpy==0.0.4
|
||||
multidict==6.0.4; python_version >= "3.8" and python_version < "4.0" and python_full_version >= "3.7.0"
|
||||
multitasking==0.0.11
|
||||
mypy-extensions==0.4.3; python_version >= "3.8"
|
||||
mypy==0.930; python_version >= "3.6"
|
||||
myst-parser==0.15.2; python_version >= "3.6"
|
||||
nbclassic==0.5.1; python_version >= "3.7"
|
||||
nbclient==0.6.8; python_full_version >= "3.7.0" and python_version >= "3.7" and python_full_version < "4.0.0"
|
||||
nbclient==0.6.8; python_full_version >= "3.7.0" and python_version >= "3.7"
|
||||
nbconvert==7.2.9; python_version >= "3.7"
|
||||
nbformat==5.7.3; python_full_version >= "3.7.0" and python_full_version < "4.0.0" and python_version >= "3.7"
|
||||
nbmake==1.3.5; python_full_version >= "3.7.0" and python_full_version < "4.0.0"
|
||||
nest-asyncio==1.5.6; python_full_version >= "3.7.0" and python_full_version < "4.0.0" and python_version >= "3.8"
|
||||
nodeenv==1.7.0; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.7.0" and python_version >= "3.7"
|
||||
nbformat==5.7.3; python_full_version >= "3.7.0" and python_version >= "3.7"
|
||||
nest-asyncio==1.5.6; python_full_version >= "3.7.0" and python_version >= "3.8"
|
||||
notebook-shim==0.2.2; python_version >= "3.7"
|
||||
notebook==6.5.2; python_version >= "3.7"
|
||||
numpy==1.23.4; python_version >= "3.8"
|
||||
@@ -163,40 +139,33 @@ pandas==1.5.3; python_version >= "3.8"
|
||||
pandocfilters==1.5.0; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.7"
|
||||
papermill==2.4.0; python_version >= "3.7"
|
||||
parso==0.8.3; python_version >= "3.8"
|
||||
pathspec==0.11.0; python_version >= "3.7"
|
||||
patsy==0.5.3; python_version >= "3.8"
|
||||
pbr==5.11.1; python_version >= "3.8"
|
||||
pexpect==4.8.0; sys_platform != "win32" and python_version >= "3.8"
|
||||
pickleshare==0.7.5; python_version >= "3.8"
|
||||
pillow==9.4.0; python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7"
|
||||
platformdirs==2.6.2; python_version >= "3.8" and python_full_version >= "3.7.2"
|
||||
platformdirs==2.6.2; python_version >= "3.8"
|
||||
plotly==5.13.0; python_version >= "3.6"
|
||||
pluggy==1.0.0; python_full_version >= "3.7.0" and python_full_version < "4.0.0" and python_version >= "3.7"
|
||||
praw==7.6.1; python_version >= "3.7" and python_version < "4.0"
|
||||
prawcore==2.3.0; python_version >= "3.7" and python_version < "4.0"
|
||||
pre-commit==2.21.0; python_version >= "3.7"
|
||||
prometheus-client==0.16.0; python_version >= "3.7"
|
||||
prompt-toolkit==3.0.36; python_full_version >= "3.6.2"
|
||||
property-cached==1.6.4; python_version >= "3.8"
|
||||
protobuf==3.20.1; python_version >= "3.7"
|
||||
psaw==0.0.12; python_version >= "3"
|
||||
psutil==5.9.4; python_full_version >= "3.7.0" and python_full_version < "4.0.0" and python_version >= "3.8"
|
||||
psutil==5.9.4; python_version >= "3.8" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.8"
|
||||
ptyprocess==0.7.0; sys_platform != "win32" and python_version >= "3.8" and os_name != "nt"
|
||||
pure-eval==0.2.2; python_version >= "3.8"
|
||||
py==1.11.0; python_full_version >= "3.7.0" and python_version >= "3.7" and python_full_version < "4.0.0"
|
||||
pyally==1.1.2
|
||||
pyarrow==11.0.0; python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7"
|
||||
pycares==4.3.0; python_version >= "3.5.2" and python_full_version >= "3.7.0"
|
||||
pycodestyle==2.9.1; python_version >= "3.6" and python_full_version >= "3.7.0"
|
||||
pycoingecko==2.3.0
|
||||
pycparser==2.21; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.6"
|
||||
pydantic==1.10.4; python_full_version >= "3.7.0" and python_full_version < "4.0.0" and python_version >= "3.7"
|
||||
pydeck==0.8.0; python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7"
|
||||
pyex==0.5.0
|
||||
pyflakes==2.5.0; python_version >= "3.6" and python_full_version >= "3.7.0"
|
||||
pygments==2.14.0; python_version >= "3.6"
|
||||
pyhdfe==0.1.2; python_version >= "3.8"
|
||||
pylint==2.15.2; python_full_version >= "3.7.2"
|
||||
pyluach==2.0.2; python_version >= "3.8" and python_version < "4.0" and python_full_version >= "3.7.0"
|
||||
pymeeus==0.5.12; python_version >= "3.7" and python_version < "4"
|
||||
pympler==1.0.1; python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.6"
|
||||
@@ -206,24 +175,19 @@ pyotp==2.8.0; python_version >= "3.7"
|
||||
pyparsing==3.0.9; python_full_version >= "3.6.8" and python_version >= "3.7"
|
||||
pyprind==2.11.3; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0"
|
||||
pyrsistent==0.18.1; python_version >= "3.7"
|
||||
pytest-cov==3.0.0; python_version >= "3.6"
|
||||
pytest-mock==3.10.0; python_version >= "3.7"
|
||||
pytest-recording==0.12.1; python_version >= "3.5"
|
||||
pytest==6.2.5; python_version >= "3.6"
|
||||
pythclient==0.1.4; python_full_version >= "3.7.0"
|
||||
python-binance==1.0.16
|
||||
python-coinmarketcap==0.2
|
||||
python-dateutil==2.8.2; python_full_version >= "3.7.1" and python_version >= "3.8" and python_full_version < "4.0.0" and (python_version >= "3.7" and python_full_version < "3.0.0" or python_version >= "3.7" and python_full_version < "3.9.7" and python_full_version >= "3.3.0" or python_full_version > "3.9.7") and (python_version >= "3.8" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.8") and (python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.3.0" and python_version >= "3.7") and python_version < "4.0"
|
||||
python-dateutil==2.8.2; python_full_version >= "3.7.1" and python_version >= "3.8" and python_full_version < "4.0.0" and (python_version >= "3.7" and python_full_version < "3.0.0" or python_version >= "3.7" and python_full_version < "3.9.7" and python_full_version >= "3.3.0" or python_full_version > "3.9.7") and (python_version >= "3.8" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.8") and (python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.3.0" and python_version >= "3.7") and python_version < "4.0" and (python_version >= "3.8" and python_full_version < "3.0.0" or python_full_version >= "3.3.0" and python_version >= "3.8")
|
||||
python-dotenv==0.19.2; python_version >= "3.5"
|
||||
python-i18n==0.3.9
|
||||
pytrends==4.9.0; python_version >= "3.7"
|
||||
pytz-deprecation-shim==0.1.0.post0; python_version >= "3.7" and python_full_version < "3.0.0" or python_version >= "3.7" and python_full_version < "3.9.7" and python_full_version >= "3.6.0" or python_full_version > "3.9.7" and python_version >= "3.7"
|
||||
pytz==2022.7.1; python_full_version >= "3.7.1" and python_full_version < "4.0.0" and python_version >= "3.8" and (python_version >= "3.8" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.8") and python_version < "4.0"
|
||||
pyupgrade==2.38.4; python_version >= "3.7"
|
||||
pywin32==305; sys_platform == "win32" and platform_python_implementation != "PyPy" and python_version >= "3.8"
|
||||
pywinpty==2.0.10; os_name == "nt" and python_version >= "3.7"
|
||||
pyyaml==6.0; python_version >= "3.7"
|
||||
pyzmq==25.0.0; python_full_version >= "3.7.0" and python_full_version < "4.0.0" and python_version >= "3.8"
|
||||
pyzmq==25.0.0; python_version >= "3.8"
|
||||
quandl==3.7.0; python_version >= "3.6"
|
||||
rapidfuzz==1.9.1; python_version >= "2.7"
|
||||
rdflib==6.2.0; python_version >= "3.7"
|
||||
@@ -235,7 +199,6 @@ rich==12.6.0; python_full_version >= "3.6.3" and python_full_version < "4.0.0"
|
||||
robin-stocks==2.1.0; python_version >= "3"
|
||||
ruamel.yaml.clib==0.2.7; platform_python_implementation == "CPython" and python_version < "3.11" and python_version >= "3.5"
|
||||
ruamel.yaml==0.17.21; python_version >= "3"
|
||||
ruff==0.0.236; python_version >= "3.7"
|
||||
scikit-learn==1.2.1; python_version >= "3.8" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.8"
|
||||
scipy==1.10.0; python_version >= "3.8" and python_version < "3.12"
|
||||
screeninfo==0.6.7
|
||||
@@ -245,25 +208,16 @@ send2trash==1.8.0; python_version >= "3.7"
|
||||
sentiment-investor==2.1.0; python_version >= "3.8" and python_version < "4.0"
|
||||
setuptools-scm==6.4.2; python_version >= "3.8"
|
||||
sgmllib3k==1.0.0; python_version >= "3.6"
|
||||
six==1.16.0; python_full_version >= "3.7.1" and python_version >= "3.8" and python_version < "4.0" and python_full_version < "4.0.0" and (python_version >= "3.7" and python_full_version < "3.0.0" or python_version >= "3.7" and python_full_version < "3.9.7" and python_full_version >= "3.3.0" or python_full_version > "3.9.7") and (python_version >= "3.8" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.8") and (python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.3.0" and python_version >= "3.7") and (python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.3.0") and (python_version >= "3.7" and python_full_version < "3.9.7" and python_full_version >= "3.7.0" or python_full_version > "3.9.7" and python_version >= "3.7" and python_full_version < "4.0.0") and (python_version >= "3.8" and python_full_version < "3.0.0" or python_full_version >= "3.3.0" and python_version >= "3.8")
|
||||
six==1.16.0; python_full_version >= "3.7.1" and python_version >= "3.8" and python_version < "4.0" and python_full_version < "4.0.0" and (python_version >= "3.7" and python_full_version < "3.0.0" or python_version >= "3.7" and python_full_version < "3.9.7" and python_full_version >= "3.3.0" or python_full_version > "3.9.7") and (python_version >= "3.8" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.8") and (python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.3.0" and python_version >= "3.7") and (python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.3.0") and (python_version >= "3.7" and python_full_version < "3.9.7" and python_full_version >= "3.7.0" or python_full_version > "3.9.7" and python_version >= "3.7") and (python_version >= "3.8" and python_full_version < "3.0.0" or python_full_version >= "3.3.0" and python_version >= "3.8")
|
||||
smmap==5.0.0; python_version >= "3.7"
|
||||
sniffio==1.3.0; python_version >= "3.8" and python_version < "4.0" and python_full_version >= "3.6.2"
|
||||
snowballstemmer==2.2.0; python_version >= "3.6"
|
||||
socketio-client-nexus==0.7.6
|
||||
soupsieve==2.3.2.post1; python_version >= "3.8" and python_version < "4.0" and python_full_version >= "3.6.0"
|
||||
sparqlwrapper==2.0.0; python_version >= "3.7"
|
||||
sphinx==4.5.0; python_version >= "3.6"
|
||||
sphinxcontrib-applehelp==1.0.4; python_version >= "3.8"
|
||||
sphinxcontrib-devhelp==1.0.2; python_version >= "3.6"
|
||||
sphinxcontrib-htmlhelp==2.0.1; python_version >= "3.8"
|
||||
sphinxcontrib-jsmath==1.0.1; python_version >= "3.6"
|
||||
sphinxcontrib-qthelp==1.0.3; python_version >= "3.6"
|
||||
sphinxcontrib-serializinghtml==1.1.5; python_version >= "3.6"
|
||||
squarify==0.4.3
|
||||
sseclient==0.0.27
|
||||
stack-data==0.6.2; python_version >= "3.8"
|
||||
statsmodels==0.13.2; python_version >= "3.7"
|
||||
stevedore==4.1.1; python_version >= "3.8"
|
||||
stocksera==0.1.21; python_version >= "3.6"
|
||||
streamlit==1.17.0; (python_version >= "3.7" and python_full_version < "3.9.7") or (python_full_version > "3.9.7")
|
||||
tabulate==0.9.0; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.7"
|
||||
@@ -274,24 +228,15 @@ textwrap3==0.9.2; python_version >= "3.7"
|
||||
thepassiveinvestor==1.1.2
|
||||
threadpoolctl==3.1.0; python_version >= "3.8" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.8"
|
||||
tinycss2==1.2.1; python_version >= "3.7"
|
||||
tokenize-rt==4.2.1; python_full_version >= "3.6.1" and python_version >= "3.7"
|
||||
tokenterminal==1.0.1
|
||||
toml==0.10.2; python_version >= "3.7" and python_full_version < "3.9.7" and python_full_version >= "3.7.0" or python_full_version > "3.9.7" and python_version >= "3.7" and python_full_version < "4.0.0"
|
||||
tomli==2.0.1; python_version < "3.11" and python_full_version >= "3.7.2" and python_version >= "3.8" and python_full_version <= "3.11.0a6"
|
||||
tomlkit==0.11.6; python_version >= "3.6" and python_full_version >= "3.7.2"
|
||||
toml==0.10.2; python_version >= "3.7" and python_full_version < "3.0.0" or python_version >= "3.7" and python_full_version < "3.9.7" and python_full_version >= "3.3.0" or python_full_version > "3.9.7"
|
||||
tomli==2.0.1; python_version >= "3.8"
|
||||
toolz==0.12.0; python_version >= "3.8" and python_version < "4.0" and python_full_version >= "3.7.0" and (python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7")
|
||||
tornado==6.2; python_version >= "3.8" and python_full_version < "3.9.7" and python_full_version >= "3.7.0" or python_full_version > "3.9.7" and python_version >= "3.8" and python_full_version < "4.0.0"
|
||||
tornado==6.2; python_version >= "3.8" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.8"
|
||||
tqdm==4.64.1; python_version >= "3.8" and python_full_version < "3.0.0" and python_version < "4.0" or python_version >= "3.8" and python_version < "4.0" and python_full_version >= "3.4.0"
|
||||
tradingview-ta==3.3.0; python_version >= "3.6"
|
||||
traitlets==5.9.0; python_full_version >= "3.7.0" and python_full_version < "4.0.0" and python_version >= "3.8"
|
||||
types-python-dateutil==2.8.19.6
|
||||
types-pytz==2021.3.8
|
||||
types-pyyaml==6.0.12.4
|
||||
types-requests==2.28.11.8
|
||||
types-setuptools==57.4.18
|
||||
types-six==1.16.21.4
|
||||
types-urllib3==1.26.25.4
|
||||
typing-extensions==4.4.0; python_full_version >= "3.7.2" and python_full_version < "4.0.0" and python_version < "3.9" and python_version >= "3.7" and (python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7") and (python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7")
|
||||
traitlets==5.9.0; python_full_version >= "3.7.0" and python_version >= "3.8"
|
||||
typing-extensions==4.4.0; python_full_version >= "3.7.0" and python_full_version < "4.0.0" and python_version < "3.9" and python_version >= "3.7" and (python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7") and (python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7")
|
||||
tzdata==2022.7; python_version >= "3.7" and python_full_version < "3.0.0" and platform_system == "Windows" or python_version >= "3.7" and python_full_version < "3.9.7" and platform_system == "Windows" and python_full_version >= "3.6.0" or python_full_version > "3.9.7" and python_version >= "3.7" and platform_system == "Windows"
|
||||
tzlocal==4.2; python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7"
|
||||
ujson==5.7.0; python_version >= "3.7"
|
||||
@@ -302,8 +247,6 @@ user-agent==0.1.10; python_version >= "3.8" and python_version < "4.0"
|
||||
vadersentiment==3.3.2
|
||||
validators==0.20.0; python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.4"
|
||||
valinvest==0.0.2; python_version >= "3.6"
|
||||
vcrpy==4.2.1; python_version >= "3.7"
|
||||
virtualenv==20.17.1; python_version >= "3.7"
|
||||
voila==0.4.0; python_version >= "3.7"
|
||||
watchdog==2.2.1; python_version >= "3.6"
|
||||
wcwidth==0.2.6; python_full_version >= "3.6.2" and python_version >= "3.8"
|
||||
@@ -312,7 +255,7 @@ websocket-client==1.5.0; python_version >= "3.8" and python_version < "4.0"
|
||||
websockets==10.4; python_version >= "3.7"
|
||||
widgetsnbextension==4.0.5; python_version >= "3.7"
|
||||
win32-setctime==1.1.0; python_version >= "3.5" and python_full_version >= "3.7.0" and sys_platform == "win32"
|
||||
wrapt==1.14.1; python_full_version >= "3.7.2" and python_full_version < "4.0.0" and (python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.7") and python_version >= "3.8" and python_version < "3.11"
|
||||
wrapt==1.14.1; python_full_version >= "3.7.1" and python_full_version < "4.0.0" and python_version >= "3.8"
|
||||
yarl==1.8.2; python_version >= "3.8" and python_version < "4.0" and python_full_version >= "3.7.0"
|
||||
yfinance==0.2.9
|
||||
zipp==3.12.0; python_version >= "3.7" and python_full_version < "3.9.7" and python_version < "3.10" or python_full_version > "3.9.7" and python_version >= "3.7" and python_version < "3.10"
|
||||
|
||||
@@ -5,7 +5,7 @@ Portfolio loaded:
|
||||
Tickers:
|
||||
Categories:
|
||||
|
||||
file file that contains portfolio risk parameters
|
||||
file file that contains portfolio risk parameters (use about for the parameter template)
|
||||
> params specify and show portfolio risk parameters
|
||||
|
||||
Parameter file:
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,4 @@
|
||||
Loading Daily data for TSLA with starting period 2020-02-03.
|
||||
Loading Daily data for TSLA with starting period 2020-02-04.
|
||||
Company Rating Price Target
|
||||
Date
|
||||
2023-02-06 Wedbush Morgan Securities Inc. BUY 225.000000
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
# IMPORTATION STANDARD
|
||||
import datetime
|
||||
from pathlib import Path
|
||||
|
||||
# IMPORTATION THIRDPARTY
|
||||
@@ -6,7 +7,11 @@ import pandas as pd
|
||||
import pytest
|
||||
|
||||
# IMPORTATION INTERNAL
|
||||
from openbb_terminal.helper_funcs import check_start_less_than_end, export_data
|
||||
from openbb_terminal.helper_funcs import (
|
||||
check_start_less_than_end,
|
||||
export_data,
|
||||
remove_timezone_from_dataframe,
|
||||
)
|
||||
|
||||
# pylint: disable=E1101
|
||||
# pylint: disable=W0603
|
||||
@@ -107,3 +112,47 @@ def test_start_less_than_end():
|
||||
assert check_start_less_than_end(None, "2022-01-01") is False
|
||||
assert check_start_less_than_end("2022-01-02", None) is False
|
||||
assert check_start_less_than_end(None, None) is False
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"df, df_expected",
|
||||
[
|
||||
(
|
||||
pd.DataFrame(
|
||||
{
|
||||
"date1": pd.date_range("2021-01-01", periods=5, tz="Europe/London"),
|
||||
"date2": pd.date_range("2022-01-01", periods=5, tz="Europe/London"),
|
||||
"value1": [1, 2, 3, 4, 5],
|
||||
"value2": [6, 7, 8, 9, 10],
|
||||
}
|
||||
),
|
||||
pd.DataFrame(
|
||||
{
|
||||
"date1": [
|
||||
datetime.date(2021, 1, 1),
|
||||
datetime.date(2021, 1, 2),
|
||||
datetime.date(2021, 1, 3),
|
||||
datetime.date(2021, 1, 4),
|
||||
datetime.date(2021, 1, 5),
|
||||
],
|
||||
"date2": [
|
||||
datetime.date(2022, 1, 1),
|
||||
datetime.date(2022, 1, 2),
|
||||
datetime.date(2022, 1, 3),
|
||||
datetime.date(2022, 1, 4),
|
||||
datetime.date(2022, 1, 5),
|
||||
],
|
||||
"value1": [1, 2, 3, 4, 5],
|
||||
"value2": [6, 7, 8, 9, 10],
|
||||
}
|
||||
),
|
||||
),
|
||||
],
|
||||
)
|
||||
def test_remove_timezone_from_dataframe(df, df_expected):
|
||||
# set date1 as index
|
||||
df.set_index("date1", inplace=True)
|
||||
df_expected.set_index("date1", inplace=True)
|
||||
|
||||
df_result = remove_timezone_from_dataframe(df)
|
||||
assert df_result.equals(df_expected)
|
||||
|
||||
@@ -26,7 +26,7 @@ Note that the Excel sheet requires the following columns:
|
||||
|
||||
- **Date** - The date the trade occurred
|
||||
- **Name** - The name of the security
|
||||
- **Type** - The type of the security. Use Cash/Stock/Crypto/ETF as appropriate
|
||||
- **Type** - The type of the security. Use Stock/Crypto/ETF as appropriate
|
||||
- **Price** - The price the security was added or removed at, on a per-unit
|
||||
basis
|
||||
- **Quantity** - How much of the security in question was added or removed
|
||||
|
||||
276
website/package-lock.json
generated
vendored
276
website/package-lock.json
generated
vendored
@@ -14,7 +14,7 @@
|
||||
"@docusaurus/plugin-content-docs": "^2.2.0",
|
||||
"@docusaurus/preset-classic": "2.3.1",
|
||||
"@mdx-js/react": "^1.6.22",
|
||||
"@radix-ui/react-popover": "^1.0.2",
|
||||
"@radix-ui/react-popover": "^1.0.3",
|
||||
"clsx": "^1.2.1",
|
||||
"prism-react-renderer": "^1.3.5",
|
||||
"react": "^17.0.2",
|
||||
@@ -5718,19 +5718,6 @@
|
||||
"@floating-ui/core": "^0.7.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@floating-ui/react-dom": {
|
||||
"version": "0.7.2",
|
||||
"resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-0.7.2.tgz",
|
||||
"integrity": "sha512-1T0sJcpHgX/u4I1OzIEhlcrvkUN8ln39nz7fMoE/2HDHrPiMFoOGR7++GYyfUmIQHkkrTinaeQsO3XWubjSvGg==",
|
||||
"dependencies": {
|
||||
"@floating-ui/dom": "^0.5.3",
|
||||
"use-isomorphic-layout-effect": "^1.1.1"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": ">=16.8.0",
|
||||
"react-dom": ">=16.8.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@hapi/hoek": {
|
||||
"version": "9.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz",
|
||||
@@ -6010,19 +5997,6 @@
|
||||
"@babel/runtime": "^7.13.10"
|
||||
}
|
||||
},
|
||||
"node_modules/@radix-ui/react-arrow": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.0.1.tgz",
|
||||
"integrity": "sha512-1yientwXqXcErDHEv8av9ZVNEBldH8L9scVR3is20lL+jOCfcJyMFZFEY5cgIrgexsq1qggSXqiEL/d/4f+QXA==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.13.10",
|
||||
"@radix-ui/react-primitive": "1.0.1"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": "^16.8 || ^17.0 || ^18.0",
|
||||
"react-dom": "^16.8 || ^17.0 || ^18.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@radix-ui/react-compose-refs": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.0.tgz",
|
||||
@@ -6034,17 +6008,6 @@
|
||||
"react": "^16.8 || ^17.0 || ^18.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@radix-ui/react-context": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.0.0.tgz",
|
||||
"integrity": "sha512-1pVM9RfOQ+n/N5PJK33kRSKsr1glNxomxONs5c49MliinBY6Yw2Q995qfBUUo0/Mbg05B/sGA0gkgPI7kmSHBg==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.13.10"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": "^16.8 || ^17.0 || ^18.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@radix-ui/react-dismissable-layer": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.2.tgz",
|
||||
@@ -6101,9 +6064,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@radix-ui/react-popover": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@radix-ui/react-popover/-/react-popover-1.0.2.tgz",
|
||||
"integrity": "sha512-4tqZEl9w95R5mlZ/sFdgBnfhCBOEPepLIurBA5kt/qaAhldJ1tNQd0ngr0ET0AHbPotT4mwxMPr7a+MA/wbK0g==",
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@radix-ui/react-popover/-/react-popover-1.0.3.tgz",
|
||||
"integrity": "sha512-YwedSukfWsyJs3/yP3yXUq44k4/JBe3jqU63Z8v2i19qZZ3dsx32oma17ztgclWPNuqp3A+Xa9UiDlZHyVX8Vg==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.13.10",
|
||||
"@radix-ui/primitive": "1.0.0",
|
||||
@@ -6113,7 +6076,7 @@
|
||||
"@radix-ui/react-focus-guards": "1.0.0",
|
||||
"@radix-ui/react-focus-scope": "1.0.1",
|
||||
"@radix-ui/react-id": "1.0.0",
|
||||
"@radix-ui/react-popper": "1.0.1",
|
||||
"@radix-ui/react-popper": "1.1.0",
|
||||
"@radix-ui/react-portal": "1.0.1",
|
||||
"@radix-ui/react-presence": "1.0.0",
|
||||
"@radix-ui/react-primitive": "1.0.1",
|
||||
@@ -6127,10 +6090,21 @@
|
||||
"react-dom": "^16.8 || ^17.0 || ^18.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@radix-ui/react-popper": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.0.1.tgz",
|
||||
"integrity": "sha512-J4Vj7k3k+EHNWgcKrE+BLlQfpewxA7Zd76h5I0bIa+/EqaIZ3DuwrbPj49O3wqN+STnXsBuxiHLiF0iU3yfovw==",
|
||||
"node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-context": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.0.0.tgz",
|
||||
"integrity": "sha512-1pVM9RfOQ+n/N5PJK33kRSKsr1glNxomxONs5c49MliinBY6Yw2Q995qfBUUo0/Mbg05B/sGA0gkgPI7kmSHBg==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.13.10"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": "^16.8 || ^17.0 || ^18.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-popper": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.1.0.tgz",
|
||||
"integrity": "sha512-07U7jpI0dZcLRAxT7L9qs6HecSoPhDSJybF7mEGHJDBDv+ZoGCvIlva0s+WxMXwJEav+ckX3hAlXBtnHmuvlCQ==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.13.10",
|
||||
"@floating-ui/react-dom": "0.7.2",
|
||||
@@ -6138,6 +6112,7 @@
|
||||
"@radix-ui/react-compose-refs": "1.0.0",
|
||||
"@radix-ui/react-context": "1.0.0",
|
||||
"@radix-ui/react-primitive": "1.0.1",
|
||||
"@radix-ui/react-use-callback-ref": "1.0.0",
|
||||
"@radix-ui/react-use-layout-effect": "1.0.0",
|
||||
"@radix-ui/react-use-rect": "1.0.0",
|
||||
"@radix-ui/react-use-size": "1.0.0",
|
||||
@@ -6148,6 +6123,56 @@
|
||||
"react-dom": "^16.8 || ^17.0 || ^18.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-popper/node_modules/@floating-ui/react-dom": {
|
||||
"version": "0.7.2",
|
||||
"resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-0.7.2.tgz",
|
||||
"integrity": "sha512-1T0sJcpHgX/u4I1OzIEhlcrvkUN8ln39nz7fMoE/2HDHrPiMFoOGR7++GYyfUmIQHkkrTinaeQsO3XWubjSvGg==",
|
||||
"dependencies": {
|
||||
"@floating-ui/dom": "^0.5.3",
|
||||
"use-isomorphic-layout-effect": "^1.1.1"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": ">=16.8.0",
|
||||
"react-dom": ">=16.8.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-arrow": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.0.1.tgz",
|
||||
"integrity": "sha512-1yientwXqXcErDHEv8av9ZVNEBldH8L9scVR3is20lL+jOCfcJyMFZFEY5cgIrgexsq1qggSXqiEL/d/4f+QXA==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.13.10",
|
||||
"@radix-ui/react-primitive": "1.0.1"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": "^16.8 || ^17.0 || ^18.0",
|
||||
"react-dom": "^16.8 || ^17.0 || ^18.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-use-rect": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-1.0.0.tgz",
|
||||
"integrity": "sha512-TB7pID8NRMEHxb/qQJpvSt3hQU4sqNPM1VCTjTRjEOa7cEop/QMuq8S6fb/5Tsz64kqSvB9WnwsDHtjnrM9qew==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.13.10",
|
||||
"@radix-ui/rect": "1.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": "^16.8 || ^17.0 || ^18.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-use-size": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.0.0.tgz",
|
||||
"integrity": "sha512-imZ3aYcoYCKhhgNpkNDh/aTiU05qw9hX+HHI1QDBTyIlcFjgeFlKKySNGMwTp7nYFLQg/j0VA2FmCY4WPDDHMg==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.13.10",
|
||||
"@radix-ui/react-use-layout-effect": "1.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": "^16.8 || ^17.0 || ^18.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@radix-ui/react-portal": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.0.1.tgz",
|
||||
@@ -6246,30 +6271,6 @@
|
||||
"react": "^16.8 || ^17.0 || ^18.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@radix-ui/react-use-rect": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-1.0.0.tgz",
|
||||
"integrity": "sha512-TB7pID8NRMEHxb/qQJpvSt3hQU4sqNPM1VCTjTRjEOa7cEop/QMuq8S6fb/5Tsz64kqSvB9WnwsDHtjnrM9qew==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.13.10",
|
||||
"@radix-ui/rect": "1.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": "^16.8 || ^17.0 || ^18.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@radix-ui/react-use-size": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.0.0.tgz",
|
||||
"integrity": "sha512-imZ3aYcoYCKhhgNpkNDh/aTiU05qw9hX+HHI1QDBTyIlcFjgeFlKKySNGMwTp7nYFLQg/j0VA2FmCY4WPDDHMg==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.13.10",
|
||||
"@radix-ui/react-use-layout-effect": "1.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": "^16.8 || ^17.0 || ^18.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@radix-ui/rect": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.0.0.tgz",
|
||||
@@ -20542,15 +20543,6 @@
|
||||
"@floating-ui/core": "^0.7.3"
|
||||
}
|
||||
},
|
||||
"@floating-ui/react-dom": {
|
||||
"version": "0.7.2",
|
||||
"resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-0.7.2.tgz",
|
||||
"integrity": "sha512-1T0sJcpHgX/u4I1OzIEhlcrvkUN8ln39nz7fMoE/2HDHrPiMFoOGR7++GYyfUmIQHkkrTinaeQsO3XWubjSvGg==",
|
||||
"requires": {
|
||||
"@floating-ui/dom": "^0.5.3",
|
||||
"use-isomorphic-layout-effect": "^1.1.1"
|
||||
}
|
||||
},
|
||||
"@hapi/hoek": {
|
||||
"version": "9.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz",
|
||||
@@ -20773,15 +20765,6 @@
|
||||
"@babel/runtime": "^7.13.10"
|
||||
}
|
||||
},
|
||||
"@radix-ui/react-arrow": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.0.1.tgz",
|
||||
"integrity": "sha512-1yientwXqXcErDHEv8av9ZVNEBldH8L9scVR3is20lL+jOCfcJyMFZFEY5cgIrgexsq1qggSXqiEL/d/4f+QXA==",
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.13.10",
|
||||
"@radix-ui/react-primitive": "1.0.1"
|
||||
}
|
||||
},
|
||||
"@radix-ui/react-compose-refs": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.0.tgz",
|
||||
@@ -20790,14 +20773,6 @@
|
||||
"@babel/runtime": "^7.13.10"
|
||||
}
|
||||
},
|
||||
"@radix-ui/react-context": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.0.0.tgz",
|
||||
"integrity": "sha512-1pVM9RfOQ+n/N5PJK33kRSKsr1glNxomxONs5c49MliinBY6Yw2Q995qfBUUo0/Mbg05B/sGA0gkgPI7kmSHBg==",
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.13.10"
|
||||
}
|
||||
},
|
||||
"@radix-ui/react-dismissable-layer": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.2.tgz",
|
||||
@@ -20840,9 +20815,9 @@
|
||||
}
|
||||
},
|
||||
"@radix-ui/react-popover": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@radix-ui/react-popover/-/react-popover-1.0.2.tgz",
|
||||
"integrity": "sha512-4tqZEl9w95R5mlZ/sFdgBnfhCBOEPepLIurBA5kt/qaAhldJ1tNQd0ngr0ET0AHbPotT4mwxMPr7a+MA/wbK0g==",
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@radix-ui/react-popover/-/react-popover-1.0.3.tgz",
|
||||
"integrity": "sha512-YwedSukfWsyJs3/yP3yXUq44k4/JBe3jqU63Z8v2i19qZZ3dsx32oma17ztgclWPNuqp3A+Xa9UiDlZHyVX8Vg==",
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.13.10",
|
||||
"@radix-ui/primitive": "1.0.0",
|
||||
@@ -20852,7 +20827,7 @@
|
||||
"@radix-ui/react-focus-guards": "1.0.0",
|
||||
"@radix-ui/react-focus-scope": "1.0.1",
|
||||
"@radix-ui/react-id": "1.0.0",
|
||||
"@radix-ui/react-popper": "1.0.1",
|
||||
"@radix-ui/react-popper": "1.1.0",
|
||||
"@radix-ui/react-portal": "1.0.1",
|
||||
"@radix-ui/react-presence": "1.0.0",
|
||||
"@radix-ui/react-primitive": "1.0.1",
|
||||
@@ -20860,23 +20835,72 @@
|
||||
"@radix-ui/react-use-controllable-state": "1.0.0",
|
||||
"aria-hidden": "^1.1.1",
|
||||
"react-remove-scroll": "2.5.5"
|
||||
}
|
||||
},
|
||||
"@radix-ui/react-popper": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.0.1.tgz",
|
||||
"integrity": "sha512-J4Vj7k3k+EHNWgcKrE+BLlQfpewxA7Zd76h5I0bIa+/EqaIZ3DuwrbPj49O3wqN+STnXsBuxiHLiF0iU3yfovw==",
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.13.10",
|
||||
"@floating-ui/react-dom": "0.7.2",
|
||||
"@radix-ui/react-arrow": "1.0.1",
|
||||
"@radix-ui/react-compose-refs": "1.0.0",
|
||||
"@radix-ui/react-context": "1.0.0",
|
||||
"@radix-ui/react-primitive": "1.0.1",
|
||||
"@radix-ui/react-use-layout-effect": "1.0.0",
|
||||
"@radix-ui/react-use-rect": "1.0.0",
|
||||
"@radix-ui/react-use-size": "1.0.0",
|
||||
"@radix-ui/rect": "1.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@radix-ui/react-context": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.0.0.tgz",
|
||||
"integrity": "sha512-1pVM9RfOQ+n/N5PJK33kRSKsr1glNxomxONs5c49MliinBY6Yw2Q995qfBUUo0/Mbg05B/sGA0gkgPI7kmSHBg==",
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.13.10"
|
||||
}
|
||||
},
|
||||
"@radix-ui/react-popper": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.1.0.tgz",
|
||||
"integrity": "sha512-07U7jpI0dZcLRAxT7L9qs6HecSoPhDSJybF7mEGHJDBDv+ZoGCvIlva0s+WxMXwJEav+ckX3hAlXBtnHmuvlCQ==",
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.13.10",
|
||||
"@floating-ui/react-dom": "0.7.2",
|
||||
"@radix-ui/react-arrow": "1.0.1",
|
||||
"@radix-ui/react-compose-refs": "1.0.0",
|
||||
"@radix-ui/react-context": "1.0.0",
|
||||
"@radix-ui/react-primitive": "1.0.1",
|
||||
"@radix-ui/react-use-callback-ref": "1.0.0",
|
||||
"@radix-ui/react-use-layout-effect": "1.0.0",
|
||||
"@radix-ui/react-use-rect": "1.0.0",
|
||||
"@radix-ui/react-use-size": "1.0.0",
|
||||
"@radix-ui/rect": "1.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@floating-ui/react-dom": {
|
||||
"version": "0.7.2",
|
||||
"resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-0.7.2.tgz",
|
||||
"integrity": "sha512-1T0sJcpHgX/u4I1OzIEhlcrvkUN8ln39nz7fMoE/2HDHrPiMFoOGR7++GYyfUmIQHkkrTinaeQsO3XWubjSvGg==",
|
||||
"requires": {
|
||||
"@floating-ui/dom": "^0.5.3",
|
||||
"use-isomorphic-layout-effect": "^1.1.1"
|
||||
}
|
||||
},
|
||||
"@radix-ui/react-arrow": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.0.1.tgz",
|
||||
"integrity": "sha512-1yientwXqXcErDHEv8av9ZVNEBldH8L9scVR3is20lL+jOCfcJyMFZFEY5cgIrgexsq1qggSXqiEL/d/4f+QXA==",
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.13.10",
|
||||
"@radix-ui/react-primitive": "1.0.1"
|
||||
}
|
||||
},
|
||||
"@radix-ui/react-use-rect": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-1.0.0.tgz",
|
||||
"integrity": "sha512-TB7pID8NRMEHxb/qQJpvSt3hQU4sqNPM1VCTjTRjEOa7cEop/QMuq8S6fb/5Tsz64kqSvB9WnwsDHtjnrM9qew==",
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.13.10",
|
||||
"@radix-ui/rect": "1.0.0"
|
||||
}
|
||||
},
|
||||
"@radix-ui/react-use-size": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.0.0.tgz",
|
||||
"integrity": "sha512-imZ3aYcoYCKhhgNpkNDh/aTiU05qw9hX+HHI1QDBTyIlcFjgeFlKKySNGMwTp7nYFLQg/j0VA2FmCY4WPDDHMg==",
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.13.10",
|
||||
"@radix-ui/react-use-layout-effect": "1.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"@radix-ui/react-portal": {
|
||||
@@ -20950,24 +20974,6 @@
|
||||
"@babel/runtime": "^7.13.10"
|
||||
}
|
||||
},
|
||||
"@radix-ui/react-use-rect": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-1.0.0.tgz",
|
||||
"integrity": "sha512-TB7pID8NRMEHxb/qQJpvSt3hQU4sqNPM1VCTjTRjEOa7cEop/QMuq8S6fb/5Tsz64kqSvB9WnwsDHtjnrM9qew==",
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.13.10",
|
||||
"@radix-ui/rect": "1.0.0"
|
||||
}
|
||||
},
|
||||
"@radix-ui/react-use-size": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.0.0.tgz",
|
||||
"integrity": "sha512-imZ3aYcoYCKhhgNpkNDh/aTiU05qw9hX+HHI1QDBTyIlcFjgeFlKKySNGMwTp7nYFLQg/j0VA2FmCY4WPDDHMg==",
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.13.10",
|
||||
"@radix-ui/react-use-layout-effect": "1.0.0"
|
||||
}
|
||||
},
|
||||
"@radix-ui/rect": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.0.0.tgz",
|
||||
|
||||
2
website/package.json
vendored
2
website/package.json
vendored
@@ -22,7 +22,7 @@
|
||||
"@docusaurus/plugin-content-docs": "^2.2.0",
|
||||
"@docusaurus/preset-classic": "2.3.1",
|
||||
"@mdx-js/react": "^1.6.22",
|
||||
"@radix-ui/react-popover": "^1.0.2",
|
||||
"@radix-ui/react-popover": "^1.0.3",
|
||||
"clsx": "^1.2.1",
|
||||
"prism-react-renderer": "^1.3.5",
|
||||
"react": "^17.0.2",
|
||||
|
||||
Reference in New Issue
Block a user