slackapi / slackapi/python-slack-sdk

Add TypedDict to slack_sdk.models classes

Open
#1,515 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

discussion enhancement Version: 3x web-client
Dominant language
Python
Stars
4k
Forks
857
Avg merge
22h 21m
Merged PRs (30d)
16

Description

The Client treats Json-format Request Bodies as dict, but can benefit from completion and static analysis if TypedDict is supported.

Category (place an x in each of the [ ])
  • slack_sdk.web.WebClient (sync/async) (Web API client)
  • slack_sdk.webhook.WebhookClient (sync/async) (Incoming Webhook, response_url sender)
  • slack_sdk.models (UI component builders)
  • slack_sdk.oauth (OAuth Flow Utilities)
  • slack_sdk.socket_mode (Socket Mode client)
  • slack_sdk.audit_logs (Audit Logs API client)
  • slack_sdk.scim (SCIM API client)
  • slack_sdk.rtm (RTM client)
  • slack_sdk.signature (Request Signature Verifier)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the JSON-format request body definitions used by slack_sdk.web.WebClient, slack_sdk.webhook.WebhookClient, and slack_sdk.models. Determine which model classes need TypedDict support and how their annotations are exposed to static analysis. Done means the targeted classes provide useful completion and type checking for request-body dictionaries.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api, developer-experience
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.