convexengineering / SPaircraft

Models for commercial aircraft design
http://spaircraft.readthedocs.org
25 stars 17 forks source link

Provide support for python 3 #120

Open nanjekyejoannah opened 6 years ago

nanjekyejoannah commented 6 years ago

One of the installation requirements of this tool is python 2.7 but the python community is planning to stop support for python 2 in 2020 around time for pycon, that is roughly 2 years from now.

We should therefore think of providing support for the recommended version of python which is python 3. A great decision to make is either to port to python 3 or to provide neutral support (both python 2 and 3) using libraries like six.

If we agree on what should be done i.e port or neutral support, I will be happy to work on this.

bqpd commented 6 years ago

Hi Joannah, and thanks! Ideally the gpkit codebase should provide neutral support (I've been trying to do that, except for some of the visualizations), but the largest obstacle is our interfacing with solvers; our method for using mosek's c bindings relies on ctypesgen, and cvxopt doesn't seem to be planning a python 3 version. Concretizing neutral support in gpkit first, and then working on solver interfaces (using mosek_cli in the meantime) seems like a potentially fruitful path forwards.

The SPaircraft codebase should be very easy to switch to neutral support once gpkit has; I bet print statements are the only non-forwards-compatible element.

On Sun, Dec 10, 2017 at 2:54 AM, Joannah Nanjekye notifications@github.com wrote:

One of the installation requirements http://spaircraft.readthedocs.io/en/latest/Installation.html of this tool is python 2.7 but the python community is planning to stop support for python 2 in 2020 around time for pycon, that is roughly 2 years from now.

We should therefore think of providing support for the recommended version of python which is python 3. A great decision to make is either to port to python 3 or to provide neutral support (both python 2 and 3) using libraries like six https://pythonhosted.org/six/.

If we agree on what should be done i.e port or neutral support, I will be happy to work on this.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/convexengineering/SPaircraft/issues/120, or mute the thread https://github.com/notifications/unsubscribe-auth/ABagGCrbOgKoXEOYTbBRmv7bZxeVJoVPks5s-447gaJpZM4Q8aP5 .

nanjekyejoannah commented 6 years ago

I see similar efforts here

If the owners of cvxopt are not considering python 3 support because even if we provided compatibility on our end we wont achieve our full objectives if one of our dependencies will never support python 3.