Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

support Python 3 #84

Closed
3 tasks done
orbeckst opened this issue Mar 10, 2017 · 4 comments · Fixed by #166 or #170
Closed
3 tasks done

support Python 3 #84

orbeckst opened this issue Mar 10, 2017 · 4 comments · Fixed by #166 or #170
Assignees
Labels
Milestone

Comments

@orbeckst
Copy link
Member

orbeckst commented Mar 10, 2017

Support Python 2.7 and Python 3.6+

  • use from __future__ import print_function, ...
  • use six where necessary
  • add Python 3 tests to test matrix
@orbeckst
Copy link
Member Author

Unless someone wants to put the effort into porting with six we will just keep it Python 2.7 and a stable set of dependencies.

@orbeckst orbeckst removed this from the 1.0 milestone Jan 23, 2021
@orbeckst orbeckst removed the wontfix label Jun 7, 2021
@orbeckst
Copy link
Member Author

orbeckst commented Jun 7, 2021

@ALescoulie if you want to take the py3 upgrade on — please do!!!!

@orbeckst orbeckst added this to the 1.0 milestone Jul 21, 2021
@VOD555
Copy link
Contributor

VOD555 commented Jul 23, 2021

We need to replace optparse with 'argparse' in the scripts.
mdpow-solvationenergy, mdpow-pow and mdpow-pcw have been changed to use argparse in #150 .
We still need to do the same things in the others.

@orbeckst orbeckst linked a pull request Jul 24, 2021 that will close this issue
@orbeckst orbeckst linked a pull request Jul 30, 2021 that will close this issue
@orbeckst
Copy link
Member Author

Accidentally closed with a premature merge.

@orbeckst orbeckst reopened this Jul 30, 2021
orbeckst pushed a commit that referenced this issue Jul 30, 2021
* close #84 
* support Python 3.6 – 3.9 (in addition to Python 2.7)
* use six and other compatibility hacks
   - replaced outdated merge_dicts function in config.py with recursive method that works in python 2 
   - added `__deepcopy__` method in fep.py with method that works in python 3.
   - use `__future__` imports
   - use logger.warning() everywhere
* Updated tests 
   - avoid reading errors when opening pickle file generated in Python 2
   - replaced outdated yield tests
   - fixed tempdir imports (replace with pytest fixtures later)
* updated mdpow scripts Python3 compatibility (untested, see #172 )
* Updated ci workflow to test supported Python versions
* updated AUTHORS
* updated CHANGES
    
Co-authored-by: Oliver Beckstein <orbeckst@gmail.com>
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants