Giter VIP home page Giter VIP logo

Comments (9)

cpiker avatar cpiker commented on August 27, 2024

I think issue #4 is already fixed, and #3 and #6 will be corrected today.

Starting a different permanent branch at this point worries me. From what I've seen everyone ends up in their own long term silo. Assuming we don't branch, do we drop support for python2? Depends on how much new code is expected for das2-pyserver. If it's not much, then python 2/3 compatibility is almost done and is worth the small effort to maintain until 30 June 2024*. If it 8K+ lines, that might change the calculus.

I don't want to make any extra work for other's, so I'll handle backwards compatibility until 30th June 2024 (CentOS 7 end of life). If you have a pull request that's only been tested in python 3.7, that's okay, I'll take care of the merge and add python 2.7 compatibility and run the regression tests.

Thinking on a longer time scale, it would be good to get away from python altogether for a second server (das2-cdfserver), but that's a whole other conversation.

*CentOS 7 end of life.

from das2py-server.

BaptisteCecconi avatar BaptisteCecconi commented on August 27, 2024

ok, I understand the concern. I agree that having 2 separate branches may lead to divergence of capabilities. At this point, since you know the code very well, it is easy to add small fixes for the python 2/3 compatibilities. I was more thinking of having other people editing the code, who may have difficulties coding (or fixing) for both versions at once.

I also understand that you want to keep the support of python 2 for your CentOS servers. That fit into the « don’t fix if it ain’t broken » category.

And by the way thanks (again) for the overnight fixes. I’ll check them later today.

from das2py-server.

cpiker avatar cpiker commented on August 27, 2024

You're welcome! If you spot any more problems let me know :)

With regards to other editors, you raise a good point. I could see turning over maintenance and development responsibilities to someone else after pyserver 2.3 version is out (current version is 2.2).

I've been building the python interpreter from source code to support older servers lately, so 3.7 is fine with me personally, but since CentOS is such a slow moving distribution with a long support life, it's end of life date seems like a safe time to drop python 2 without causing trouble for data center system administrators in general.

(I've renamed this issue to reflect the conversation thread, if you prefer that it revert to old title feel free to change it back.)

from das2py-server.

cpiker avatar cpiker commented on August 27, 2024

Just to bump this topic. Even our oldest CentOS 6 based servers which end extended support in 2024, have access to python-3.4, so I'm content to completely drop python2 support in the server. Readers of course are separate and can support whatever version of python they desire.

Which version of python3 would everyone like to recommend as a baseline? I like to be a bit conservative about these things. For reference CentOS 7 ships with python-3.6.

from das2py-server.

VoyagerPWS avatar VoyagerPWS commented on August 27, 2024

I was just going to mention that python 3.6 is the default for CentOS 7. (I see that I have python 3.8 on my Mint 20.2 system at home.) (Also (continuing parenthetical comments) I'm arranging to start testing Rocky Linux 8.4 at work. Other on-campus Linux people seem to be ditching CentOS 8 stream. Some are testing AlmaLinux, but this has Russian/Eastern European connections that remind me of the big Kaspersky debacle, which I think we want to avoid, hence, Rocky Linux.)

Would it be reasonable to make python 3.6 the official platform and let Chris back-port to 2.7 as he finds the time?

from das2py-server.

cpiker avatar cpiker commented on August 27, 2024

Since I've built the python interpreter from source code multiple times, I'm content with 3.6, even if CentOS 6 doesn't provide packages for it. So there shouldn't be any need for backports. New versions of das2-pyserver just expect python 3.6 or higher.

Even though building python from sources is easy, any newer than 3.6 as a baseline starts to make me nervous. I prefer for the scripts to just work with the native package system and not force everyone to deal with a virtual environment if they don't want to.

(Too bad about everyone ditching CentOS 8 stream. So far, I really like my Centos 8 computer. It has great raid array tools, it runs rock solid and never drops network packets and never has video issues, unlike my two Ubuntu 20 based systems.)

from das2py-server.

BaptisteCecconi avatar BaptisteCecconi commented on August 27, 2024

Hi Chris,
We (in Meudon) are not using Python 2.7 anymore. So dropping 2.7 is totally fine. Setting the minimal version of python to 3.6 is fine too.
Cheers

from das2py-server.

cpiker avatar cpiker commented on August 27, 2024

Though I'd like to move to 3.6 as the baseline I think that's a jump too far for server software. Since das2-pyserver is known to work with Python 3.4, and microversion 3.4.5 is the last in the 3.4 series that introduced new features, I vote for setting that as the minimum version number.

Python-3.4 introduced the following useful features:

  • PEP 453, bundled pip package manager
  • PEP 3156, asyncio module

In addition numpy 1.10 typically accompanies python 3.4, which is the minimum version of numpy needed to satisfy the das2py dependency.

Unless there are any objections, selection of a base python version in the 3.x range closes this issue.

from das2py-server.

aizuchi0 avatar aizuchi0 commented on August 27, 2024

My only known requirement at this point is that it not be Python 2.

from das2py-server.

Related Issues (13)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.