-
Notifications
You must be signed in to change notification settings - Fork 838
Slack Python SDK Roadmap
Python developers are an important part of the Slack platform ecosystem. From internal apps for a specific organization or team to publicly distributed apps listed in our App Directory, tools and products built upon our SDKs improve people's working lives. This document outlines the near-term roadmap for the Python Slack SDK, which we're committed to supporting.
Please keep in mind that these dates are estimated and may change due to bugs (or "unintended features"). It is important to understand that this roadmap is being shared for INFORMATIONAL PURPOSES ONLY, and not as a binding commitment.
Minimal feature enhancement will be done in 1.x. This release will solve RTM issues, error handling and logging issues and minor bug fixes as they come up.
- ✅ Improve RTM stability and reconnect logic
- 🚧 Improve error handing
- 🚧 Web API Pagination
- 🚧More example code coverage in documentation
Version 2 will be a major restructuring of the SlackClient library, taking advantage of many features built into Python 3. These changes allow us to develop the package in a way that better supports the needs of our users and developers. Some often requested improvements include: asynchronous event processing, reconnection handling, and improved API retrying. We will also free the Web API implementation from unnecessarily relying on the RTM client, and clean up many of the overly-complex legacy APIs of this library.
General:
- Restructure package to remove cyclic dependencies between RTM and Web client classes
- Improve package APIs for RTM and Web components
RTM client:
- Remove or replace RTM datastore
- Async RTM event handling
Web API client:
- Web API request retries
- API Token refresh
This section is used for planning future development. Items like exploring the possibility of generating all or some of the Web API SDK will live this far into the future.
- Generate Web API SDK from our OpenAPI spec files
- Generate docs and example code from OpenAPI Spec
This would allow for more automated testing when new features are released and allow us to possibly support more fine-grained method declarations. The current implementation is very generic and relies heavily on the developer's understanding of the API documentation.
We greatly appreciate the contributions and support we receive from the Python community ❤️
We invite you to help us shape the future of our Slack Python tools by participating in discussions and submitting PRs on Github, reaching out to us on Twitter (@SlackAPI), and attending our developer meetups and events around the world.