Closed beckermr closed 5 years ago
This issue blocks python 3 support w/ PRs #47 and #48
Here is one proposal. We simply update the repo to support only python 3 via pypi with the new version number. People can rely on older versions for python 2.7 and older eccodes builds.
We can eventually mark the old versions as broken sometime near the end of next year or so.
Certainly, for python 3 we could mark them as broken almost right away.
So apparently the upstream package split out the python package (a good thing) but decided to reset the version number
:weary:
So to update this feedstock for
eccodes >=2.13.0
, the new version would be 0.9.2. The current version of this feedstock is based on the upstreameccodes
version of2.12.*
.@conda-forge/python-eccodes How should we proceed here?
Here is one proposal. We simply update the repo to support only python 3 via pypi with the new version number. People can rely on older versions for python 2.7 and older eccodes builds.
I'm OK with that but I'm not a heavy user of eccodes. @conda-forge/python-eccodes team, what do you think?
Good question! The PyPI Package is Python3 only. So my suggestion would be to drop Python2 support for this feedstock now.
As the new build would be for ecCodes v2.13.0 we might have to mark older py3 packages as broken then.
Another thing is, that the new bindings can be compiled. @ocefpaf any idea how to incorporate this?
As the new build would be for ecCodes v2.13.0 we might have to mark older py3 packages as broken then.
This is not needed. Conda will resolve the version dependence of the individual build on ecCodes properly.
This is not needed. Conda will resolve the version dependence of the individual build on ecCodes properly.
Will $ conda install python-eccodes
install the 0.9.2 version (if it's build) or the 2.12.3 which is latest?
It depends on what other packages are in the environment. if you never want the older package 2.12.3 installed, then marking the older ones as broken would do the trick as you say. However, this would have other consequences, like breaking support for users.
Ah, I see, in #48 the package is just pulled from PyPI and installed alongside the eccodes build. But that means we will build eccodes twice. In the eccodes-feedstock
and here.
And, we would have a conda-forge version naming contradicting the python-eccodes
PyPI version. Seems not easy to sort out properly.
I think I might have misinterpreted one of your comments. Indeed marking all python 3 builds of python-eccodes as broken and starting over is probably the best option.
The question I thought I was answering was "Will conda get confused and try and install python-eccodes 0.9.2 with eccodes 2.12.3?" The answer to this question is no as long as the python-eccodes recipe depends on the eccodes one via the meta.yaml
.
I think we can avoid a double build along with compiling the package, but that will take some effort to get working.
The question I thought I was answering was "Will conda get confused and try and install python-eccodes 0.9.2 with eccodes 2.12.3?" The answer to this question is no as long as the python-eccodes recipe depends on the eccodes one via the
meta.yaml
.
IIUC, we can use the new version (0.9.2) in this feedstock and depend on eccodes 2.13.0 via meta.yaml
and conda will take care of it. But with the consequence of dropping python2 support, right?
That is basically right. However, we can keep the old builds with python 2 support around by not marking those as broken. We just can't easily support python 3 for both eccodes 2.12.3 and eccodes 2.13.0.
So apparently the upstream package split out the python package (a good thing) but decided to reset the version number. So to update this feedstock for
eccodes >=2.13.0
, the new version would be 0.9.2. The current version of this feedstock is based on the upstreameccodes
version of2.12.*
.@conda-forge/python-eccodes How should we proceed here?