Conversation
| if sys.version_info.major == 3 and sys.version_info.minor <= 6: | ||
| # NOTE: Unfortunately, copy.deepcopy doesn't work in Python 3.6.5. | ||
| # -------------------- | ||
| # > rv = reductor(4) | ||
| # E TypeError: can't pickle _thread.RLock objects | ||
| # ../../.pyenv/versions/3.6.10/lib/python3.6/copy.py:169: TypeError | ||
| # -------------------- | ||
| # As a workaround, this operation uses shallow copies in Python 3.6. | ||
| # If your code modifies the shared data in threads / async functions, race conditions may arise. | ||
| # Please consider upgrading Python major version to 3.7+ if you encounter some issues due to this. | ||
| return copy.copy(original) | ||
| else: | ||
| return copy.deepcopy(original) |
There was a problem hiding this comment.
This makes the project incompatible with python 3.6, I decided to include it since I think it makes sense to but let me know what you think 🧠
There was a problem hiding this comment.
⭐ praise: These are all awesome changes to keep this project healthy! I understand this can cause unsupported versions of Python to error, but I believe recommending upgrades in these cases is reasonable and perhaps we even encourage?
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1359 +/- ##
=======================================
Coverage ? 91.00%
=======================================
Files ? 222
Lines ? 7512
Branches ? 0
=======================================
Hits ? 6836
Misses ? 676
Partials ? 0 ☔ View full report in Codecov by Sentry. |
zimeg
left a comment
There was a problem hiding this comment.
@WilliamBergamin LGTM! And excellent writeup on our support schedule I think.
Huge fan of the special cases that are no longer needed after this PR. Please do feel free to merge it when the time is right 🚢 💨
| if sys.version_info.major == 3 and sys.version_info.minor <= 6: | ||
| # NOTE: Unfortunately, copy.deepcopy doesn't work in Python 3.6.5. | ||
| # -------------------- | ||
| # > rv = reductor(4) | ||
| # E TypeError: can't pickle _thread.RLock objects | ||
| # ../../.pyenv/versions/3.6.10/lib/python3.6/copy.py:169: TypeError | ||
| # -------------------- | ||
| # As a workaround, this operation uses shallow copies in Python 3.6. | ||
| # If your code modifies the shared data in threads / async functions, race conditions may arise. | ||
| # Please consider upgrading Python major version to 3.7+ if you encounter some issues due to this. | ||
| return copy.copy(original) | ||
| else: | ||
| return copy.deepcopy(original) |
There was a problem hiding this comment.
⭐ praise: These are all awesome changes to keep this project healthy! I understand this can cause unsupported versions of Python to error, but I believe recommending upgrades in these cases is reasonable and perhaps we even encourage?
| 3.7.17 | ||
| 3.13.7 |
There was a problem hiding this comment.
🏥 praise: Thanks for keeping notes for maintainers current too!
Summary
This PR removes support for Python 3.6.
As announced in our blog post, "Python Development at Slack", we're dropping support for older Python versions. As mentioned in #603 our CI can no longer guarantee stable support of python 3.6
Testing
Everything still work s with python 3.7
Category
slack_bolt.Appand/or its core componentsslack_bolt.async_app.AsyncAppand/or its core componentsslack_bolt.adapter/docsRequirements
Please read the Contributing guidelines and Code of Conduct before creating this issue or pull request. By submitting, you are agreeing to those rules.
./scripts/install_all_and_run_tests.shafter making the changes.