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

New package: CornerPlotting v0.1.0 #115474

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

JuliaRegistrator
Copy link
Contributor

@JuliaRegistrator JuliaRegistrator commented Sep 19, 2024

Copy link
Contributor

Hello, I am an automated registration bot. I help manage the registration process by checking your registration against a set of AutoMerge guidelines. If all these guidelines are met, this pull request will be merged automatically, completing your registration. It is strongly recommended to follow the guidelines, since otherwise the pull request needs to be manually reviewed and merged by a human.

1. New package registration

Please make sure that you have read the package naming guidelines.

2. AutoMerge Guidelines are all met! ✅

Your new package registration met all of the guidelines for auto-merging and is scheduled to be merged when the mandatory waiting period (3 days) has elapsed.

3. To pause or stop registration

If you want to prevent this pull request from being auto-merged, simply leave a comment. If you want to post a comment without blocking auto-merging, you must include the text [noblock] in your comment.

Tip: You can edit blocking comments to add [noblock] in order to unblock auto-merging.

@goerz
Copy link
Member

goerz commented Sep 19, 2024

[noblock] Can you comment (also in your README or documentation) on how this compares to PairPlots?

@sefffal

@orlox
Copy link

orlox commented Sep 19, 2024

Sure thing! I needed in particular a corner plotter that could provide highest density credible intervals in both 1D and 2D. My understanding is that PairPlots uses quantiles for its credible intervals, not entirely sure what the contours represent. But also I needed a tool that could give me easy access to elements of the plot to modify, to include for instance priors. This is code I had embedded in two different projects, so it made more sense to make it more general and make it its own package.

[noblock]

@sefffal
Copy link

sefffal commented Sep 19, 2024

I think you might be surprised the breadth of features and customization available in PairPlots:

But I think it's okay to have duplication of packages with different APIs; there's lots of examples of this in the Julia ecosystem!

BTW for other readers, we also have the unmaintained CornerPlots.jl. It's a shame that it's squatting on such a nice name.

[noblock]

@goerz
Copy link
Member

goerz commented Sep 20, 2024

It's a shame that it's squatting on such a nice name.

There’s precedent for unmaintained packages being moved to a new maintainer if the original maintainer is no longer responsive. That’s one benefit of having a community-managed General registry.

By the way: all comments that do not contain [noblock] block the registration. So if you don’t want your comment to be blocking, make sure to edit it to contain [noblock]

@orlox
Copy link

orlox commented Sep 20, 2024

@sefffal ,

Thanks for the info, and congrats on your nicely documented package. Before doing this I did look a bit into the source code and docs of PairPlots and didn't quite find the way to do what I want. Contours are given by sigmas, so I guess one can just transform a specific fraction into its equivalent sigma. For HDIs for the 1D marginalized distribution I don't understand how that is possible. Docs mention to check the documentation for MarginConfidenceLimits, but that is empty, though from the source code I understand it does 16,50,84 percentiles, so 1-sigma equivalent percentiles. I also cannot find a simple way to access an individual panel (say, I want the axis plotting 'x' versus 'y' and overplot a scatter), but perhaps I missed that on the docs.

There are other differences that are perhaps more personal preference than general use case. I want to have full control over styling (eg tickrotation is one example), and I do not want to use KDEs. But I can of course understand if people here think these differences do not merit another package in the general registry. I can instead just duplicate this code across projects then, which is not an enormous nuisance.

PS: I do find it interesting that we are both from astro, guess there is a particular love in our field for these plots :). It is also a pity that CornerPlot already exists. Following typical julian package naming I was thinking of CornerPlots, but that is too similar to that already existing package.

[noblock]

@goerz
Copy link
Member

goerz commented Sep 20, 2024

I was thinking of CornerPlots, but that is too similar to that already existing package

The bot will certainly flag it, and usually, I have a pretty hard rule that existing registered packages block variations of the package name that differ only by the plural "s". In this case, since CornerPlot is apparently abandoned (we should check in with @kilianbreathnach), I might be open to overriding that rule. I'm not sure that I would be comfortable making that decision by myself, though, so this should be discussed in the #pkg-registration channel on Slack before renaming CornerPlotting to CornerPlots. It would be a step that's pretty close to taking CornerPlot away from @kilianbreathnach and transferring it to @orlox, which isn't something that should be done lightly.

I would also point out that CornerPlots is a very generic name, and that such a name would imply some higher expectations towards @orlox as a maintainer. The package should be sufficiently broad in scope to serve as the go-to package for people wanting to do corner plots in Julia. We would very much want to avoid a CornerPlots becoming unmaintained. It would help if there was some kind of backing of the package by someone with a permanent position, and/or the package was being hosted by a GitHub organization with multiple owners, as opposed to a personal account.

In comparison, CornerPlotting isn't quite as nice as a name, so I'd be putting a little less scrutiny on it. If you would rather not take on the extra responsibility and the (potentially prolonged) process of clearing the CornerPlots name, it might be best to stick to CornerPlotting.

[noblock]

@orlox
Copy link

orlox commented Sep 20, 2024

I'm ok with keeping the current name. I do expect to regularly maintain and update it, as it is a tool I need for other projects that are long running (meaning at least 10-year with secured funding). But I also expect to keep it's scope smaller than PairPlots, the idea in here is to provide simple plots for users to add on top.

[noblock]

UUID: 4a808bc-0da0-4a1c-a768-2071018375da
Repo: https://github.com/orlox/CornerPlotting.jl.git
Tree: f2c1b0cefb3ef9d2ecf7864dc12139883137491c

Registrator tree SHA: 17aec322677d9b81cdd6b9b9236b09a3f1374c6a
@JuliaRegistrator JuliaRegistrator force-pushed the registrator-cornerplotting-4a808bcd-v0.1.0-da7e908aa4 branch from 651454f to 8e821d9 Compare September 21, 2024 11:03
@orlox
Copy link

orlox commented Sep 21, 2024

Just updated the package with actual documentation, as well as a mention to the alternatives.

[noblock]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants