Skip to content

Slack Python SDK Roadmap

Roach edited this page Sep 27, 2018 · 8 revisions

Slack Platform

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.

Slack Python SDK Roadmap

Version 1.x

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.

Goals:

  • ✅ Improve RTM stability and reconnect logic
  • 🚧 Improve error handing
  • 🚧 Web API Pagination
  • 🚧More example code coverage in documentation

⚠️ In line with the Python 2.7 Release Schedule (pep 0373), this version of slackclient, along with Python 2.7, will only be supported until Summer 2019.

Version 2.x - Beginning Winter 2018

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.

Goals:

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

Future Development (3.0+)

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.

Goals:

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.