Files
OpenBB/openbb_platform/extensions/platform_api/pyproject.toml
Danglewood 6ca062bf86 [V5] openbb-platform-api: Refactor for V5 Spec, Config, Packaging, Test Coverage (#7494)
* stash some changes

* add more robust testing

* mypy

* point PR at V5

* introduce spec file

* codespell

* test fix

* fix workflow environment setup

* fix workflow environment setup

* fix workflow environment setup

* add pyyaml to dependencies

* split lint jobs

* fix workflow environment setup

* fix workflow environment setup

* workflow env setup

* workflow env setup

* clean up code comments

* add auth hook entrypoints

* codespell

* add codegen feature

* codespell

* move _unpack into dispatchers for consistency with codegen packages

* surface nested models in the response

* fix missing coverage in CI

* socrata updates

* test fix

* detect plotly output

* add --include and --exclude flags from generate-extension command

* refactor openbb-platform-api for V5 operations and spec file handling

* delete poetry.lock

* add test workflow

* add temp branch id for test workflow

* add httpx to dev dependencies

* add a conftest.py

* tweak conftest

* tweak conftest

* python 3.10 issues

* more python 3.10

* more python 3.10

* more python 3.10

* more python 3.10

* fix url template resolution

* multi-spec support

* fix a windows path issue

* cap test matrix at python 3.14

* no 3.15 runners for platform-api

* no useless comments

* platform controller command description split

* merge URL overloads from path params

* exclude none and unset from model dump

* markdown lint

* ignore get/post endpoints that are return SSE

* fix remaining fastapi 0.137 fallout

---------

Co-authored-by: deeleeramone <>
Co-authored-by: Copilot <copilot@github.com>
2026-06-20 20:23:23 -07:00

130 lines
2.8 KiB
TOML
Vendored

[project]
name = "openbb-platform-api"
version = "2.0.0"
description = "OpenBB Platform API: launcher and widgets builder for the Open Data Platform REST API and OpenBB Workspace custom-backend connector."
authors = [{ name = "OpenBB Team", email = "hello@openbb.co" }]
license = { text = "AGPL-3.0-only" }
readme = "README.md"
requires-python = ">=3.10,<4"
dependencies = [
"openbb-core>=2.0.0",
"deepdiff>=8.6.2",
# Backport of stdlib ``tomllib`` for py3.10.
"tomli>=2.0;python_version<'3.11'",
]
[project.scripts]
openbb-api = "openbb_platform_api.main:main"
[project.urls]
Homepage = "https://openbb.co"
Repository = "https://github.com/OpenBB-finance/OpenBB"
Documentation = "https://docs.openbb.co/odp/python/extensions/interface/openbb-api"
[dependency-groups]
dev = [
"openbb-devtools>=2.0.0",
"httpx>=0.28.0,<1.0.0",
]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["openbb_platform_api"]
[tool.hatch.build.targets.sdist]
include = [
"openbb_platform_api",
"README.md",
"pyproject.toml",
]
# openbb-core is path-sourced because v5's has not yet been published.
[tool.uv.sources]
openbb-core = { path = "../../core", editable = true }
openbb-devtools = { path = "../devtools", editable = true }
[tool.ruff]
line-length = 88
target-version = "py310"
fix = true
[tool.ruff.lint]
select = [
"D",
"E",
"W",
"F",
"S",
"UP",
"I",
"PLC",
"PLE",
"PLR",
"PLW",
"SIM",
"T20",
]
ignore = [
"PLR2004", # magic-value-comparison
"PLR0913", # too-many-arguments
"PLR0915", # too-many-statements
"PLC0415", # import-outside-top-level
"E402", # module-import-not-at-top-of-file
"E501", # line-too-long (formatter handles this on best-effort)
"D202",
"D203",
"D205",
"D206", # docstring-tab-indentation (conflicts with formatter)
"D210",
"D212",
"D213",
"D214",
"D215",
"D300", # triple-single-quotes (conflicts with formatter)
"D400",
"D404",
"D405",
"D406",
"D407",
"D408",
"D409",
"D410",
"D411",
"D413",
"D415",
"D416",
"D417",
]
[tool.ruff.lint.per-file-ignores]
"tests/**" = ["S101", "S108", "D", "SIM105", "SIM117"]
"integration/**" = ["S101", "S108", "D", "SIM105", "SIM117"]
"**/__init__.py" = ["F401"]
[tool.ruff.lint.isort]
combine-as-imports = true
force-wrap-aliases = true
[tool.ruff.lint.pylint]
max-args = 8
max-branches = 26
max-returns = 9
max-statements = 30
[tool.ruff.lint.pydocstyle]
convention = "numpy"
[tool.ty]
[tool.ty.environment]
python-version = "3.10"
[tool.ty.src]
include = ["openbb_platform_api"]
exclude = ["openbb_platform_api/assets", "tests", "integration"]
[tool.ty.rules]
unresolved-import = "warn"