Reputation: 18645
I maintain a conda-forge package called switch_model. Subsequent to our last release (2.0.5
), one of the packages we depend on has made an incompatible change. So I am trying to publish a post-release, 2.0.5.post2
, that requires an older version of that package.
I've managed to create the post-release on PyPi and I can install successfully with pip
. I also updated my meta.yaml
for the recipe and pushed that to github (https://github.com/conda-forge/switch_model-feedstock/blob/master/recipe/meta.yaml).
Now, the conda-forge
website at https://anaconda.org/conda-forge/switch_model identifies the latest version as 2.0.5.post2
. But when I try to install to my computer using conda install -c conda-forge switch_model
, it says it will install the older 2.0.5
version. If I try conda install -c conda-forge switch_model=2.0.5.post2
, I get a message that it cannot be found. However, if I use conda install -c conda-forge/label/main switch_model
, it installs the latest version (2.0.5.post2
).
So as things stand, the new version is on conda-forge, but people who try to install my package will still get the old version with the wrong dependencies, and it won't work.
Does anyone know how to get conda
to automatically install the post-release version? It's possible that I needed to fork the switch_model-feedstock
repository into my personal account on github, then do a pull request back to the conda-forge account. But I'm not sure if that would have made a difference (I don't think I did that for the original 2.0.5 version), and I'm not sure how I would do it retroactively, since I've already pushed the new version of meta.yaml
into the conda-forge version of the repository.
Update
By the time I finished writing this question, the 2.0.5.post2
version is now installing by default. So I may have just needed to wait until something happened in the delivery system. So my question now is, is there anything I could have done to test that the new version of the package would soon be available to users (e.g., clear some cache of available versions)? Would it make a difference if I updated the package via a pull request from another repository instead of pushing directly to the conda-forge version?
Upvotes: 2
Views: 1425
Reputation: 659
By the time I finished writing this question, the 2.0.5.post2 version is now installing by default. So I may have just needed to wait until something happened in the delivery system.
Packages can take some time (~1 hour) to actually be installable through conda
, even if they appear on anaconda.org.
So my question now is, is there anything I could have done to test that the new version of the package would soon be available to users (e.g., clear some cache of available versions)?
Not completely sure what's being asked here
conda
, not really. Once a build passes all of the status checks that conda-forge's bots do, there are vanishingly few reasons why it would fail to be available to users later.Would it make a difference if I updated the package via a pull request from another repository instead of pushing directly to the conda-forge version?
No, and in general it's best to, wherever possible, to stay within the infrastructure that conda-forge
has already built out.
Upvotes: 0