Skip to content
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

Closed
derek-adair opened this issue Aug 9, 2018 · 10 comments
Closed

Python 3 Discussion #2

derek-adair opened this issue Aug 9, 2018 · 10 comments
Assignees
Milestone

Comments

@derek-adair
Copy link
Owner

derek-adair commented Aug 9, 2018

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

  1. 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.

  2. Newest python features - async stuff could be quite useful in live

Upgrade Cons

  1. Work needs to be done (lol)

Questions

  1. Will using python 2 to 3 work?
@derek-adair derek-adair added this to the Python 3 milestone Aug 9, 2018
@derek-adair derek-adair self-assigned this Aug 9, 2018
@benlindsay
Copy link

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...

@mickeelm
Copy link

mickeelm commented Aug 12, 2018

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.

@derek-adair
Copy link
Owner Author

+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).

@derek-adair
Copy link
Owner Author

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.

@mickeelm
Copy link

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. 😉

@irish1986
Copy link

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.

@derek-adair
Copy link
Owner Author

@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.

@irish1986
Copy link

@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

@jnelson16
Copy link

Definitely interested in contributing to this in whatever way I can.

@Abrunacci
Copy link

how can i contribute?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants