Ecosystem Bundle Download

Hey new to julia, proficient in python and R;
Want to know if there is a method to download entire ecosystems like JuliaStats or JuliaGraph using single command?

1 Like

Not as such. JuliaGraph is highly modular

using Pkg; Pkg.install("JuliaGraph") # brings in most of what you need 

then, as needed, for example

using Pkg; Pkg.install("SimpleWeighted Graphs")

If you wanted to download all of JuliaStats you could use something like this

using Pkg, RegistryInstances

# Example: Install every package that has "Graphs" in the name 
# or is hosted under the JuliaGraphs GitHub org
for reg in RegistryInstances.reachable_registries()
    for (uuid, pkg) in reg.pkgs
        if contains(pkg.name, "Graphs") # Or check pkg.url for the organization string
            try
                Pkg.add(pkg.name)
            catch
                @warn "Could not install $(pkg.name)"
            end
        end
    end
end

which will

Resolving package versions...
   Installed SimpleMatch ─────────────── v1.1.0
   Installed Suppressor ──────────────── v0.2.8
   Installed Pipe ────────────────────── v1.3.0
   Installed Collects ────────────────── v1.1.0
   Installed JLD2 ────────────────────── v0.4.55
   Installed OMEinsum ────────────────── v0.9.4
   Installed MultilayerGraphs ────────── v1.1.5
   Installed VectorInterface ─────────── v0.5.0
   Installed Graphs ──────────────────── v1.13.1
   Installed Bijections ──────────────── v0.2.2
   Installed DataTypesBasic ──────────── v2.0.3
   Installed ExprParsers ─────────────── v1.2.3
   Installed FixedSizeArrays ─────────── v1.3.0
   Installed BitBasis ────────────────── v0.9.10
   Installed BatchedRoutines ─────────── v0.2.2
   Installed MetaGraphs ──────────────── v0.7.2
   Installed Distributions ───────────── v0.25.124
   Installed StructEquality ──────────── v2.1.0
   Installed StridedViews ────────────── v0.5.0
   Installed Strided ─────────────────── v2.4.0
   Installed PackageExtensionCompat ──── v1.0.2
   Installed TupleTools ──────────────── v1.6.0
   Installed SimpleValueGraphs ───────── v0.4.1
   Installed TreeWidthSolver ─────────── v0.3.5
   Installed ProxyInterfaces ─────────── v1.1.1
   Installed WhereTraits ─────────────── v1.1.2
   Installed OMEinsumContractionOrders ─ v1.2.2
   Installed CliqueTrees ─────────────── v1.19.2
   Installed TensorOperations ────────── v5.6.0
      Compat entries added for MultilayerGraphs
    Updating `/some_project`
  [af984530] + MultilayerGraphs v1.1.5
    Updating `/Volumes/Seoul/GD/projects/Claudius/Manifest.toml`
  [1520ce14] + AbstractTrees v0.4.5
  [66dad0bd] + AliasTables v1.1.3
  [ec485272] + ArnoldiMethod v0.4.0
  [a9ab73d0] + BatchedRoutines v0.2.2
  [e2ed5e7c] + Bijections v0.2.2
  [50ba71b6] + BitBasis v0.9.10
  [d360d2e6] + ChainRulesCore v1.26.1
  [60701a23] + CliqueTrees v1.19.2
  [08986516] + Collects v1.1.0
  [861a8166] + Combinatorics v1.1.0
  [34da2185] + Compat v4.18.1
  [187b0558] + ConstructionBase v1.6.0
  [a8cc5b0e] + Crayons v4.1.1
  [9a962f9c] + DataAPI v1.16.0
βŒ… [864edb3b] + DataStructures v0.18.22
  [83eed652] + DataTypesBasic v2.0.3
  [e2d170a0] + DataValueInterfaces v1.0.0
  [31c24e10] + Distributions v0.25.124
  [ffbed154] + DocStringExtensions v0.9.5
  [c5caad1f] + ExprParsers v1.2.3
  [5789e2e9] + FileIO v1.18.0
  [1a297f60] + FillArrays v1.16.0
  [3821ddf9] + FixedSizeArrays v1.3.0
βŒƒ [86223c79] + Graphs v1.13.1
  [34004b35] + HypergeometricFunctions v0.3.28
  [d25df0c9] + Inflate v0.1.5
  [92d709cd] + IrrationalConstants v0.2.6
  [c8e1da08] + IterTools v1.10.0
  [82899510] + IteratorInterfaceExtensions v1.0.0
βŒ… [033835bb] + JLD2 v0.4.55
  [692b3bcd] + JLLWrappers v1.7.1
βŒ… [682c06a0] + JSON v0.21.4
  [8ac3fa9e] + LRUCache v1.6.2
  [b964fa9f] + LaTeXStrings v1.4.0
  [2ab3a3ac] + LogExpFunctions v0.3.29
  [1914dd2f] + MacroTools v0.5.16
βŒ… [626554b9] + MetaGraphs v0.7.2
  [e1d29d7a] + Missings v1.2.0
  [af984530] + MultilayerGraphs v1.1.5
  [ebe7aa44] + OMEinsum v0.9.4
βŒƒ [6f22d1fd] + OMEinsumContractionOrders v1.2.2
  [bac558e1] + OrderedCollections v1.8.1
  [90014a1f] + PDMats v0.11.37
  [65ce6f38] + PackageExtensionCompat v1.0.2
  [69de0a69] + Parsers v2.8.3
  [b98c9c47] + Pipe v1.3.0
  [aea7be01] + PrecompileTools v1.3.3
  [21216c6a] + Preferences v1.5.2
  [08abe8d2] + PrettyTables v3.3.2
  [9b3bf0c4] + ProxyInterfaces v1.1.1
  [43287f4e] + PtrArrays v1.4.0
  [1fd47b50] + QuadGK v2.11.3
  [189a3867] + Reexport v1.2.2
  [ae029012] + Requires v1.3.1
  [79098fc4] + Rmath v0.9.0
  [efcf1570] + Setfield v1.1.2
  [a3ae8450] + SimpleMatch v1.1.0
  [699a6c99] + SimpleTraits v0.9.5
  [b43c691f] + SimpleValueGraphs v0.4.1
  [47aef6b3] + SimpleWeightedGraphs v1.5.1
  [a2af1166] + SortingAlgorithms v1.2.2
  [276daf66] + SpecialFunctions v2.7.2
  [90137ffa] + StaticArrays v1.9.18
  [1e83bf80] + StaticArraysCore v1.4.4
  [10745b16] + Statistics v1.11.1
  [82ae8749] + StatsAPI v1.8.0
  [2913bbd2] + StatsBase v0.34.10
  [4c63d2b9] + StatsFuns v1.5.2
  [5e0ebb24] + Strided v2.4.0
  [4db3bf67] + StridedViews v0.5.0
  [892a3eda] + StringManipulation v0.4.4
  [6ec83bb0] + StructEquality v2.1.0
  [fd094767] + Suppressor v0.2.8
  [3783bdb8] + TableTraits v1.0.1
  [bd369af6] + Tables v1.12.1
  [6aa20fa7] + TensorOperations v5.6.0
  [3bb67fe8] + TranscodingStreams v0.11.3
  [7d267fc5] + TreeWidthSolver v0.3.5
  [9d95972d] + TupleTools v1.6.0
  [409d34a3] + VectorInterface v0.5.0
  [c9d4e05b] + WhereTraits v1.1.2
  [efe28fd5] + OpenSpecFun_jll v0.5.6+0
  [f50d1b31] + Rmath_jll v0.5.1+0
  [8ba89e20] + Distributed v1.11.0
  [9fa8497b] + Future v1.11.0
  [b77e0a4c] + InteractiveUtils v1.11.0
  [37e2e46d] + LinearAlgebra v1.12.0
  [a63ad114] + Mmap v1.11.0
  [3fa0cd96] + REPL v1.11.0
  [9e88b42a] + Serialization v1.11.0
  [1a1011a3] + SharedArrays v1.11.0
  [6462fe0b] + Sockets v1.11.0
  [2f01184e] + SparseArrays v1.12.0
  [4607b0f0] + SuiteSparse
  [8dfed614] + Test v1.11.0
  [4536629a] + OpenBLAS_jll v0.3.29+0
  [05823500] + OpenLibm_jll v0.8.7+0
  [bea87d4a] + SuiteSparse_jll v7.8.3+2
  [8e850b90] + libblastrampoline_jll v5.15.0+0

But don’t do this to the global environment, or even the project environment. The more dependencies you have the greater the likelihood that they will become out-of-sync. After doing this in a toy directrory, to kick the tires, for new projects install only those you need.

1 Like