Closed jezdez closed 5 years ago
While I am down with keeping things more up-to-date we need to be careful about updating third party dependencies (especially ones used in data conversions) since MemSQL != MySQL. For example one recent change made to the underlying mysqlclient library is that it now compiles using the mysql 8 libraries. Since MemSQL is not 100% protocol compatible with mysql 8, that change is too unsafe for this library.
I think that the only change we can reasonably accept without additional work/testing is relaxing the six dependency. We also need to make this library tested against MemSQL proper which has been difficult to do in the past (MemSQL asks for a lot of CPU/RAM which isn't provided by travis-ci).
Will add a roadmap item to take a look at these issues. If someone from the community decides to switching testing over to MemSQL then I would be a lot more open to upgrading.
As for eliminating Python 2 support - I would be open to it, as long as a branch was maintained for users who are still stuck on Python 2.
While I am down with keeping things more up-to-date we need to be careful about updating third party dependencies (especially ones used in data conversions) since MemSQL != MySQL. For example one recent change made to the underlying mysqlclient library is that it now compiles using the mysql 8 libraries. Since MemSQL is not 100% protocol compatible with mysql 8, that change is too unsafe for this library.
Interesting, thanks for elaborating. I didn't know that particular side-effect.
I think that the only change we can reasonably accept without additional work/testing is relaxing the six dependency.
That makes sense, lemme open a separate PR for six only.
We also need to make this library tested against MemSQL proper which has been difficult to do in the past (MemSQL asks for a lot of CPU/RAM which isn't provided by travis-ci).
Hm, interesting. I wonder if using something like Circle CI, which provides 4GB of memory and 2vCPU per VM/container by default would suffice?
Will add a roadmap item to take a look at these issues. If someone from the community decides to switching testing over to MemSQL then I would be a lot more open to upgrading.
As for eliminating Python 2 support - I would be open to it, as long as a branch was maintained for users who are still stuck on Python 2.
For the record, I only asked for the status of 2.6, not Python 2 generally. Since 2.7 will most likely be supported by the big distros for a while, I would say it's okay to keep supporting it for a bit still.
Closing in favor of #14.
Six, mysqlclient and python-dateutil are often depended on in other libaries, which means pinning their version in memsql-python is an issue during installation when using pip and effectively prevents your users to follow best practices to stay up-to-date with updates -- at least for minor releases.
Since six is very stable (maintained by Python core devs), dateutil has a very clear change history and mysqlient has received a number of fixes I suggest to:
<3.0
<1.4.0
What do you think?
PS: Any reason to still have Python 2.6 supported by this package?