Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Registering BridgeStan.jl? #69

Closed
sethaxen opened this issue Jan 20, 2023 · 8 comments · Fixed by #73
Closed

Registering BridgeStan.jl? #69

sethaxen opened this issue Jan 20, 2023 · 8 comments · Fixed by #73
Labels
julia question Further information is requested

Comments

@sethaxen
Copy link
Contributor

Are you interested in adding BridgeStan.jl to the general Julia registry? This would make it easier for downstream packages like StanSample.jl to make sure they maintain compatibility with BridgeStan, since they could add BridgeStan as a dependency with version bounds. e.g. recently BridgeStan.jl dropped support for Julia versions older than Julia v1.8, which caused StanSample to break when BridgeStan was available and included.

I think the main challenge here is making sure that BridgeStan.jl has access to the rest of the bridgestan repo. Registering the package directly from the BridgeStan subdirectory wouldn't package its parent directory with it.

But it should be fairly straightforward to support this by making the tarball associated with the most recent bridgestan GitHub release an Artifact. Upon BridgeStan.jl installation, the tarball is automatically downloaded and extracted and the path is made available to BridgeStan.jl. The tarball also contains all git submodules. This is, for example, how PosteriorDB.jl interacts with posteriordb.

When a major change is made to bridgestan, the process for updating BridgeStan.jl would be 1) make a GitHub release (generates the tarball) 2) update an Artifacts.toml file in BridgeStan.jl. 3) register a new BridgeStan.jl. Step 2 can be automated.

If you're interested in this, I could open a PR to set up the artifacts.

@WardBrian
Copy link
Collaborator

We decided fairly early on that this wouldn't be a priority for us, but it also isn't something I am personally opposed to. I believe we would also be able to do something similar for Python, but I don't think we have any intention of ever trying to wrangle this onto CRAN, so we'd have to be okay with very different installation instructions depending on language

@WardBrian WardBrian added question Further information is requested julia labels Jan 20, 2023
@roualdes
Copy link
Owner

I agree with Brian on all accounts. I also think it would be a little awkward to have registered packages for Julia and Python, but not for R. Though I could get over this.

@bob-carpenter, what do you think about having registered packages for Julia (and possibly Python), but not for R? Are you against having different installs for different interfaces?

@bob-carpenter
Copy link
Collaborator

what do you think about having registered packages for Julia (and possibly Python), but not for R?

I have no experience with Julia. I'm OK registering Python. My advice is to avoid CRAN at all cost, but if someone else wants to deal with that pain, I won't stop you.

Are you against having different installs for different interfaces?

I don't see how they could be the same, so I'm not against them being different.

@roualdes
Copy link
Owner

Ok, let's try. Seth, you want to give this a go? My only request is no added dependencies.

@WardBrian
Copy link
Collaborator

I’d also love if as much as possible it was doable in a push-button way from a GitHub action. If/when I get around to packing in python that will be my target

@sethaxen
Copy link
Contributor Author

Ok, let's try. Seth, you want to give this a go? My only request is no added dependencies.

Sure! I've opened a PR at #70. No problem, no additional dependencies needed.

I’d also love if as much as possible it was doable in a push-button way from a GitHub action.

Agreed! It's pretty easy for registration to be push-button (already in #70). Keeping the artifact up-to-date can also be done this way (as in PosteriorDB), but it requires some more assumptions about what future releases of bridgestan will look like.

@WardBrian WardBrian linked a pull request Jan 31, 2023 that will close this issue
@WardBrian
Copy link
Collaborator

@sethaxen you can now monitor JuliaRegistries/General#76783

Thanks for the help with this!

@sethaxen
Copy link
Contributor Author

sethaxen commented Feb 1, 2023

Excellent, thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
julia question Further information is requested
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants