Folks,

The futurize and pasteurize components at http://python-future.org/   might be 
useful in developing
a code base that runs on both python versions 2 and 3.

By supporting both, you retain flexibility for scientific users.

 -- Brian




On 1/16/18, 8:33 PM, "Goodman, Alexander (398K)" 
<alexander.good...@jpl.nasa.gov> wrote:

    Hi Lewis,
    
    I think that is sort of a hasty action to take. If anything, I question
    whether we should even require pydap as a dependency in the first place
    since its main advantage (when used as a client-side tool, anyway) is to
    provide the ability to load OpenDAP datasets without the netcdf4 library
    (which is a core dependency to ocw and pretty much any other earth science
    data analysis library out there). In the short term I think we could modify
    the conda recipe to drop pydap for python 2.7, as that should fix our CI
    problems.
    
    However in the long term we will have no choice but to drop support for
    python 2, as most of the pydata stack (ie, almost all of our core
    dependencies) will soon be doing so:
    
    http://www.python3statement.org/
    
    This was actually something I was going to discuss with you and Kyo in my
    planned meeting next week, as I have considered releasing the new version
    of ocw I am developing as a python 3-only codebase. In terms of our current
    dependencies, only esgf-pyclient does not support python 3 (but this should
    change soon enough).
    
    My one concern is that the scientific community in general has been
    resistant to switching (don't want to link anything here, since a quick
    google search will yield numerous blog posts on the subject). Having
    personally been heavily involved in the process of making ocw python 3, I
    personally don't blame them since for those users python 3 just adds
    needless compatibility issues without offering them a whole lot of
    compelling new features. The most recent set of new features for python
    3.x, most notably asyncio (along with the new unicode string model, which
    is what actually breaks everything), are of far more use to web developers
    than they are to scientists. If it weren't for the fact that the big
    projects I mentioned a few paragraphs ago are making a strong push for
    python 3, then I am not sure I would even consider it for this project
    given our type of userbase. The flipside to this is that as a core
    developer, I do understand that maintaining python2/3 support
    simultaneously is a rather messy process, and certainly not something I
    would be too keen on doing when writing a new codebase in 2018. I'd be fine
    with maintaining a python 2.7-only codebase in an ideal world, but
    unfortunately that is not the world we are living in so for me personally I
    believe there is only one other choice moving forward...
    
    So yeah, just my 2 cents. Ignoring my rant, here's the tl;dr: I am against
    dropping python 2.7 support right away, but would be for gradually phasing
    it out (especially if we decide to rewrite the codebase).
    
    PS: Which reminds me, the "new codebase" I keep mentioning is just a pet
    project of mine (currently dubbed "ocw2"), which makes gratuitous use of
    pandas and xarray as a data processing backend, rather than vanilla
    numpy/scipy. I'll discuss more details and hopefully open source my code
    within the next few weeks.
    
    Thanks,
    Alex
    
    On Tue, Jan 16, 2018 at 7:10 PM, lewis john mcgibbney <lewi...@apache.org>
    wrote:
    
    > Hi Folks,
    > You will notice that our TravisCI builds currently report as being broken.
    > This is due to the pydap dependency not being available for Python 2.7.
    > Is it time to drop support for Python 2.7 altogether and simplify things?
    > Lewis
    >
    >
    > --
    > http://home.apache.org/~lewismc/
    > http://people.apache.org/keys/committer/lewismc
    >
    
    
    
    -- 
    Alex Goodman
    Data Scientist I
    Science Data Modeling and Computing (398K)
    Jet Propulsion Laboratory
    California Institute of Technology
    Tel: +1-818-354-6012
    

Reply via email to