From e7daa1edbad10f8d1e3187507dcc2357d2b9d1a9 Mon Sep 17 00:00:00 2001 From: Eric Gustin <34000337+EricGustin@users.noreply.github.com> Date: Mon, 24 Mar 2025 12:45:04 -0800 Subject: [PATCH] Fix Failing Slack Toolkit Build (#326) `typing` was being installed and causing builds to fail. [See logs here](https://github.com/ArcadeAI/arcade-ai/actions/runs/14041206262/job/39311571300) This PR also removes the `typing-extensions` dependency --- toolkits/slack/arcade_slack/models.py | 12 +++++------- toolkits/slack/pyproject.toml | 2 +- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/toolkits/slack/arcade_slack/models.py b/toolkits/slack/arcade_slack/models.py index 779a9518..69558dba 100644 --- a/toolkits/slack/arcade_slack/models.py +++ b/toolkits/slack/arcade_slack/models.py @@ -1,7 +1,5 @@ from enum import Enum -from typing import Optional - -from typing_extensions import Literal, NotRequired, TypedDict +from typing import Literal, Optional, TypedDict from arcade_slack.custom_types import ( SlackOffsetSecondsFromUTC, @@ -174,7 +172,7 @@ class Message(SlackMessage, total=False): datetime_timestamp: str # Human-readable datetime string (e.g. "2025-01-22 12:00:00") -class ConversationMetadata(TypedDict, total=True): +class ConversationMetadata(TypedDict, total=False): """Type definition for the conversation metadata dictionary.""" id: Optional[str] @@ -184,9 +182,9 @@ class ConversationMetadata(TypedDict, total=True): is_archived: Optional[bool] is_member: Optional[bool] purpose: Optional[str] - num_members: NotRequired[Optional[int]] - user: NotRequired[Optional[SlackUser]] - is_user_deleted: NotRequired[Optional[bool]] + num_members: Optional[int] + user: Optional[SlackUser] + is_user_deleted: Optional[bool] class BasicUserInfo(TypedDict, total=False): diff --git a/toolkits/slack/pyproject.toml b/toolkits/slack/pyproject.toml index d317acef..ee624f25 100644 --- a/toolkits/slack/pyproject.toml +++ b/toolkits/slack/pyproject.toml @@ -7,10 +7,10 @@ authors = ["Arcade "] [tool.poetry.dependencies] python = "^3.10" aiodns = "^1.0" # required by slack - not picked by poetry due to slack requirements txt quirk :/ +typing = { version = "*", markers = "python_version < '3.7'" } # prevent aiodns from installing typing package aiohttp = ">=3.7.3,<4" # same as aiodns, above comment arcade-ai = ">=0.1,<2.0" slack-sdk = "^3.31.0" -typing-extensions = "^4.0.0" # some typing annotations aren't available in older versions of python [tool.poetry.dev-dependencies] pytest = "^8.3.0"