jeffwidman / cqlsh

Home of the cqlsh package on PyPI. Repackages the official Cassandra cqlsh for lighter-weight installs.
Apache License 2.0
19 stars 7 forks source link

Remove unused `six` from `setup.py` #37

Closed jeffwidman closed 3 months ago

jeffwidman commented 3 months ago

This was removed from upstream code, but we forgot to update setup.py when we pulled that in.

jeffwidman commented 3 months ago

@bschoening IIRC you removed this from upstream right? So it's no longer an actual dep?

jeffwidman commented 3 months ago

As an aside, the whole setup.py file is no longer needed for GitHub's dep graph... they now parse newer python metadata files, but updating that is outside the scope of this PR.

bschoening commented 3 months ago

Yes, 'six' was removed in Apache Cassandra 4.1 (CASSANDRA-17417) and from the Python Driver in 3.29 https://github.com/datastax/python-driver/pull/1172.

jeffwidman commented 3 months ago

@bschoening don't forget to approve the PR then 😁

jeffwidman commented 3 months ago

Also @bschoening does that mean this line should no longer reference six?

https://github.com/jeffwidman/cqlsh/blob/59c30a4e3352fc38af9ce99fe83596286d45fe66/cqlsh/cqlsh.py#L116

If so, then something to fix upstream not here, but just curious...

bschoening commented 3 months ago

Yes, that's the "ziploader" which is used with a tarball install of Cassandra where the driver and six are in the 'lib' directory. It shouldn't do anything when cqlsh is 'pip' installed. The use of 'six' there has been removed in Cassandra 5.0.

Six was used both by CQLSH in Apache Cassandra and in the DataStax Python driver. DataStax lagged quite a bit on removing the use and dependency on Six, and thus the zip loader still uses it in 4.1.x with the bundled driver version 3.25.

cqlsh 4.1 with Python driver version 3.29 - if you use the 'pip' installed cqlsh, you do not need six.
cqlsh 4.1 with Python driver version 3.28 or earlier - pip should have installed the 'six' requirement specified in https://github.com/datastax/python-driver/blob/3.28.0/requirements.txt.

It's been a two year+ journey to remove the last bits of Python 2.7 compatibility.