Skip to content

chore: replace requirements.txt with pyproject.toml dependencies - #69

Merged
mwbrooks merged 5 commits into
mainfrom
mwbrooks-pyproject-project-section
Oct 19, 2026
Merged

mwbrooks merged 5 commits into
mainfrom
mwbrooks-pyproject-project-section

Conversation

@mwbrooks

@mwbrooks mwbrooks commented Feb 21, 2026 •

Copy link
Copy Markdown
Member

Type of change

  • New feature
  • Bug fix
  • Documentation

Summary

This pull request makes pyproject.toml the single source of dependencies by adding a [project] section with a dependencies array and removing requirements.txt.

Without a [project] section, pip install -e . returns an error. The Slack CLI runs that same command when it finds a pyproject.toml, so this also covers projects created with slack create.

  • Moves the pinned versions from requirements.txt into dependencies and a dev extra for pytest and ruff
  • Limits setuptools package discovery to listeners, so the editable install works with the flat project layout
  • Installs with pip install -e ".[dev]" in CI and the README
  • Matches bolt-python-starter-template#71

Requirements

  • I have ensured the changes I am contributing align with existing patterns and have tested and linted my code
  • I've read and agree to the Code of Conduct

@mwbrooks mwbrooks self-assigned this Feb 21, 2026
@mwbrooks
mwbrooks requested a review from a team as a code owner February 21, 2026 00:10
@mwbrooks mwbrooks added the enhancement New feature or request label Feb 21, 2026

@WilliamBergamin WilliamBergamin left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This looks good 💯

I think we might be able to remove the requirements.txt

WilliamBergamin and others added 3 commits July 2, 2026 12:54
Remove requirements.txt so pyproject.toml is the single source of
dependencies, per review. Sync the pinned versions with the ones
requirements.txt had, install with `pip install -e ".[dev]"` in CI and
the README, and limit setuptools package discovery to `listeners` so
the editable install works with the flat layout. Set requires-python to
the oldest version CI tests and the version to 0.0.0, matching
bolt-python-starter-template#71.
@mwbrooks mwbrooks changed the title chore: update pyproject.toml with [project] section chore: replace requirements.txt with pyproject.toml dependencies Oct 19, 2026
Comment thread pyproject.toml
[project]
name = "bolt-python-custom-step-template"
version = "0.0.0"
requires-python = ">=3.10"

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.

note: We may want to bump this once we decide what min version we want to support. For now it'll match our Workflow tests.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Yess good point

@mwbrooks

mwbrooks commented Oct 19, 2026 •

Copy link
Copy Markdown
Member Author

This looks good 💯

I think we might be able to remove the requirements.txt

@WilliamBergamin I agree - requirements.txt is currently removed in this PR: https://github.com/slack-samples/bolt-python-custom-step-template/pull/69/changes#diff-4d7c51b1efe9043e44439a949dfd92e5827321b34082903477fd04876edb7552

@WilliamBergamin WilliamBergamin left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

yess

@mwbrooks
mwbrooks enabled auto-merge (squash) October 19, 2026 15:12
Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants