geopython / pywps

PyWPS is an implementation of the Web Processing Service standard from the Open Geospatial Consortium. PyWPS is written in Python.
https://pywps.org
MIT License
178 stars 117 forks source link

Long pending changes of python version compatibilities #568

Closed fmigneault closed 3 years ago

fmigneault commented 3 years ago

Description

PR https://github.com/geopython/pywps/pull/520 seems to indicate that many fixes where made to resolve dropping Python 2 and errors during handling of mismatching dependencies across python versions.

As of yesterday, version 4.2.10 still does not include them. They are only 'pending' in master: https://github.com/geopython/pywps/compare/master..4.2.10

Every tag since 4.2.4 are in parallel and diverging from master, without any backported fixes.

Since pip 21.0 enforces stronger dependency validations with their new resolver, it now becomes impossible to "cleanly" install pywps. Either pathlib is missing and pywps complains, or it is installed and many other packages break due to overridden builtin pathlib.

A proper sync between master / release tags should be done once and for all. Why are there even releases of features not integrated in master?

fmigneault commented 3 years ago

@cehbrecht How should this be handled?

cehbrecht commented 3 years ago

@fmigneault sorry about the mess. We have merged several things to quickly to master (dropping py2 and proposed job queue). The new job queue implementation on master is not used and probably we want a different implementation.

To get out of this I would propose the following:

Maybe we can move the current master to a dev branch for the current job queue implementation. The pywps 4.4 branch would then become the new master.

After that we need to think again about finding a solution for the job queue implementation.

cehbrecht commented 3 years ago

I could do the following:

Next:

@jachym @tomkralidis @huard Thoughts?

huard commented 3 years ago

Sounds good !

tomkralidis commented 3 years ago

+1

fmigneault commented 3 years ago

Maybe we can move the current master to a dev branch for the current job queue implementation. The pywps 4.4 branch would then become the new master.

I like this idea. Experimental features should be in a separate branch and merged only when deemed appropriate. The most confusing thing in this repo is that its landing page defaults to master which is not aligned with recent releases.

The plan sounds good. I'm curious, why it jumps from pywps-4.2 to pywps-4.4 ?

cehbrecht commented 3 years ago

I'm curious, why it jumps from pywps-4.2 to pywps-4.4 ?

In pywps the Linux version schema was used. Even 4.0, 4.2, 4.4 version numbers for stable releases and uneven 4.1, 4.3 for unstable releases. We have not really used this. We may give it up starting with version 5.0.

cehbrecht commented 3 years ago

There is now a pywps-4.4 branch with integrated patches (#574) from master.

I can do the following:

"main" is the new "master" on github: https://github.com/github/renaming

Using this I can create a new "main" branch based on pywps-4.4 ... "main" becomes the default branch. We can freeze master ... or rename it?

When we have a "main" branch we can start with version 4.6:

huard commented 3 years ago

@cehbrecht Sounds good. We'll update our servers with 4.4.0 and report any issues we find in our staging tests.

cehbrecht commented 3 years ago

closing this in favor of #590