mirror of
https://github.com/OpenBB-finance/OpenBB.git
synced 2026-05-07 06:23:26 +08:00
261 lines
6.6 KiB
TOML
Vendored
261 lines
6.6 KiB
TOML
Vendored
[tool.poetry]
|
|
name = "openbb-terminal"
|
|
version = "3.2.4"
|
|
description = "Investment Research for Everyone, Anywhere."
|
|
license = "MIT"
|
|
authors = ["OpenBB <hello@openbb.co>"]
|
|
packages = [{ include = "openbb_terminal" }]
|
|
include = ["terminal.py", "openbb_terminal/.env"]
|
|
readme = "website/pypi.md"
|
|
homepage = "https://openbb.co"
|
|
repository = "https://github.com/OpenBB-finance/OpenBBTerminal"
|
|
documentation = "https://docs.openbb.co/sdk"
|
|
|
|
[tool.poetry.scripts]
|
|
openbb = 'terminal:main'
|
|
|
|
[tool.poetry.dependencies]
|
|
python = "^3.8.1,<3.11, !=3.9.7"
|
|
scipy = "1.10.1" #Pinning on July 6 for pip issues
|
|
iso8601 = "^0.1.14"
|
|
FundamentalAnalysis = "^0.2.6"
|
|
requests = "^2.31.0"
|
|
alpha-vantage = "^2.3.1"
|
|
finviz = "^1.4.6"
|
|
bs4 = "^0.0.1"
|
|
yfinance = "^0.2.28"
|
|
pmaw = "^3.0.0"
|
|
praw = "^7.1.4"
|
|
Quandl = "^3.6.0"
|
|
pytrends = "4.9.2"
|
|
matplotlib = "^3.3.3"
|
|
plotly = "^5.15.0"
|
|
prompt-toolkit = "^3.0.16"
|
|
jupyterlab = "^3.2.4"
|
|
mplfinance = "^0.12.7-alpha.7"
|
|
seaborn = "^0.11.0"
|
|
fredapi = "^0.4.3"
|
|
screeninfo = "^0.6.7"
|
|
robin-stocks = "^2.0.3"
|
|
pycoingecko = "^3.1.0"
|
|
detecta = "^0.0.5"
|
|
tradingview-ta = "^3.2.3"
|
|
finvizfinance = "0.14.7rc1"
|
|
statsmodels = "^0.13"
|
|
python-coinmarketcap = "^0.2"
|
|
oandapyV20 = "^0.6.3"
|
|
valinvest = "^0.0.2"
|
|
bt = "^0.2.9"
|
|
vaderSentiment = "3.3.2"
|
|
GitPython = "^3.1.17"
|
|
fred = "^3.1"
|
|
financedatabase = "2.1.0"
|
|
holidays = "^0.14.2"
|
|
degiro-connector = "^2.0.3"
|
|
python-binance = "^1.0.15"
|
|
python-i18n = "^0.3.9"
|
|
thepassiveinvestor = "^1.1.2"
|
|
pandas-ta = "^0.3.14-beta.0"
|
|
pyrsistent = "^0.19.3"
|
|
openpyxl = "^3.0.9"
|
|
pandas = "^1.5.0"
|
|
pandas-market-calendars = "~3.2"
|
|
ipympl = "^0.8.2"
|
|
rich = "^12.6.0"
|
|
dnspython = "^2.1.0"
|
|
python-dotenv = "^1.0.0"
|
|
Pygments = "^2.11.2"
|
|
ascii-magic = "^1.6"
|
|
squarify = "^0.4.3"
|
|
finnhub-python = "^2.4.10"
|
|
linearmodels = "^4.25"
|
|
ipywidgets = "^8.0.2"
|
|
Jinja2 = "^3.0.3"
|
|
Riskfolio-Lib = { version = "^3.1.1", optional = true }
|
|
ccxt = "^4.0.33"
|
|
html5lib = "^1.1"
|
|
feedparser = "^6.0.10"
|
|
pyinstaller = { version = "^4.10", optional = true }
|
|
jupyterlab-code-formatter = { version = "^1.4.10", optional = true }
|
|
jupyterlab-lsp = { version = "^3.10.1", optional = true }
|
|
jedi-language-server = { version = "^0.40.0", optional = true }
|
|
tokenterminal = "^1.0.1"
|
|
torch = { version = "~1.11.0", optional = true }
|
|
watchdog = "^2.1.9"
|
|
pythclient = "^0.1.2"
|
|
"ruamel.yaml" = "^0.17.21"
|
|
setuptools = "<65.5.0"
|
|
numpy = "1.23.4"
|
|
papermill = "2.4"
|
|
stocksera = "^0.1.21"
|
|
ipython = "8.11.0"
|
|
protobuf = "3.20.1"
|
|
pytorch-lightning = { version = "1.6.5", optional = true }
|
|
u8darts = { extras = ["torch"], version = "0.23.0", optional = true }
|
|
lightgbm = { version = "3.3.5", optional = true } # locked because this is the latest version available on conda intel mac
|
|
docstring-parser = { version = "^0.15", optional = true }
|
|
grpcio = "^1.51.1"
|
|
jupyterlab-widgets = "^3.0.3"
|
|
mstarpy = "^0.0.4"
|
|
packaging = ">=22.0"
|
|
streamlit = "^1.24.1"
|
|
pywry = "^0.6.1"
|
|
svglib = "^1.5.0"
|
|
sparqlwrapper = "^2.0.0"
|
|
y-py = "!=0.5.5" # Untraceable third level dependency that requires cargo to be built
|
|
psutil = "!=5.9.4" # Forecasting menu and IPyKernel dependency broken on MacOs
|
|
intrinio-sdk = "^6.22.2"
|
|
yahooquery = "^2.3.0"
|
|
openai-whisper = { version = "^20230124", optional = true }
|
|
setuptools-rust = { version = "^1.5.2", optional = true }
|
|
transformers = { version = "4.27.1", optional = true }
|
|
yt-dlp = { version = "^2023.2.17", optional = true }
|
|
pydantic = "<2"
|
|
posthog = "^3.0.1"
|
|
reportlab = "<4" #Pinning due to build error on MacOs
|
|
arch = "^5.5.0"
|
|
llama-index = "^0.8.8"
|
|
langchain = "0.0.266" # Pinned for llama index
|
|
ffn = "0.3.6"
|
|
jupyter-client = "7.4.1"
|
|
jupyter-server = "1.23.6"
|
|
python-jose = "^3.3.0"
|
|
nixtlats = "^0.1.11" # Pinning for stability
|
|
nltk = "^3.8.1" # Is a dependence for llama index
|
|
openai = "0.28.1"
|
|
|
|
|
|
[tool.poetry.extras]
|
|
forecast = [
|
|
"torch",
|
|
"pytorch-lightning",
|
|
"u8darts",
|
|
"lightgbm",
|
|
"openai-whisper",
|
|
"setuptools-rust",
|
|
"transformers",
|
|
"yt-dlp",
|
|
]
|
|
optimization = ["Riskfolio-Lib"]
|
|
all = [
|
|
"torch",
|
|
"pytorch-lightning",
|
|
"u8darts",
|
|
"Riskfolio-Lib",
|
|
"lightgbm",
|
|
"openai-whisper",
|
|
"setuptools-rust",
|
|
"transformers",
|
|
"yt-dlp",
|
|
]
|
|
jupyterlab = [
|
|
"jupyterlab-code-formatter",
|
|
"jupyterlab-lsp",
|
|
"jedi-language-server",
|
|
]
|
|
installer = ["pyinstaller"]
|
|
doc = ["docstring-parser"]
|
|
|
|
[tool.poetry.group.dev.dependencies]
|
|
pytest-xdist = "^3.2.0"
|
|
pytest = "^6.2.2"
|
|
pylint = "2.17.0"
|
|
mock = "^4.0.3"
|
|
codespell = "^2.2.4"
|
|
pydocstyle = "^6.3.0"
|
|
sphinx = "^4.5.0"
|
|
myst-parser = "^0.15.2"
|
|
black = "^23.1.0"
|
|
bandit = "^1.7.0"
|
|
coverage = ">=5.5"
|
|
vcrpy = "^4.1.1"
|
|
pytest-mock = "^3.6.1"
|
|
pytest-recording = "^0.12.0"
|
|
types-pytz = "^2021.3.1"
|
|
types-requests = "^2.26.0"
|
|
types-PyYAML = "^6.0.1"
|
|
types-python-dateutil = "^2.8.3"
|
|
types-setuptools = "^57.4.7"
|
|
pre-commit = "^2.16.0"
|
|
pytest-cov = "^3.0.0"
|
|
types-six = "^1.16.12"
|
|
nbmake = ">0.5.0"
|
|
pytest-timeout = "^2.1.0"
|
|
pytest-recorder = "^0.2.1"
|
|
freezegun = "^1.2.2"
|
|
ruff = "^0.0.285"
|
|
mypy = "^1.5.1"
|
|
toml = "^0.10.2"
|
|
tomli = "^2.0.1"
|
|
|
|
[build-system]
|
|
requires = ["setuptools<65.5.0", "poetry-core>=1.0.0"]
|
|
build-backend = "poetry.core.masonry.api"
|
|
|
|
[tool.pydocstyle]
|
|
inherit = true
|
|
convention = "numpy"
|
|
match = '((?!test_).)*\.py'
|
|
add-ignore = "D401"
|
|
|
|
[tool.flake8]
|
|
max-line-length = 122
|
|
ignore = "S101,W503"
|
|
|
|
[tool.ruff]
|
|
line-length = 122
|
|
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",
|
|
"S",
|
|
"UP",
|
|
"I",
|
|
"PLC",
|
|
"PLE",
|
|
"PLR",
|
|
"PLW",
|
|
"SIM",
|
|
"T20",
|
|
]
|
|
# These ignores should be seen as temporary solutions to problems that will NEED fixed
|
|
ignore = ["PLR2004", "PLR0913", "PLR0915"]
|
|
exclude = [
|
|
"^openbb_platform/platform/core/openbb_core/app/static/package/.*",
|
|
"^openbb_platform/openbb/package/.*",
|
|
]
|
|
|
|
[tool.ruff.per-file-ignores]
|
|
"**/tests/*" = ["S101"]
|
|
"*init*.py" = ["F401"]
|
|
"website/*" = ["T201"]
|
|
"*integration/*" = ["S101"]
|
|
|
|
[tool.ruff.flake8-import-conventions.aliases]
|
|
"matplotlib.pyplot" = "plt"
|
|
numpy = "np"
|
|
pandas = "pd"
|
|
seaborn = "sns"
|
|
|
|
[tool.ruff.isort]
|
|
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
|
|
skip_gitignore = true
|
|
combine_as_imports = true
|
|
src_paths = ["openbb_terminal"]
|