From d8fd8f06da485250d65a99b95e11b7f06cfffaf6 Mon Sep 17 00:00:00 2001 From: Danglewood <85772166+deeleeramone@users.noreply.github.com> Date: Mon, 1 Jun 2026 14:24:13 -0700 Subject: [PATCH] some ty items and add requests-types stubs for ty in devtools --- .../api/router/helpers/coverage_helpers.py | 4 ++-- .../openbb_core/provider/utils/helpers.py | 4 ++-- .../extensions/devtools/pyproject.toml | 1 + openbb_platform/extensions/devtools/uv.lock | 23 +++++++++++++++++++ 4 files changed, 28 insertions(+), 4 deletions(-) diff --git a/openbb_platform/core/openbb_core/api/router/helpers/coverage_helpers.py b/openbb_platform/core/openbb_core/api/router/helpers/coverage_helpers.py index c093040c557..3757bb70bae 100644 --- a/openbb_platform/core/openbb_core/api/router/helpers/coverage_helpers.py +++ b/openbb_platform/core/openbb_core/api/router/helpers/coverage_helpers.py @@ -37,7 +37,7 @@ def get_route_callable(app: "BaseApp", route: str) -> Callable: return return_callable # type: ignore -def signature_to_fields(app: "BaseApp", route: str) -> dict[str, tuple[Any, FieldInfo]]: # type: ignore +def signature_to_fields(app: "BaseApp", route: str) -> dict[str, tuple[Any, FieldInfo]]: """Convert a command signature to pydantic fields.""" return_callable = get_route_callable(app, route) sig = signature(return_callable) @@ -83,7 +83,7 @@ def create_combined_model( filter_by_provider: str | None = None, ) -> type[BaseModel]: """Create a combined pydantic model.""" - combined_fields = {} + combined_fields: dict[str, Any] = {} for fields in field_sets: for name, (type_annotation, field) in fields.items(): if ( diff --git a/openbb_platform/core/openbb_core/provider/utils/helpers.py b/openbb_platform/core/openbb_core/provider/utils/helpers.py index f9eaf31da35..4142040650d 100644 --- a/openbb_platform/core/openbb_core/provider/utils/helpers.py +++ b/openbb_platform/core/openbb_core/provider/utils/helpers.py @@ -611,7 +611,7 @@ def filter_by_dates( if start_date is None and end_date is None: return data - def _filter(d: Data) -> bool: + def _filter(d: D) -> bool: _date = getattr(d, "date", None) dt = _date.date() if _date and isinstance(_date, datetime) else _date if dt: @@ -624,7 +624,7 @@ def filter_by_dates( return True # pragma: no cover return False - return list(filter(_filter, data)) # ty: ignore[invalid-return-type] + return list(filter(_filter, data)) def safe_fromtimestamp(timestamp: float | int, tz: timezone | None = None) -> datetime: diff --git a/openbb_platform/extensions/devtools/pyproject.toml b/openbb_platform/extensions/devtools/pyproject.toml index 4ecb30e0634..0012c5bf1b1 100644 --- a/openbb_platform/extensions/devtools/pyproject.toml +++ b/openbb_platform/extensions/devtools/pyproject.toml @@ -25,6 +25,7 @@ dependencies = [ "pytest-freezer>=0.4.9,<1.0.0", "ipykernel>=6.30.1", "types-python-dateutil>=2.8.19.14,<3.0.0", + "types-requests>=2.32,<3.0.0", "types-toml>=0.10.8.7,<1.0.0", ] diff --git a/openbb_platform/extensions/devtools/uv.lock b/openbb_platform/extensions/devtools/uv.lock index 9fb66cffa96..cf34cef8577 100644 --- a/openbb_platform/extensions/devtools/uv.lock +++ b/openbb_platform/extensions/devtools/uv.lock @@ -1306,6 +1306,7 @@ dependencies = [ { name = "tox" }, { name = "ty" }, { name = "types-python-dateutil" }, + { name = "types-requests" }, { name = "types-toml" }, ] @@ -1327,6 +1328,7 @@ requires-dist = [ { name = "tox", specifier = ">=4.11.3,<5.0.0" }, { name = "ty", specifier = ">=0.0.1a14" }, { name = "types-python-dateutil", specifier = ">=2.8.19.14,<3.0.0" }, + { name = "types-requests", specifier = ">=2.32,<3.0.0" }, { name = "types-toml", specifier = ">=0.10.8.7,<1.0.0" }, ] @@ -2266,6 +2268,18 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/fd/c6/eeba37bfee282a6a97f889faef9352d6172c6a5088eb9a4daf570d9d748d/types_python_dateutil-2.9.0.20260408-py3-none-any.whl", hash = "sha256:473139d514a71c9d1fbd8bb328974bedcb1cc3dba57aad04ffa4157f483c216f", size = 18437, upload-time = "2026-04-08T04:28:10.095Z" }, ] +[[package]] +name = "types-requests" +version = "2.33.0.20260518" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e0/01/c5a19253fe1ac159159ddf9a3a07cec8bb5e486ec4d9002ad2821da0e5d2/types_requests-2.33.0.20260518.tar.gz", hash = "sha256:df7bd3bfe0ca8402dfb841e7d9be714bb5578203283d66d7dc4ef69343449a5e", size = 24752, upload-time = "2026-05-18T06:07:37.966Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1c/bc/b139710a3b6018f7fb2b9508b35c8af564e61bf2bf4fa619d088f3e16f85/types_requests-2.33.0.20260518-py3-none-any.whl", hash = "sha256:626d697d1adaaff76e2044dc8c5c051d8f21abc157bdfe204a75558076fe0bf0", size = 21391, upload-time = "2026-05-18T06:07:37.044Z" }, +] + [[package]] name = "types-toml" version = "0.10.8.20260408" @@ -2284,6 +2298,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548", size = 44614, upload-time = "2025-08-25T13:49:24.86Z" }, ] +[[package]] +name = "urllib3" +version = "2.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/53/0c/06f8b233b8fd13b9e5ee11424ef85419ba0d8ba0b3138bf360be2ff56953/urllib3-2.7.0.tar.gz", hash = "sha256:231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c", size = 433602, upload-time = "2026-05-07T16:13:18.596Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl", hash = "sha256:9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897", size = 131087, upload-time = "2026-05-07T16:13:17.151Z" }, +] + [[package]] name = "vcrpy" version = "8.1.1"