Skip to content

build: vendor bleeding-edge bolt-python wheel from main branch#11

Merged
mwbrooks merged 2 commits intomainfrom
mwbrooks-vendor-bolt-python
Feb 21, 2026
Merged

build: vendor bleeding-edge bolt-python wheel from main branch#11
mwbrooks merged 2 commits intomainfrom
mwbrooks-vendor-bolt-python

Conversation

@mwbrooks
Copy link
Copy Markdown
Member

@mwbrooks mwbrooks commented Feb 20, 2026

Summary

  • Builds slack-bolt from bolt-python main (837e120) with a version and sha identifier (1.27.0+837e120) and checks the .whl into vendor/
  • Updates all three requirements.txt files to install from the vendored wheel instead of pinning slack-bolt==1.27.0 from PyPI
  • Comments out slack-bolt in all three pyproject.toml files (relative whl paths aren't reliably supported there)
  • Adds a /project:update-bolt Claude Code slash command for future updates
  • Adds Dependabot ignore rule for slack-bolt
  • Updates all README.md with install instructions and how to update Bolt Python

Test plan

  • From any app directory, run pip install -r requirements.txt and confirm slack_bolt installs from the vendored whl
  • Run python -c "from slack_bolt.version import __version__; print(__version__)" — should show 1.27.0+837e120
  • Run slack run to confirm the Slack CLI can install and start the app
  • Run ruff check . from an app directory to confirm linting passes

Build slack-bolt from bolt-python main (837e120) with a PEP 440 local
version identifier and check the .whl into vendor/. All three apps now
install from the vendored wheel via requirements.txt instead of pinning
to PyPI. Adds /project:update-bolt slash command for future updates.
@mwbrooks mwbrooks self-assigned this Feb 20, 2026
@mwbrooks mwbrooks added the update PR only - an update or maintenance is being made to an existing app label Feb 20, 2026
Copy link
Copy Markdown
Member Author

@mwbrooks mwbrooks left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comments for the kind reviewers!


```sh
pip install -r requirements.txt
# or pip install -e .
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

question: went back and forth on whether to remove this or leave a comment. I fear we'll forget to add this back after we un-vendor Bolt

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mwbrooks I think you made the right call here. We should keep README as correct as possible for what exists. It'd be so confusing otherwise to find incorrect instruction! 📠

@mwbrooks mwbrooks requested review from srtaalej and zimeg February 20, 2026 01:14
Copy link
Copy Markdown
Member

@zimeg zimeg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧰 Another amazing changeset to land toward fast development! I think we should merge this but left a comment about findings we might encounter with updates...

Thank you for setting us up for success with this 🏆 ✨

@@ -1,5 +1,5 @@
slack-sdk==3.40.1
slack-bolt==1.27.0
../vendor/slack_bolt-1.27.0+837e120-py2.py3-none-any.whl
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 issue(non-blocking): IIRC the kind @dependabot cannot update requirements.txt files that use a relative path. This happened to me with similar testing setups before but I'm not confident in this statement when vendoring the package to be honest...

Wanting to call this out here since we might find adjacent dependencies fall outdated, but I think the slash command included does more than enough!

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the insight @zimeg!

Hmm... that's a bummer. I suppose we can merge it and if we find that @dependabot has trouble, then we can revisit it.

An alternative approach could be to have the Claude Code slash command install the vendored Bolt into each project using pip. This would allow us to use the production slack_bolt and then /project:update-bolt would overwrite it with the vendor copy.


```sh
pip install -r requirements.txt
# or pip install -e .
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mwbrooks I think you made the right call here. We should keep README as correct as possible for what exists. It'd be so confusing otherwise to find incorrect instruction! 📠

@mwbrooks
Copy link
Copy Markdown
Member Author

What insight! Thank you @zimeg!

We can merge this and switch up our slash command approach if @dependabot is feelings a little blocked. I definitely think it's good to keep our dependencies up-to-date!

@mwbrooks mwbrooks merged commit eae518f into main Feb 21, 2026
4 checks passed
@mwbrooks mwbrooks deleted the mwbrooks-vendor-bolt-python branch February 21, 2026 03:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

update PR only - an update or maintenance is being made to an existing app

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants