[Pre-ANN] JuliaPackageComparisons

Edit: New repository.

Hello Julia community! I just created a repository to host a vision I have had for a long time:


The goal of the repository is to create a canonical and updated web resource to help users navigate the complex and ever-changing julia package ecosystem. The readme says it all, so please check it out! (The title is a link)

The project is in an early phase. Thoughts on how to structure it are very welcome, as well as content contributions. Once the actual website (not a github readme) is up and running, and the sections have some content, I will make a propper release announcement.

The linked repository is my effort to roll up my sleeves and get the project running, but I am very much looking for someone more suitable (Such as @logankilpatrick ?) to take over ownership of the project. Comment below or message me if you have thoughts about ownership.


I don’t have much to contribute, just want to say that a resource such as this would be very handy to have! Thanks for the initiative on getting it rolling


Thanks, this will be very convenient!


“Some packgages try to alleviate this problem by having a “See also” or “Related packges” section in the bottom of their readme. This is a bandaid-fix, as a) work is duplicated if each package repository has this section, and b) there are few guidelines on this section, and it style, existence and scope varies wildly.”

I just want to point out a package that does this very well and could be a good model: Chain.jl. The example table at the top clearly shows the differences, and the Motivation section below explains why it chose to be different. I think this is critical information to introduce early, especially if you developed a package because existing packages weren’t satisfactory enough for some reason.


Those are good points. So piping packages could use that comparison more or less directly! I will make an issue to remebmer to do that.

In case it’s any inspiration, I recently did that work with the graphs ecosystem. Will try to contribute it to your repo when I find the time

1 Like

Would it be possible to join efforts with https://gensjulia.pages.dev?

1 Like

That post of yours is amazing! It is exactly the type of content I want to make discoverable and keep updated. A PR adding that section would be very welcome! Here is an issue to remind us to do this, whoever find the time first :slight_smile:

1 Like

That webpage looks a lot like what I am hoping to create, and it looks great! My vision is however slightly different than what I see there:

My aim is to create a resource that takes the role of an experienced user/developer that guides a new user through the relevant packes. This means that a lot of interpretation/narrative/judgement is needed. That resource currently has very little such content, and only uses a single sentence to summarize a package. Furthermore, it does not make comparisons. So it is a great resource for discoverability, but less so for informing new users about the most appropriate choice.

I also want users and developers of the relevant packages to write about what it is actually like to use them, and not a curated list written by one or a few individuals. Some bootstrapping is needed, but ideally JuliaPackageComparisons should take on a life of its own, being as organic and ever-changing as the package ecosystem.

I am very open to joining efforts, but feel like JuliaPackageComparisons needs to take a little more shape before we can evaluate if the resources are unitable. If however @sosiristseng (github username) agrees with what I have in mind, I would love to add the interpretation/narrative/judgement to their resource.

1 Like

Maybe two parts of the same website would be better than two website?


I envision a website with a per-field/organization comparison matrix that compares packages with important algorithms/functions in that field, like mesamatrix.com does.

Perhaps https://mesamatrix.net/?

Comparison matrices are an important tool for comparisons of packages. But I definitively want much more than that as guidance when I chose between packages. I know that often will mean subjective content, but as long as it comes from the users and developers together, that is exactly what I believe new users will find most helpful.

1 Like

There is now a new repository that hosts an actual website! In other words, the project is shaping up.

There is still a lot of content that could be improved, and even more that is not yet added. If you want to help out, PRs are welcome. If you want to become a maintainer, please send me a message here on discourse.

EDIT: I have added a minimum of content for the last few sections added, so they are good for showcasing some content. Other sections with notable content are Plotting, and Triangulations / Tessellations.


This is awesome and fantastic and seems to be exactly what a newcomer would need! I will definitely try to contribute to this project! Thanks @TheLateKronos !


I think we all can contribute our small bits.

But, I think in the current form it’s rather hard to find a package? The sidebar is not quite searchable.

A better approach could be if each package is its own file which we can assign multiple tags (plot, optimization, ML)? Sometimes packages fit in more than one category.

1 Like

That would hamper the ease of comparison, no?

I like the site so far but I think (and I know this should be a community effort) that the language of the comparison could use improvement. Also, probably the tldr should go at the top…


Yeah, I agree on the comparison.

Maybe it might be worth still do the comparisons. And we write comparisons to all tags? So packages can occur both in a ML tag but also in the optimization tag. And the text considers that.

1 Like

Based on the last sentece it sounds like you are referring to the Plots section. Currently it is just a copy of a comment @ChrisRackauckas allowed me to use that he made here on discourse, without any real changes. It just serves as a starting point for now, as it was a fast way to add some content.

I agree, I am currently scratching my head wondering how to improve it. I will file an issue with detailed thoughts I have in the coming days (unless someone beats me to it!).

100%. I opened “Make website searchable #3” and “Tag pages with mentioned packages? #7” to adress this.

1 Like

There is nothing wrong with a package appearing in multiple sections. But because the comparisons are (should be) very hand-crafted to the specific domain and julia ecosystem status, I dont really see how automating anything will ultimately save labor and not degrade the quality. Do you see a concrete way content could be generated that is coherent and with a good reading flow?