GSoC idea modification suggestion re: version constraints

Hey all

I just saw the idea list for GSoC 2022, and “Version constraint resolution” for fpm stood out to me particularly, because I’m quite involved in the conda ecosystem**.

In particular, the version resolution is often considered one of the weakest points of conda - the community-driven alternative mamba (based also on libsolv) improves the resolution speed, but the resolution errors are still not considered amazing.

As such, I wanted to bring attention to what is (to my knowledge) currently considered best-in-class, namely pubgrub (see also announcement blog post); mamba is also considering to improve along those lines.

I could have edited the wiki directly, but seeing that I’m a complete outsider, I felt that a thread here was more appropriate. CC @everythingfunctional @awvwgk

PS. I think the discourse link should be added to the community page on

** Note that there is a (symbiotic) split between the Anaconda(-the-company)-run conda and its associated package channels, and the purely open-source side of things with conda-forge providing many more packages than Anaconda (and in many cases being treated as the “upstream” to the Anaconda main channels), and mamba as an community-driven (and compatible) equivalent to conda.


I have seen a presentation on pubgrub at the PackagingCon (Building a flexible dependency solver in Rust :: PackagingCon :: pretalx), looked really promising. There is also a recording:

Creating Fortran bindings to pubgrub, which can be used in fpm would indeed be a useful project. Probably requires some Fortran/C and C/Rust interop knowledge to make it work reliably, but definitely something I would be interested in.

Hi @h-vetinari , I’d definitely be interested in working with you on the project. There’s a bit of preliminary work that I think needs to be done, which would make this a (IMHO) full-time size project. Namely that fpm currently doesn’t really have any version information about a package (or at least doesn’t treat it as such). It could make some educated guesses based on some conventions.

At any rate, I look forward to seeing a proposal from you, and would be happy to provide suggestions and guidance.

I think there’s been a bit of a misunderstanding :sweat_smile:

I’m not proposing to do this GSoC project myself, I just wanted to enrich the references that are being used for this project idea. :upside_down_face:

I see. My mistake. Thanks for the input anyway.