-
Notifications
You must be signed in to change notification settings - Fork 251
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
remove six from dependencies #618
Comments
Happy to accept a PR for this and I'll leave this open to track the issue. Keep in mind we don't want to edit the vendored html5lib since we'd effectively fork it. Last I checked this would require an upstream release of html5lib. |
Now that you mention it, this could be a problem since six is only used in vendored html5lib 🥲 Before rebasing that folder this PR should be merged by them. |
I put this in the 5.0.0 milestone because I thought we could do it, but we can't, yet. We're blocked on upstream dropping the need for six. |
It seems like upstream is no longer maintained. The PR in question was closed. Issue #680 covers forking html5lib or finding an alternative. |
I think we're waiting on some implementation of this issue and a release: |
This way lies madness, but at least we don't have a six dependency anymore. The way this work is that we vendored html5lib 1.1, but then this applies a 01_html5lib_six.patch to that which changes imports from six to import from bleach.six_shim. This updates the vendor management code and vendorverify to install html5lib 1.1 and then apply the patch and then compare with what's in the tree. If we end up applying further patches in the future, we can use this model to do that.
I decided not to wait for it to get fixed in html5lib. We can fix it now and adjust when it's fixed in html5lib and there's a release. |
This way lies madness, but at least we don't have a six dependency anymore. The way this work is that we vendored html5lib 1.1, but then this applies a 01_html5lib_six.patch to that which changes imports from six to import from bleach.six_shim. This updates the vendor management code and vendorverify to install html5lib 1.1 and then apply the patch and then compare with what's in the tree. If we end up applying further patches in the future, we can use this model to do that.
This way lies madness, but at least we don't have a six dependency anymore. The way this work is that we vendored html5lib 1.1, but then this applies a 01_html5lib_six.patch to that which changes imports from six to import from bleach.six_shim. This updates the vendor management code and vendorverify to install html5lib 1.1 and then apply the patch and then compare with what's in the tree. If we end up applying further patches in the future, we can use this model to do that.
This way lies madness, but at least we don't have a six dependency anymore. The way this work is that we vendored html5lib 1.1, but then this applies a 01_html5lib_six.patch to that which changes imports from six to import from bleach.six_shim. This updates the vendor management code and vendorverify to install html5lib 1.1 and then apply the patch and then compare with what's in the tree. If we end up applying further patches in the future, we can use this model to do that.
Since support for Python 2 was removed in version 2.0 the use of SIX library to handle compatibility between Python 3 and Python 2 has no more meaning (aka: it is a useless dependecy).
See remaining code using SIX.
The text was updated successfully, but these errors were encountered: