WojciechMula / pyahocorasick

Python module (C extension and plain python) implementing Aho-Corasick algorithm
BSD 3-Clause "New" or "Revised" License
927 stars 122 forks source link

Python2 support #119

Closed WojciechMula closed 1 year ago

WojciechMula commented 4 years ago

The official support for Python 2 ends this year. It doesn't mean that we will drop Py2. As long as Py2 is available in Debian (which I use) any features/fixes will be available for both versions Py3 and Py2.

pombredanne commented 4 years ago

@WojciechMula great, that's your call though... If you consider branching for maintenance the current code and only support Python 3 for any new developments that's fine by me.

asmithatlassian commented 2 years ago

many of my clients cannot easily upgrade software on their servers and wind up stuck with Python2. That's why I'm searching for efficient solutions that work in both 2 and 3. Thanks for your contribution to the community!

WojciechMula commented 2 years ago

@asmithatlassian Thank you for your kind words.

pombredanne commented 2 years ago

@asmithatlassian It is hard to keep support for Python 2 as getting a way to test and build in the hosted CI's becomes harder and harder. I would be included to remove support as it is really to support something that cannot be reliably tested. What do you think?

WojciechMula commented 2 years ago

There was an attempt to split the module into py2 and py3 lines. But that approach failed, as the code was duplicated and there was a lot of burdens with this.

Despite problems with testing, I think we should keep the py2 suppport. Likely we declare at some point in time, that we cannot test the py2 variant and people would use never versions on their own risk. Like in Debian, we have stable and unstable variant. Does it sound fine?

pombredanne commented 2 years ago

test the py2 variant and people would use never versions on their own risk. Like in Debian, we have stable and unstable variant. > Does it sound fine?

This makes sense. Let's call 1.4.4 the latest stable supporting Python2... and branch it out for possible support. This way you can start a clean 2.0.0 with exclusive Python 3.6+ (or may be even 3.8+) support

pombredanne commented 1 year ago

I am closing this as we stopped testing on Python 2 a long while ago. The upcoming v2.0 will be Python 3.7+ only