Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ Are you looking for [slackclient](https://pypi.org/project/slackclient/)? The sl

---

This library requires Python 3.6 and above. If you require Python 2, please use our [SlackClient - v1.x][slackclientv1]. If you're unsure how to check what version of Python you're on, you can check it using the following:
This library requires Python 3.7 and above. If you require Python 2, please use our [SlackClient - v1.x][slackclientv1]. If you're unsure how to check what version of Python you're on, you can check it using the following:
Copy link
Contributor

Choose a reason for hiding this comment

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

We should also remove the python 2 sentence 😅 the slackClient - v1.x is deprecated

Suggested change
This library requires Python 3.7 and above. If you require Python 2, please use our [SlackClient - v1.x][slackclientv1]. If you're unsure how to check what version of Python you're on, you can check it using the following:
This library requires Python 3.7 and above. If you're unsure how to check what version of Python you're on, you can check it using the following:


> **Note:** You may need to use `python3` before your commands to ensure you use the correct Python path. e.g. `python3 --version`

Expand Down
2 changes: 1 addition & 1 deletion docs/english/installation.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Installation

This package supports Python 3.6 and higher. We recommend using [PyPI](https://pypi.python.org/pypi) for installation. Run the following command:
This package supports Python 3.7 and higher. We recommend using [PyPI](https://pypi.python.org/pypi) for installation. Run the following command:

```bash
pip install slack-sdk
Expand Down
2 changes: 1 addition & 1 deletion docs/english/legacy/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Refer to the [migration guide](/tools/python-slack-sdk/v3-migration) to learn ho

Slack APIs allow anyone to build full featured integrations that extend and expand the capabilities of your Slack workspace. These APIs allow you to build applications that interact with Slack just like the people on your team. They can post messages, respond to events that happen, and build complex UIs for getting work done.

To make it easier for Python programmers to build Slack applications, we've provided this open source SDK that will help you get started building Python apps as quickly as possible. The current version is built for Python 3.6 and higher — if you need to target Python 2.x, you might consider using v1 of the SDK.
To make it easier for Python programmers to build Slack applications, we've provided this open source SDK that will help you get started building Python apps as quickly as possible. The current version is built for Python 3.7 and higher — if you need to target Python 2.x, you might consider using v1 of the SDK.
Copy link
Contributor

Choose a reason for hiding this comment

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

Same here

Suggested change
To make it easier for Python programmers to build Slack applications, we've provided this open source SDK that will help you get started building Python apps as quickly as possible. The current version is built for Python 3.7 and higher — if you need to target Python 2.x, you might consider using v1 of the SDK.
To make it easier for Python programmers to build Slack applications, we've provided this open source SDK that will help you get started building Python apps as quickly as possible. The current version is built for Python 3.7 and higher.


## Slack platform basics {#platform-basics}

Expand Down
2 changes: 1 addition & 1 deletion docs/english/tutorial/uploading-files.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ With this, all your Slack app configuration is done. Let's start coding.

### Creating a new project {#create-new-project}

First, ensure you're using Python version 3.6 or above. While the current standard is for the `python3` and `pip3` commands to use Python 3.6 or above, it's best to ensure your runtime is always using the latest version of Python. [pyenv](https://github.com/pyenv/pyenv) is a handy tool that can do this for you.
First, ensure you're using Python version 3.7 or above. While the current standard is for the `python3` and `pip3` commands to use Python 3.7 or above, it's best to ensure your runtime is always using the latest version of Python. [pyenv](https://github.com/pyenv/pyenv) is a handy tool that can do this for you.

We'll create a brand new virtual environment and install the required library dependencies using the following commands.

Expand Down
2 changes: 1 addition & 1 deletion docs/english/v3-migration.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ If you don't wish to upgrade yet, be sure to pin your module for the Python `sla

### Minimum Python versions {#minimum-versions}

`slackclient` v2.x requires Python 3.6 (or higher). Support for Python 2.7 is maintained in the existing `slackclient` v1.x.
`slackclient` v2.x requires Python 3.7 (or higher). Support for Python 2.7 is maintained in the existing `slackclient` v1.x.
Copy link
Contributor

Choose a reason for hiding this comment

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

Same here

Suggested change
`slackclient` v2.x requires Python 3.7 (or higher). Support for Python 2.7 is maintained in the existing `slackclient` v1.x.
`slackclient` v2.x requires Python 3.7 (or higher).


Client v1 support:
- Python 2: Python 2.7 was supported in the 1.x version of the client up until Dec 31st, 2019.
Expand Down
4 changes: 2 additions & 2 deletions integration_tests/web/test_issue_480.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ async def test_issue_480_processes_async(self):
after = len(multiprocessing.active_children())
self.assertEqual(0, after - before)

# fails with Python 3.6
# fails with Python 3.6 (no longer supported)
Copy link
Contributor

Choose a reason for hiding this comment

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

I think we can remove this comment entirely 💯

def test_issue_480_threads(self):
client = self.sync_client
before = threading.active_count()
Expand All @@ -53,7 +53,7 @@ def test_issue_480_threads(self):
after = threading.active_count()
self.assertEqual(0, after - before)

# fails with Python 3.6
# fails with Python 3.6 (no longer supported)
Copy link
Contributor

Choose a reason for hiding this comment

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

This one also 🚀

@async_test
async def test_issue_480_threads_async(self):
client = self.async_client
Expand Down
3 changes: 1 addition & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ name = "slack_sdk"
dynamic = ["version", "readme", "authors", "optional-dependencies"]
description = "The Slack API Platform SDK for Python"
license = { text = "MIT" }
requires-python = ">=3.6"
requires-python = ">=3.7"
Copy link
Contributor

Choose a reason for hiding this comment

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

Praise 🙏

keywords = [
"slack",
"slack-api",
Expand All @@ -27,7 +27,6 @@ classifiers = [
"License :: OSI Approved :: MIT License",
"Programming Language :: Python",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
Expand Down
6 changes: 3 additions & 3 deletions requirements/testing.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@ pytest>=7.0.1,<9
pytest-asyncio<2 # for async
pytest-cov>=2,<7
# while flake8 5.x have issues with Python 3.12, flake8 6.x requires Python >= 3.8.1,
# so 5.x should be kept in order to stay compatible with Python 3.6/3.7
# so 5.x should be kept in order to stay compatible with Python 3.7/3.8
flake8>=5.0.4,<8
# Don't change this version without running CI builds;
# The latest version may not be available for older Python runtime
black>=22.8.0; python_version=="3.6"
black==22.10.0; python_version>"3.6"
black>=22.8.0; python_version=="3.7"
black==22.10.0; python_version>="3.8"
Copy link
Contributor

Choose a reason for hiding this comment

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

I think this might be the reason why the CI tests are failing 🤔
Since we aren't supporting 3.6 anymore we can remove the special case and just keep a global one, like black==22.10.0, but let me know what you think?

Suggested change
black>=22.8.0; python_version=="3.7"
black==22.10.0; python_version>="3.8"
black==22.10.0;

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Ah yes I agree. Black v22.10.0 supports python 3.7 so the split requirement doesn’t seem to be needed anymore!

click==8.0.4 # black is affected by https://github.com/pallets/click/issues/2225
psutil>=6.0.0,<8
# used only under slack_sdk/*_store
Expand Down
2 changes: 1 addition & 1 deletion slack/web/async_internal_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ def _get_headers(
e.g. {
'Content-Type': 'application/json;charset=utf-8',
'Authorization': 'Bearer xoxb-1234-1243',
'User-Agent': 'Python/3.6.8 slack/2.1.0 Darwin/17.7.0'
'User-Agent': 'Python/3.7.0 slack/2.1.0 Darwin/17.7.0'
Copy link
Contributor

Choose a reason for hiding this comment

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

NIT: what do you think about keeping this consistent with slack_sdk/web/internal_utils.py

Suggested change
'User-Agent': 'Python/3.7.0 slack/2.1.0 Darwin/17.7.0'
'User-Agent': 'Python/3.7.17 slack/2.1.0 Darwin/17.7.0'

}
"""
final_headers = {
Expand Down
4 changes: 2 additions & 2 deletions slack_sdk/web/internal_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ def get_user_agent(prefix: Optional[str] = None, suffix: Optional[str] = None):

Returns:
The user agent string.
e.g. 'Python/3.6.7 slackclient/2.0.0 Darwin/17.7.0'
e.g. 'Python/3.7.0 slackclient/2.0.0 Darwin/17.7.0'
Copy link
Contributor

Choose a reason for hiding this comment

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

NIT: lets use 3.7.17 since its the latest 3.7 version and a security release

"""
# __name__ returns all classes, we only want the client
client = "{0}/{1}".format("slackclient", version.__version__)
Expand Down Expand Up @@ -91,7 +91,7 @@ def _get_headers(
e.g. {
'Content-Type': 'application/json;charset=utf-8',
'Authorization': 'Bearer xoxb-1234-1243',
'User-Agent': 'Python/3.6.8 slack/2.1.0 Darwin/17.7.0'
'User-Agent': 'Python/3.7.0 slack/2.1.0 Darwin/17.7.0'
Copy link
Contributor

Choose a reason for hiding this comment

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

NIT: lets use 3.7.17 since its the latest 3.7 version and a security release

}
"""
final_headers = {
Expand Down
2 changes: 1 addition & 1 deletion tests/test_aiohttp_version_checker.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ def print(message: str):

validate_aiohttp_version("2.1.3", print)
self.assertEqual(state["counter"], 1)
validate_aiohttp_version("3.6.3", print)
validate_aiohttp_version("3.7.0", print)
Copy link
Contributor

Choose a reason for hiding this comment

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

I think we want to keep this since this test covers "not recommended versions"

self.assertEqual(state["counter"], 2)
validate_aiohttp_version("3.7.0", print)
self.assertEqual(state["counter"], 3)
Expand Down
6 changes: 3 additions & 3 deletions tutorial/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,14 @@ As you complete each task you'll see the message update with a green checkmark.
1. A Slack team.
Before anything else you'll need a Slack team. You can [Sign into an existing Slack workspace](https://get.slack.help/hc/en-us/articles/212681477-Sign-in-to-Slack) or you can [create a new Slack workspace](https://get.slack.help/hc/en-us/articles/206845317-Create-a-Slack-workspace) to test your app first.

2. A terminal with Python 3.6+ installed.
2. A terminal with Python 3.7+ installed.
Check your installation by running the following command in your terminal:
```
$ python3 --version
-> Python 3.6.7
-> Python 3.7.0
Copy link
Contributor

Choose a reason for hiding this comment

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

NIT: lets use 3.7.17 since its the latest 3.7 version and a security release

```

You'll need to install Python 3.6 if you receive the following error:
You'll need to install Python 3.7 if you receive the following error:
```
-> bash: python3: command not found
```
Expand Down
Loading