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

Move to Python 3: dependencies status #2891

Open
arikfr opened this Issue Oct 3, 2018 · 5 comments

Comments

Projects
None yet
4 participants
@arikfr
Copy link
Member

arikfr commented Oct 3, 2018

Thanks to the work of @cclauss our code is (more) ready for Python 3. I also ran caniusepython3 on our requirements files and the results are very encouraging:

$ caniusepython3 --requirements requirements.txt
Finding and checking dependencies ...

You need 5 projects to transition to Python 3.
Of those 5 projects, 4 have no direct dependencies blocking their transition:

  chromelogger
  flask-sslify
  python-geoip (which is blocking python-geoip-geolite2)
  restrictedpython
  • python-geoip has a Python 3 compatible alternative (python-geoip-python3)
  • Latest master version of flask-sslify is marked as Python 3 compatible, but no new version was released for a long time.
  • chromelogger is unknown but we can either drop it or update to support Python 3 (~140 lines of code).
  • restrictedpython has an unreleased version 4 that supports Python 3.
$ caniusepython3 --requirements requirements_all_ds.txt
Finding and checking dependencies ...

You need 1 project to transition to Python 3.
Of that 1 project, 1 has no direct dependencies blocking its transition:

  pyhive

I'm not sure why pyhive is marked as not supported, because it is. Maybe we just need to update the version.

$ caniusepython3 --requirements requirements_dev.txt
Finding and checking dependencies ...

You need 1 project to transition to Python 3.
Of that 1 project, 1 has no direct dependencies blocking its transition:

  pytest-watch

I'm not sure about the state of pytest-watch, but we can always remove it.

@cclauss

This comment has been minimized.

Copy link
Contributor

cclauss commented Oct 3, 2018

PyHive has no trove classifiers in its PyPI record... https://pypi.org/project/PyHive

But it is being tested under all current versions of CPython https://github.com/dropbox/PyHive/blob/master/.travis.yml#L8

dropbox/PyHive#243

@cclauss

This comment has been minimized.

Copy link
Contributor

cclauss commented Oct 3, 2018

@jezdez

This comment has been minimized.

Copy link
Member

jezdez commented Oct 4, 2018

This is super exciting, didn't realize how close we'd be in terms of dependencies.

For flask-sslify I planned to work on mozilla#562 and port Redash to use flask-talisman which also supports enforcing encrypted connections (on top of plenty of other security related things, which is what interests us at Mozilla). A bit like a kill two birds with one stone situation. Any general objections about this?

@arikfr

This comment has been minimized.

Copy link
Member

arikfr commented Oct 4, 2018

@jezdez sounds good to me. 👍

@truebit

This comment has been minimized.

Copy link

truebit commented Jan 4, 2019

I saw many ImportError when trying to run on python3.
Is there any issue to locate those incompatible codes for Python3?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment