Comments (9)
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.
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.
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.
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.
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.
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.
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.
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.
My only known requirement at this point is that it not be Python 2.
from das2py-server.
Related Issues (13)
- No job management interface
- SELinux instructions missing
- Meta-reader internal interface (aka modification times) HOT 2
- out-of-valid-range error
- Server returning 500 instead of 404 for non-existant data sources
- spacepy expects to write to the $HOME directory, thus breaking spacepy based das2 CDF readers. HOT 3
- Task workers failing python 3 tests HOT 1
- Authentication fails with python 3 installation HOT 1
- setup.py not flexible, wipes out custom passwd and group files, reinstalls examples HOT 1
- HAPI support not working with python3 install HOT 1
- User's Guide not complete
- automate das2_srv_arbiter startup at system boot
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from das2py-server.