-
Notifications
You must be signed in to change notification settings - Fork 101
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
Python 3 Discussion #2
Comments
It sounds like a lot of packages are slowly sunsetting support for python 2, so if we want this to last any amount of time into the future I think it needs to move to python 3. I have no experience with doing that for anything bigger than small scripts though, and probably wouldn't have time to contribute if I did... |
Python 2 (2.7) is EOL as of 2020-01-01, which really isn't far from now. My suggestion, given the fresh start nature of this fork, is to move to Python 3 completely. It might be painful for users of nflgame that have made a lot of integration with the current version and of course it would be desirable that everybody can enjoy new features that possibly are added in this fork. But, the time frame for Python 2.7 is so short (and it has aldready been extended five years once...) that my opinion is that we should drop Python 2 support moving forward. EDIT: My answer/opinion is based on the case where we decide that a move should be made. So concluded, I think that if we make a move, we shouldn't worry about Python 2. Do I think we should make it? Yes. The only downside that I can see, is if NFL.com change their API and this project becomes obsolete anyway, e.g. then we would have "coded for nothing" in this case. But this is a risk that has been with the project since the start. One problem is the lack of unit tests. In the upstream discussion of moving to Python 3, this is also pointed out and there's an old issue for it. A somewhat reliable set of unit tests would not only make the transition way easier, it would also give a good understanding on how the application works (or does not work) in different Python versions. So unit tests would be very much desirable. Apart from that, I think the best way would be to do a python-3-fork of this repo that we merge in as soon as it is up to date functionality-wise. |
+1 on the unit tests Not sure how useful a distinct fork would be. A new branch will be sufficient (perhaps you didn't mean that literally). |
I think there is a way to serve the old python 2.7 version if a user installs w/ python 2.7. I'm not 100% sure though. |
The fork thought was if someone other than you takes lead on this code-wise and then has full admin privileges etc. (the fork can be removed once everything is merged). Yes, it is possible to offer support for Python 2.7 and 3 simultaneously. My opinion here is that if this can be easily accomplished then we should keep Python 2.7 support for the code (read: functionality) that we have now. However I think that (and I may have been a bit unclear on this in my previous comment) we shouldn't have a high prio on Python 2.7 support moving forward. Like when adding new features. If maintaining Python 2.7-support in a new feature is a) tedious and/or b) holding us back from adding the feature the way we want, then we simply should design the new feature to work only with Python 3. ...is my opinion. 😉 |
I am very interested in participating in this. I have been running a "self updated" Py3 version of NFLGame for couple of years. My main goal was to run this with Py3 to cimplify my notebook coding. |
@irish1986 FANTASTIC. Do you have this living anywhere that we can take a look at it? Also i'm fine w/ a complete migration to Py3 in hindsight. |
@derek-adair I will clone your rep, make a new branch, update with my Py3 code and submit a PR for you to look at it. It is not perfect but it has been working for couple of years for me. I am fairly certain that I am missing a lot but it could be a starting point for NFLGAME3/NFLGAME-REDUX |
Definitely interested in contributing to this in whatever way I can. |
how can i contribute? |
I'm opening this issue to have an open discussion about if this is worth the effort and if so, what that may look like. I will be updating this issue as the discussion evolves.
Starting this off w/ a simple pro/con list as i see it... which is no doubt incomplete.
Upgrade Pros
Security - This is probably my primary reason. I've tightly coupled this into my application so its a bit concerning to be stuck on python 2.7.
Newest python features - async stuff could be quite useful in live
Upgrade Cons
Questions
The text was updated successfully, but these errors were encountered: