ContextLab / hypertools

A Python toolbox for gaining geometric insights into high-dimensional data
http://hypertools.readthedocs.io/en/latest/
MIT License
1.83k stars 160 forks source link

support for python 3.4+ #81

Closed andrewheusser closed 7 years ago

andrewheusser commented 7 years ago

this will be essential moving forward. looking into the best way to support both 2.7 and 3.4+

jeremymanning commented 7 years ago

If we run in 3.4 now, what fails?

andrewheusser commented 7 years ago

haven't tested it fully yet, but most of our code is already compatible with both. PPCA is not compatible with python3, so we'll have to figure out how to handle that.

jeremymanning commented 7 years ago

For now we could have PPCA not install if using Python 3, and then check for Python 3 in reduce.py. e.g. Reduced functionality, but most things would work.

andrewheusser commented 7 years ago

This wasn't too bad after all. I'm done making the code compatible with 3, but want to run some tests to make sure. PPCA is only 1 script, so instead of using as a package, I could just include it in our externals folder. It doesn't seem like its being maintained anymore... Alternatively, I could submit a PR to the PPCA repo with python 3 upgrades (they are very minimal).

jeremymanning commented 7 years ago

I'd submit a pull request to PPCA (it'd be nice). In the mean time, assuming their license allows us to do so, let's copy the single script into our code base and remove it from requirements.txt.

andrewheusser commented 7 years ago

👍 apache open source license, i think we are good

jeremymanning commented 7 years ago

Are we set with this?

andrewheusser commented 7 years ago

The python 3 support is done, just need to merge in the branch, and add it into travis. In that branch, I also moved the PPCA code into _externals, and modified the code for python3 support. I posted an issue on the PPCA repo about a PR, but haven't heard back yet so I might just submit it because its finished: https://github.com/allentran/pca-magic/issues/3

I think support for python 3 would be considered a 'major' add, so possibly incrementing to 0.2.0?

andrewheusser commented 7 years ago

would also be good to add support for matplotlib 2.0, so maybe release both together in 0.2.0..

jeremymanning commented 7 years ago

Let's close this issue, update the readme, and push to pip now that we have Python 3.x support. We can open a new issue for matplotlib...

jeremymanning commented 7 years ago

Another question: should we be using Python 3 as a lab? Not sure why we have been using 2.7...

andrewheusser commented 7 years ago

👍 yea, I think it would be a good idea to move sooner than later. Any new software we should develop in python 3, and I think its easy to make it backwards compatible with some built in packages.

jeremymanning commented 7 years ago

closing...please re-open if there are remaining issues to address