forked from fluxnet/ONEFlux
-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WIP Initial scoping for upgrade to Python 3 #3
Draft
AmyOctoCat
wants to merge
39
commits into
tests_framework
Choose a base branch
from
ap-initial-exploration
base: tests_framework
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…is actually tested
… but numerical differences persist in many columns
…ds compatible with python 2, but python 2 is EOL
…es to representation of byte objects, but don't think U12 is the right thing to use either
a98c3e4
to
f659e65
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Initial work to investigate very roughly how long a migration to python 3 would take.
Note, this is based off of Matt Archer's branch to add integration testing.
Plans for a migration:
oneflux/partition/nighttime.py
which is 966 lines long, ie about 1/4 of nighttime.py, plus the other imported utilities it touches. This included fixing an encoding issue inlibrary.py
which was to do with changes to the way python3 represents byte strings (second answer down in this post: https://stackoverflow.com/questions/21957667/numpy-dtype-issues-in-genfromtxt-reads-string-in-as-bytestring). Without detailed knowledge of the structure of the code base, it is difficult to say what fraction of the total code base this has covered. Used pygount to get an idea of the total size of the codebase (pygount excludes whitespace which is why this is different from above):Summary:
Breakdown:
Very roughly I would estimate that the PR in it's current state has updated about 5% of the code base.
This is a fairly blunt instrument, and it is not clear exactly what the coverage is measuring, so it would be good to get more insight into this or try a different tool.
oneflux directory
, these are very long, withlibrary
being 1300 lines.My feeling is that the time needed to add appropriate tests and update the syntax to Python3 would be in the ball park of 6 months, rather than 3.
These resources are quite helpful for finding common changes between python2 and python3:
https://sebastianraschka.com/Articles/2014_python_2_3_key_diff.html#python-2-3
https://portingguide.readthedocs.io/en/latest/index.html
issues found so far to look out for: