Giter Site home page Giter Site logo

Comments (13)

jbednar avatar jbednar commented on June 3, 2024

@dharhas, is there any reason stevedore bundles six and argparse instead of just depending on them? That's an unusual arrangement and to me seems safe only if it bundled them as submodules within its own module, not at the top level where there will be conflicts with other packages.

from earthsim.

ceball avatar ceball commented on June 3, 2024

The packaging of stevedore on conda-forge looks less problematic, so maybe it would be enough to just pin stevedore's version to be higher than the stevedore on erdc's channel. I've done that in #10; please tell me if that's going to cause a problem (with quest?) I'm unaware of.

If everyone were using conda 4.4, we could instead specify to install only gssha, filigree, libfiligree from the erdc channel.

from earthsim.

dharhas avatar dharhas commented on June 3, 2024

I've removed stevedore from the erdc channel. I think it is an artifact of a time before conda-forge was available. I'm a little confused why a lower version of stevedore is preferred over a higher version but I guess channel has priority? Our policy is to only maintain packages in erdc that cannot be put in an community channel like conda-forge.

from earthsim.

dharhas avatar dharhas commented on June 3, 2024

@jbednar no idea. Stevedore and pbr (python build reasonableness) are part of openshift and I've noticed that they have their own particular way of doing things that don't always match the wider community. Back in the day I picked stevedore as a framework for a plugin architecture in quest and pbr to deal with versioning. If I had to do it over, I would probably go with versioneer for versions and I'm not sure what else is out there for plugins.

from earthsim.

ceball avatar ceball commented on June 3, 2024

I'm a little confused why a lower version of stevedore is preferred over a higher version but I guess channel has priority?

I think so, yes.

from earthsim.

jbednar avatar jbednar commented on June 3, 2024

In that case, presumably we could have avoided the issue by bumping the erdc channel to be down below conda-forge?

from earthsim.

ceball avatar ceball commented on June 3, 2024

Depends. It was the first thing I considered, but I took the conservative option of avoiding only the one package known to cause a problem.

By 'depends', I mean: (a) is there any package already on conda-forge that's also on erdc, where we need the package to come from erdc? (b) what if in the future someone puts one of the must-come-from-erdc packages onto conda-forge?

However, Dharhas has clarified that the "policy is to only maintain packages in erdc that cannot be put in an community channel like conda-forge", so maybe the erdc channel should be put at a lower priority than conda-forge, and we should just see what happens?

And also, maybe various packages should be removed from the erdc channel that are on conda-forge? There appear to be quite a few. However, I don't know why those packages exist - there might be a good reason.

from earthsim.

jbednar avatar jbednar commented on June 3, 2024

I think we should pin versions very specifically as the final deliverable from this phase, and then relax them when we resume development in the next phase. So at this point it shouldn't matter; there shouldn't be any significant ambiguity. Eventually, my guess is to put the erdc channel lower in priority, because new versions of things are likely to appear on conda-forge, and we'll then realize that and be forced to adapt accordingly.

from earthsim.

dharhas avatar dharhas commented on June 3, 2024

In general, the erdc channel is only for stuff not available in other channels, so it should probably be last in priority.

from earthsim.

ceball avatar ceball commented on June 3, 2024

I think we should pin versions very specifically

@jbednar, so just to be clear, I should pin all packages in environment.yml to exact versions currently being used?

And then later on, we'll also make a conda package where we don't do such pinning.

from earthsim.

jbednar avatar jbednar commented on June 3, 2024

If you're volunteering, then yes, please do! I was just saying abstractly that someone should do it. :-) We should make a note (e.g. a comment on that line of the file) for any of those pins that are actually known to be required, so that we don't mistakenly delete those later when we remove the rest of the pinning.

from earthsim.

dharhas avatar dharhas commented on June 3, 2024

And also, maybe various packages should be removed from the erdc channel that are on conda-forge? There appear to be quite a few. However, I don't know why those packages exist - there might be a good reason.

There are some packages in the erdc channel that were created by the hashdist/conda portion of this project in 2017. The reason as far as I understand, is that they have compilation options suited for hpc that were not accepted by conda-forge. Those need to stay. None are packages EarthSim uses. Any older ones can be removed if causing problems.

from earthsim.

ceball avatar ceball commented on June 3, 2024

Thanks for explaining that.

Anyway, the original issue is resolved.

from earthsim.

Related Issues (20)

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.