Python Slack SDK v3 plan & tasks
See original GitHub issueWe’re going to release the next major version of this SDK. A notable addition in v3 is the OAuth
module! The initial beta version will be available very soon.
Changes
What happens to existing SDK users
Here are the v3 changes affecting existing users.
- Since v3, the PyPI project name is
slack_sdk
(technicallyslack-sdk
also works) - The package names are renamed from
slack.*
toslack_sdk.*
. That said, all existing code can be migrated to v3 without any code changes. All code must work while deprecation warnings tell developers new package names:UserWarning: slack package is deprecated. Please use slack_sdk.web/webhook/rtm package instead. For more info, go to https://slack.dev/python-slack-sdk/v3-migration/
.
The biggest reason for the renaming is the feature coverage in v3 and newer. The SDK v3 provides not only API clients but also other modules. As the first step, it will start supporting OAuth flow out-of-the-box. The secondary reason is to make the names more consistent. The renaming will address the long-lived confusion between the PyPI project and package names.
It’d be greatly appreciated if existing users could understand this.
slackclient v2 maintenance
- This project will continue maintaining
slackclient
v2 for a certain amount of time (a few years) - Once
slack_sdk
v3.0.0 is released, this GitHub repository will be renamed topython-slack-sdk
. We’ll cut offv2
branch forslackclient
v2 series maintenance.
Tasks
This issue lists all the tasks for the Python Slack SDK v3 release.
- Cut off
v3
branch: https://github.com/slackapi/python-slackclient/tree/v3 - Create a new PyPI project
slack_sdk
(slack-sdk
): https://pypi.org/project/slack-sdk/- Deploy alpha versions: https://github.com/slackapi/python-slackclient/tree/v3.0.0a4
- Other maintainers’ reviews on the v3 changes
- Rename packages from
slack.*
toslack_sdk.*
- Add OAuth module https://github.com/slackapi/python-slackclient/pull/816
- Rename packages from
- Deploy the initial version of https://slack.dev/python-slack-sdk/
- Keep all the existing URLs https://github.com/slackapi/python-slackclient/pull/818
- Add
/oauth
https://github.com/slackapi/python-slackclient/pull/818 - Add
/v3-migration/
https://github.com/slackapi/python-slackclient/pull/818 - Add a build script in this repository and publish the generated assets to slackapi.github.io https://github.com/slackapi/python-slackclient/pull/818
- Migration Guide
- Add the v3 migration guide https://slack.dev/python-slack-sdk/v3-migration/
- Have a link to the guide from wiki https://github.com/slackapi/python-slackclient/wiki
- Update README.md
- Update
/tutorial
to be up-to-date #836 - Deployments to the PyPI package registry
- Ship v3.0.0b* in September
- Ship v3.0.0rc* in October
- Ship v3.0.0 (final) in October
- Rename this GitHub repository to
python-slack-sdk
- Add
/python-slackclient
directory to slackapi.github.io GH pages repo - Rename 1)
docs
todocs-v2
2)docs-v3
todocs
- Remove
/python-slack-sdk
directory from slackapi.github.io GH pages repo
- Add
Category (place an x
in each of the [ ]
)
- slack.web.WebClient (Web API client)
- slack.webhook.WebhookClient (Incoming Webhook, response_url sender)
- slack.web.classes (UI component builders)
- slack.rtm.RTMClient (RTM client)
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.
Issue Analytics
- State:
- Created 3 years ago
- Reactions:7
- Comments:7 (7 by maintainers)
This is very well thought through, @seratch. Thanks for the breakdown of steps. I really like the deprecation warnings and I’m looking forward to the updated naming pattern!
Just a heads-up - I will be doing the following early next week:
https://slack.dev/python-slackclient
in slackapi.github.io repopython-slack-sdk