Blog post about Julia's package registration tooling

I wrote a blog post trying to summarize the current set of tools using in Julia’s package registration system, such as automation in the General registry, RegistryCI.jl, LocalRegistry.jl, TagBot, and how it flows into Documenter:

https://ericphanson.com/blog/2024/julias-package-registration-tooling/

Hopefully it can be helpful in understanding how some of these pieces fit together.

31 Likes

Very nice!

I should probably at some point draw a similar diagram for the flow that one gets with the VS Code package tagging feature (https://www.youtube.com/watch?v=hbGKwY_PWIg). It is not that much advertised, but I still think it is by far the easiest way for package authors to release new versions of their package :slight_smile:

9 Likes

From the blog post:

LocalRegistry.jl is not restricted to “local” registries; it can also be used for github-hosted registries like General. I believe the name comes from the fact that it tries to not make assumptions about where the registry is located, such as assuming it is on GitHub.

When it was created people mostly talked about “private” registries beside General and the choice of “local” in the name was partly intended to convey that those registries could very well be public. But the target was always to make registries easily available to local organizations, so that was also part of the naming rationale.

Julia also has a package distribution system called PkgServer which can serve registries.

I have also made the companion package LocalPackageServer which makes it more convenient to serve the packages from a local registry (in addition to packages from General). It was based off PkgServer but has not kept up with improvements made there though. At some point I should redesign it to use the common parts directly from the PkgServer package but the instance I have at work chugs along nicely, so I don’t have much motivation to improve it.

For people considering setting up their own company-internal registry infrastructure, Julia and Gitlab self-hosted : a state-of-the-art? - #6 by GunnarFarneback and other posts in the thread may be of interest.

4 Likes