LinkFunctions.jl: help with package development and registration

Hi everyone,

I’m a new Julia user currently learning the language, and I’m interested in developing packages for distribution regression model fitting. For this work, I need to use link functions, which are implemented in GLM.jl. However, I prefer a standalone implementation with some additional features I need for my project.

My repository is at: GitHub - giovannitinervia9/LinkFunctions.jl: A Julia module providing a comprehensive collection of link functions for Generalized Linear Models (GLMs) and other statistical modeling contexts.

Specifically, I wanted to add link functions for arbitrarily constrained parameters (BoundedLink), along with explicit definitions of derivatives for both link functions and inverse link functions. So I decided to use the structure from GLM.jl as a foundation and create a standalone module with these additions. I followed the package development guide at How to develop a Julia package and uploaded my package to GitHub.

However, since I’m also new to GitHub, there are some things I don’t understand. I see there’s a CI banner on my repository that says “failing” and I’m not sure what this means or how to fix it. I also tried the registration procedure using Registrator.jl, but something went wrong and I can’t figure out what the issue is. The process didn’t complete successfully and I’m not sure how to troubleshoot it.

Could someone help me understand how to fix the CI issues and what might be preventing successful package registration? I’d also appreciate any other best practices I should follow for Julia package development.

Thanks for your patience with a beginner! Any guidance from the community would be really helpful.

The registration process is blocked automatically due to 2 errors.

First, you have specified the version number to be “v1.0.0-DEV”. This is not valid for a registered package. Google a bit and you will see that the only possible versions for a new package are v0.1.0 (the most common choice), v0.0.1 and v1.0.0.

Second, your compat entries in Project.toml have some issues. The error message has complained. It shouldn’t be “0.2” for Distributions.jl. For versions starting with 0 as the major version number, each change in the minor version number is considered to be possibly breaking and needs to be specified separately. So you may want to consider 0.25 instead. (The v0.2 is a very very old version. It won’t automatically indicate compatibility with 0.3, 0.4, etc. This is different from, say 1.0, where compatibility with 1.1, 1.2, etc are indicated by just specifying 1.0.)

For your CI, it seems like your compat are really wrong in your project file note that 0.2 != 0.20