Skip to content

feat: add [async] optional dependencies for easier async setup - #1423

Closed
yukiyan wants to merge 1 commit into
slackapi:mainfrom
yukiyan:feat/add-async-optional-dependencies
Closed

feat: add [async] optional dependencies for easier async setup#1423
yukiyan wants to merge 1 commit into
slackapi:mainfrom
yukiyan:feat/add-async-optional-dependencies

Conversation

@yukiyan

Copy link
Copy Markdown

Summary

Add [async] optional dependencies to pyproject.toml so users can install async requirements with pip install "slack-bolt[async]" instead of manually installing aiohttp.

Changes:

  • Add optional-dependencies.async to pyproject.toml (references existing requirements/async.txt)
  • Update install instructions in README.md, docs/, and slack_bolt/async_app.py docstring

Category

  • slack_bolt.App and/or its core components
  • slack_bolt.async_app.AsyncApp and/or its core components
  • Adapters in slack_bolt.adapter
  • Document pages under /docs
  • Others

Requirements

  • I've read and understood the Contributing Guidelines and have done my best effort to follow them.
  • I've read and agree to the Code of Conduct.
  • I've run ./scripts/install_all_and_run_tests.sh after making the changes.

@yukiyan
yukiyan requested review from a team as code ownersJanuary 29, 2026 05:01
@yukiyan

Copy link
Copy Markdown
Author

@WilliamBergamin@lukegalbraithrussell@zimeg Could you review this PR when you get a chance? Thanks!

@WilliamBergamin

Copy link
Copy Markdown
Contributor

Hi @yukiyan thanks for opening this 💯

Currently we recommend running pip install slack_bolt aiohttp to use the AsyncApp, making pip install "slack_bolt[async]" reference the import in requirements/async.txt may not be the desired behavior as requirements/async.txt is intended for testing.

We might want to think more about this strategy before implementing a slack_bolt[async] 🤔 since it means that this project would support specific versions of aiohttp and bumping the minimum version may result in breaking changes here

@yukiyan

Copy link
Copy Markdown
Author

Sorry for the late reply, @WilliamBergamin!

That's a fair point — I hadn't considered the maintenance cost of supporting specific aiohttp versions as optional dependencies. Bumping the minimum version could indeed introduce breaking changes, which adds ongoing burden to the maintainers.

I was inspired by python-slack-sdk's optional.txt and thought a similar approach could work here, but I understand that the context is different — requirements/async.txt in bolt-python is intended for testing, not for end-user dependency management.

I'll go ahead and close this PR. Thanks again for the thoughtful feedback!

@yukiyanyukiyan closed this Mar 9, 2026
@yukiyan
yukiyan deleted the feat/add-async-optional-dependencies branch March 9, 2026 03:55
@Cr1stalCr1stal mentioned this pull request May 31, 2026
14 tasks
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@yukiyan@WilliamBergamin