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

Org bundles #5

Open
tbreloff opened this issue Oct 9, 2016 · 1 comment
Open

Org bundles #5

tbreloff opened this issue Oct 9, 2016 · 1 comment

Comments

@tbreloff
Copy link
Owner

tbreloff commented Oct 9, 2016

Organizations (JuliaML, JuliaStats,...) are the best candidates for producing best-of-breed bundles of packages related to their purpose. This need not be limited to the packages strictly owned by that organization. For example, JuliaML will want to include CatViews, Plots, etc even though those are not part of the org.

It should be dead-simple for an organization to maintain lists of bundles with various options. I propose allowing:

using MetaPkg
meta_add("JuliaML")

We will first check the MetaPkg/requires directory for a corresponding spec. If it's not found, we'll try to clone https://github.com/JuliaML/meta into MetaPkg/org/JuliaML.

The meta repo in an organization is a flat (non-julia) repo with only spec files (and maybe a license?). So the current MetaLearn file would be a file base.meta in that repo. Doing meta_add("JuliaML") would call meta_add on every spec file in that repo. There would be an option like meta_add("JuliaML","base") to only add that one spec file. The exception is that base would always be added.

Lets take the example of Plots. We could have a base bundle that includes just Plots itself, and a stats bundle that includes StatPlots, a glvisualize bundle that includes what is currently in MetaGL, etc. So one could choose to install specific bundles, or they could just do meta_add("JuliaPlots") and get everything in the ecosystem in one go.

The advantage of this design, aside from making it super easy to get set up, is that we would have a well-maintained collection of curated package lists with categorical groupings. We could presumably make it easy to download or browse the spec trees, and not too hard to automate building a site like https://github.com/svaksha/Julia.jl.

Additionally, one could easily build their own meta-bundles (custom standard libraries) just by including other meta repos in their spec. JuliaLang could (should) have bundles to include JuliaMath, etc, so that one could easily mix and match their preferred standard library, or just get everything all at once.

This was referenced Oct 9, 2016
@SimonDanisch
Copy link
Contributor

Cool! I wonder what the pros and cons for a straight forward package would be. I guess you started off like this, because it was mostly about checking out different branches of a bunch of packages?
@timholy this and #6 should be interesting to you, too ;)

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

No branches or pull requests

2 participants