diff --git a/openbb_platform/dev_install.py b/openbb_platform/dev_install.py index a71a067b6dfc..176d5edff88b 100644 --- a/openbb_platform/dev_install.py +++ b/openbb_platform/dev_install.py @@ -14,6 +14,7 @@ LOCAL_DEPS = """ [tool.poetry.dependencies] python = ">=3.8,<3.12" +openbb-devtools = { path = "./extensions/devtools", develop = true } openbb-provider = { path = "./platform/provider", develop = true } openbb-core = { path = "./platform/core", develop = true } diff --git a/openbb_platform/extensions/devtools/README.md b/openbb_platform/extensions/devtools/README.md new file mode 100644 index 000000000000..cbfd9fb15f14 --- /dev/null +++ b/openbb_platform/extensions/devtools/README.md @@ -0,0 +1,22 @@ +# The OpenBB DevTools Extension + +This extension aggregates the dependencies that facilitate a nice development experience +for OpenBB. It does not contain any code itself, but rather pulls in the following dependencies: + +- Linters (ruff, pylint, mypy) +- Code formatters (black) +- Code quality tools (bandit) +- Pre-commit hooks (pre-commit) +- CI/CD configuration (tox, pytest, pytest-cov) +- Jupyter kernel (ipykernel) +- ... add your productivity booster here ... + +## Installation + +The extension is included into the dev_install.py script. + +Standalone installation: + +```bash +pip install openbb-devtools +``` diff --git a/openbb_platform/extensions/devtools/integration/.gitkeep b/openbb_platform/extensions/devtools/integration/.gitkeep new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/openbb_platform/extensions/devtools/openbb_devtools/__init__.py b/openbb_platform/extensions/devtools/openbb_devtools/__init__.py new file mode 100644 index 000000000000..3729885af281 --- /dev/null +++ b/openbb_platform/extensions/devtools/openbb_devtools/__init__.py @@ -0,0 +1 @@ +"""Placeholder for openbb_devtools.""" diff --git a/openbb_platform/extensions/devtools/pyproject.toml b/openbb_platform/extensions/devtools/pyproject.toml new file mode 100644 index 000000000000..20b863ea023e --- /dev/null +++ b/openbb_platform/extensions/devtools/pyproject.toml @@ -0,0 +1,29 @@ +[tool.poetry] +name = "openbb-devtools" +version = "0.1.0" +description = "Tools for OpenBB Platform Developers" +authors = ["OpenBB Team "] +readme = "README.md" +packages = [{ include = "openbb_devtools" }] + +[tool.poetry.dependencies] +python = ">=3.8,<3.12" # scipy forces <4.0 explicitly +ruff = "^0.1.5" +pylint = "^3.0.2" +mypy = "^1.6.1" +pydocstyle = "^6.3.0" +black = "^23.11.0" +bandit = "^1.7.5" +pre-commit = "^3.5.0" +tox = "^4.11.3" +pytest = "^7.4.3" +pytest-cov = "^4.1.0" +ipykernel = "^6.26.0" +types-python-dateutil = "^2.8.19.14" +types-toml = "^0.10.8.7" +poetry = "^1.7.0" + + +[build-system] +requires = ["poetry-core"] +build-backend = "poetry.core.masonry.api"