Skip to content

chore: drop setup.cfg and configure metadata in pyproject.toml only - #1616

Merged
WilliamBergamin merged 1 commit into
mainfrom
chore/drop-setup-cfg
Nov 6, 2026
Merged

WilliamBergamin merged 1 commit into
mainfrom
chore/drop-setup-cfg

Conversation

@WilliamBergamin

Copy link
Copy Markdown
Contributor

Summary

This pull request removes the legacy setup.cfg so package metadata lives only in pyproject.toml.

  • setup.cfg was added in Maintain metadata #999 to keep Home-page, Author, and Author-email in pip show after Configuring with pyproject.toml #996.
  • authors is now two entries, one name-only and one email-only. PEP 621 maps those to Author and Author-email exactly as before. A single entry with both would render Author-email: "Slack Technologies, LLC" <opensource@slack.com> with an empty Author.
  • Homepage is added to [project.urls]. Core metadata has no pyproject.toml field for Home-page, and pip 24.1+ fills Home-page in pip show from this URL.
  • Built METADATA diff against main: only Home-page: removed and Project-URL: Homepage added.
  • Caveat: pip 24.0 and older (the newest pip on Python 3.7) show an empty Home-page:. Home-page is deprecated core metadata, and PyPI's sidebar already uses Project-URL.

pip show slack-bolt on pip 25.3, before and after:

Name: slack_bolt
Version: 1.30.0
Summary: The Bolt Framework for Python
Home-page: https://github.com/slackapi/bolt-python
Author: Slack Technologies, LLC
Author-email: opensource@slack.com
License: MIT
Requires: slack_sdk

Testing

  1. ./scripts/build_pypi_package.sh
  2. In a fresh venv: pip install dist/*.whl && pip show slack-bolt, and confirm the output above.
  3. Optionally compare unzip -p dist/*.whl '*.dist-info/METADATA' with a build from main.

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

Please read the Contributing guidelines and Code of Conduct before creating this issue or pull request. By submitting, you are agreeing to those rules.

  • 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.

🤖 Generated with Claude Code

setup.cfg only kept Home-page, Author, and Author-email intact for
pip show (#999). Listing the author as separate name and email entries
reproduces Author and Author-email exactly, and a Homepage project URL
fills Home-page on pip 24.1 and later.

Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
@WilliamBergamin WilliamBergamin added improvement python Pull requests that update Python code semver:patch labels Nov 5, 2026
@WilliamBergamin
WilliamBergamin marked this pull request as ready for review November 5, 2026 21:33
@WilliamBergamin
WilliamBergamin requested a review from a team as a code owner November 5, 2026 21:33
@WilliamBergamin WilliamBergamin self-assigned this Nov 5, 2026
@WilliamBergamin WilliamBergamin added this to the next milestone Nov 5, 2026
@codecov

codecov Bot commented Nov 5, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 91.57%. Comparing base (efc36b1) to head (ce933c4).
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1616   +/-   ##
=======================================
  Coverage   91.57%   91.57%           
=======================================
  Files         228      228           
  Lines        7285     7285           
=======================================
  Hits         6671     6671           
  Misses        614      614           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

@zimeg zimeg left a comment

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.

🧹 LGTM! Moving the last bits of setup.cfg into pyproject.toml keeps the published Author/Author-email/Home-page metadata the same. python-slack-sdk still carries the same setup.cfg with authors in dynamic, so a matching follow-up there would keep them in step.

@mwbrooks mwbrooks left a comment

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.

✅ Thanks @WilliamBergamin, one less config file to keep in sync!

Comment thread pyproject.toml
dynamic = ["version", "readme"]
description = "The Bolt Framework for Python"
license = { text = "MIT" }
authors = [{ name = "Slack Technologies, LLC" }, { email = "opensource@slack.com" }]

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.

praise: Splitting authors into a name-only and an email-only entry is a neat trick to keep Author and Author-email exactly as pip show had them. Nice to see setup.cfg go 🧹

Comment thread pyproject.toml
dynamic = ["version", "readme"]
description = "The Bolt Framework for Python"
license = { text = "MIT" }
authors = [{ name = "Slack Technologies, LLC" }, { email = "opensource@slack.com" }]

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.

suggestion (non-blocking): A short comment above this line explaining the split could stop someone from tidying it into one entry later and bringing back the bug #999 fixed.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I dont think we need a comment we rarely play in this area

@WilliamBergamin
WilliamBergamin merged commit 0945453 into main Nov 6, 2026
17 checks passed
@WilliamBergamin
WilliamBergamin deleted the chore/drop-setup-cfg branch November 6, 2026 14:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

improvement python Pull requests that update Python code semver:patch

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants