In [1]:
## List of common packages that we use in class.
# and how to add them! 

common_packages = [
  "Plots", # needs to be installed 
  "LinearAlgebra", # built-in 
  "SparseArrays", # built-in 
  "Statistics", # built-in
  "Random", # built-in
  "DelimitedFiles", # used to be built-in...maybe still is? 
  "CSV", # needs to be installed
  "DataFrames", # needs to be installed
  "Printf", # built-in
  "NearestNeighbors", # needs to be installed
  "Distributions", # needs to be installed
  "Arpack", # needs to be installed
  "KahanSummation", # needs to be installed
  "BenchmarkTools", # needs to be installed
  "StableRNGs", # needs to be installed
]

# to install a package... 
# repl way or program way...
# I almost always use the repl way.
# you press the ']' key to enter the package manager mode

# you just saw a demo of that... 
Out[1]:
15-element Vector{String}:
 "Plots"
 "LinearAlgebra"
 "SparseArrays"
 "Statistics"
 "Random"
 "DelimitedFiles"
 "CSV"
 "DataFrames"
 "Printf"
 "NearestNeighbors"
 "Distributions"
 "Arpack"
 "KahanSummation"
 "BenchmarkTools"
 "StableRNGs"
In [2]:
## 
using Pkg # this loads the package manager which is built in
Pkg.add("StableRNGs")
   Resolving package versions...
   Installed MarchingCubes ─────────────────────── v0.1.11
   Installed Xorg_xcb_util_image_jll ───────────── v0.4.1+0
   Installed OrdinaryDiffEqPRK ─────────────────── v1.2.0
   Installed OrdinaryDiffEqRosenbrock ──────────── v1.8.0
   Installed OrdinaryDiffEqSDIRK ───────────────── v1.5.0
   Installed Static ────────────────────────────── v1.2.0
   Installed alsa_jll ──────────────────────────── v1.2.13+0
   Installed OpenSSL ───────────────────────────── v1.5.0
   Installed Mods ──────────────────────────────── v2.2.6
   Installed MLUtils ───────────────────────────── v0.4.8
   Installed GPUArrays ─────────────────────────── v11.2.3
   Installed MultivariatePolynomials ───────────── v0.5.9
   Installed SteadyStateDiffEq ─────────────────── v2.5.0
   Installed FFMPEG ────────────────────────────── v0.4.4
   Installed Xorg_xcb_util_keysyms_jll ─────────── v0.4.1+0
   Installed AbstractLattices ──────────────────── v0.3.1
   Installed OrdinaryDiffEqNonlinearSolve ──────── v1.5.0
   Installed SimpleRandom ──────────────────────── v0.3.2
   Installed GR ────────────────────────────────── v0.73.17
   Installed libaom_jll ────────────────────────── v3.12.1+0
   Installed OrdinaryDiffEqLinear ──────────────── v1.4.0
   Installed StridedViews ──────────────────────── v0.3.2
   Installed LoweredCodeUtils ──────────────────── v3.4.3
   Installed OneHotArrays ──────────────────────── v0.2.10
   Installed SparseConnectivityTracer ──────────── v0.6.21
   Installed eudev_jll ─────────────────────────── v3.2.14+0
   Installed Expat_jll ─────────────────────────── v2.7.1+0
   Installed ArgCheck ──────────────────────────── v2.5.0
   Installed Infinities ────────────────────────── v0.1.11
   Installed Sundials ──────────────────────────── v4.28.0
   Installed Qt6ShaderTools_jll ────────────────── v6.8.2+1
   Installed Plots ─────────────────────────────── v1.40.19
   Installed OrdinaryDiffEqTsit5 ───────────────── v1.3.0
   Installed Ghostscript_jll ───────────────────── v9.55.1+0
   Installed Quadmath ──────────────────────────── v0.5.13
   Installed Libuuid_jll ───────────────────────── v2.41.1+0
   Installed Qt6Declarative_jll ────────────────── v6.8.2+1
   Installed Strided ───────────────────────────── v2.3.2
   Installed Atomix ────────────────────────────── v1.1.2
   Installed Xorg_xcb_util_renderutil_jll ──────── v0.3.10+0
   Installed StrideArraysCore ──────────────────── v0.5.8
   Installed libaec_jll ────────────────────────── v1.1.4+0
   Installed OpenSSL_jll ───────────────────────── v3.5.2+0
   Installed IntegerMathUtils ──────────────────── v0.1.3
   Installed URIs ──────────────────────────────── v1.6.1
   Installed RuntimeGeneratedFunctions ─────────── v0.5.15
   Installed PoissonRandom ─────────────────────── v0.4.6
   Installed ArrayInterface ────────────────────── v7.19.0
   Installed BitIntegers ───────────────────────── v0.3.5
   Installed GenericLinearAlgebra ──────────────── v0.3.18
   Installed OrdinaryDiffEqNordsieck ───────────── v1.2.0
   Installed LightXML ──────────────────────────── v0.9.2
   Installed JpegTurbo_jll ─────────────────────── v3.1.2+0
   Installed ImageSegmentation ─────────────────── v1.9.0
   Installed LRUCache ──────────────────────────── v1.6.2
   Installed ImageMorphology ───────────────────── v0.4.6
   Installed Pickle ────────────────────────────── v0.3.6
   Installed DataGraphs ────────────────────────── v0.2.7
   Installed Libmount_jll ──────────────────────── v2.41.1+0
   Installed Polyester ─────────────────────────── v0.7.18
   Installed BFloat16s ─────────────────────────── v0.5.1
   Installed TimerOutputs ──────────────────────── v0.5.29
   Installed SimpleGraphConverter ──────────────── v0.1.0
   Installed Xorg_xcb_util_wm_jll ──────────────── v0.4.2+0
   Installed PlutoUI ───────────────────────────── v0.7.71
   Installed OrdinaryDiffEqCore ────────────────── v1.26.2
   Installed NNlib ─────────────────────────────── v0.9.31
   Installed Fontconfig_jll ────────────────────── v2.17.1+0
   Installed FastPower ─────────────────────────── v1.1.3
   Installed Hwloc_jll ─────────────────────────── v2.12.1+0
   Installed OrdinaryDiffEqAdamsBashforthMoulton ─ v1.3.0
   Installed OrdinaryDiffEqVerner ──────────────── v1.4.0
   Installed LinearSolve ───────────────────────── v2.39.1
   Installed Revise ────────────────────────────── v3.9.0
   Installed SimpleNonlinearSolve ──────────────── v1.12.5
   Installed InfiniteArrays ────────────────────── v0.15.6
   Installed LazyArrays ────────────────────────── v2.6.2
   Installed SimpleGraphAlgorithms ─────────────── v0.6.0
   Installed LinearAlgebraX ────────────────────── v0.2.10
   Installed FastAlmostBandedMatrices ──────────── v0.1.5
   Installed IRTools ───────────────────────────── v0.4.15
   Installed NamedGraphs ───────────────────────── v0.6.8
   Installed METIS_jll ─────────────────────────── v5.1.3+0
   Installed mtdev_jll ─────────────────────────── v1.1.7+0
   Installed MathTeXEngine ─────────────────────── v0.6.6
   Installed OrdinaryDiffEqQPRK ────────────────── v1.2.0
   Installed OrdinaryDiffEqPDIRK ───────────────── v1.4.0
   Installed LLVMExtra_jll ─────────────────────── v0.0.37+2
   Installed libevdev_jll ──────────────────────── v1.13.4+0
   Installed SciMLStructures ───────────────────── v1.7.0
   Installed CoordinateTransformations ─────────── v0.6.4
   Installed LoopVectorization ─────────────────── v0.12.172
   Installed ApproxFunOrthogonalPolynomials ────── v0.6.61
   Installed Colorfy ───────────────────────────── v1.1.1
   Installed SimpleTraits ──────────────────────── v0.9.5
   Installed OrdinaryDiffEqExtrapolation ───────── v1.6.0
   Installed OrdinaryDiffEqHighOrderRK ─────────── v1.3.0
   Installed KernelAbstractions ────────────────── v0.9.38
   Installed UnsafeAtomics ─────────────────────── v0.3.0
   Installed OrdinaryDiffEqDifferentiation ─────── v1.4.0
   Installed RingLists ─────────────────────────── v0.2.9
   Installed MPItrampoline_jll ─────────────────── v5.5.4+0
   Installed CPUSummary ────────────────────────── v0.2.7
   Installed OrdinaryDiffEqFeagin ──────────────── v1.2.0
   Installed OrdinaryDiffEqIMEXMultistep ───────── v1.5.0
   Installed BlockArrays ───────────────────────── v1.7.1
   Installed SymbolicUtils ─────────────────────── v3.12.0
   Installed GR_jll ────────────────────────────── v0.73.17+0
   Installed SimplePolynomials ─────────────────── v0.2.18
   Installed SciMLJacobianOperators ────────────── v0.1.2
   Installed SparseDiffTools ───────────────────── v2.23.1
   Installed BaseDirs ──────────────────────────── v1.3.2
   Installed InlineStrings ─────────────────────── v1.4.4
   Installed Accessors ─────────────────────────── v0.1.42
   Installed ScopedValues ──────────────────────── v1.4.0
   Installed Multisets ─────────────────────────── v0.4.5
   Installed CodeTracking ──────────────────────── v2.0.0
   Installed ZygoteRules ───────────────────────── v0.2.7
   Installed SymbolicIndexingInterface ─────────── v0.3.43
   Installed ApproxFunFourier ──────────────────── v0.3.31
   Installed SparseArrayKit ────────────────────── v0.4.1
   Installed ChooseOptimizer ───────────────────── v0.3.2
   Installed FiniteDiff ────────────────────────── v2.28.1
   Installed ApproxFunBase ─────────────────────── v0.9.33
   Installed LLVM ──────────────────────────────── v9.4.2
   Installed MathOptInterface ──────────────────── v1.43.0
   Installed MLCore ────────────────────────────── v1.0.0
   Installed Tricks ────────────────────────────── v0.1.12
   Installed AtomsBase ─────────────────────────── v0.5.1
   Installed ADTypes ───────────────────────────── v1.17.0
   Installed BandedMatrices ────────────────────── v1.9.4
   Installed SciMLBase ─────────────────────────── v2.77.2
   Installed SimpleGraphs ──────────────────────── v0.8.7
   Installed ThreadingUtilities ────────────────── v0.5.5
   Installed Random123 ─────────────────────────── v1.7.1
   Installed LowRankMatrices ───────────────────── v1.0.2
   Installed Zygote ────────────────────────────── v0.6.77
   Installed DiffEqNoiseProcess ────────────────── v5.24.1
   Installed IJulia ────────────────────────────── v1.30.0
   Installed NLSolversBase ─────────────────────── v7.10.0
   Installed LinearOperators ───────────────────── v2.11.0
   Installed BangBang ──────────────────────────── v0.4.4
   Installed OrdinaryDiffEqExplicitRK ──────────── v1.2.0
   Installed ArrayLayouts ──────────────────────── v1.11.2
   Installed JSON3 ─────────────────────────────── v1.14.3
   Installed OrdinaryDiffEqFunctionMap ─────────── v1.3.0
   Installed libzip_jll ────────────────────────── v1.11.3+0
   Installed GenericSchur ──────────────────────── v0.5.5
   Installed OrdinaryDiffEqLowOrderRK ──────────── v1.4.0
   Installed SimplePartitions ──────────────────── v0.3.3
   Installed GPUArraysCore ─────────────────────── v0.2.0
   Installed OpenMPI_jll ───────────────────────── v5.0.8+0
   Installed OrdinaryDiffEqLowStorageRK ────────── v1.4.0
   Installed LittleCMS_jll ─────────────────────── v2.17.0+0
   Installed DelayDiffEq ───────────────────────── v5.52.0
   Installed Dictionaries ──────────────────────── v0.4.5
   Installed OrdinaryDiffEqBDF ─────────────────── v1.3.0
   Installed Jieko ─────────────────────────────── v0.2.1
   Installed VideoIO ───────────────────────────── v1.2.0
   Installed Gurobi ────────────────────────────── v1.7.5
   Installed Moshi ─────────────────────────────── v0.3.7
   Installed JLLWrappers ───────────────────────── v1.7.1
   Installed OrdinaryDiffEqSymplecticRK ────────── v1.5.0
   Installed WeakValueDicts ────────────────────── v0.1.0
   Installed OrdinaryDiffEqRKN ─────────────────── v1.3.0
   Installed Sparspak ──────────────────────────── v0.3.12
   Installed OrdinaryDiffEqStabilizedRK ────────── v1.3.0
   Installed CoordRefSystems ───────────────────── v0.15.8
   Installed Qt6Wayland_jll ────────────────────── v6.8.2+1
   Installed Compiler ──────────────────────────── v0.1.1
   Installed ImageMagick ───────────────────────── v1.4.2
   Installed DomainSets ────────────────────────── v0.7.16
   Installed Permutations ──────────────────────── v0.4.23
   Installed Bijections ────────────────────────── v0.1.10
   Installed Pluto ─────────────────────────────── v0.19.47
   Installed PkgTemplates ──────────────────────── v0.7.56
   Installed OrdinaryDiffEqSSPRK ───────────────── v1.4.0
   Installed Malt ──────────────────────────────── v1.2.0
   Installed libsodium_jll ─────────────────────── v1.0.21+0
   Installed Xorg_xcb_util_jll ─────────────────── v0.4.1+0
   Installed RecursiveArrayTools ───────────────── v3.36.0
   Installed Chemfiles ─────────────────────────── v0.10.43
   Installed DiffEqBase ────────────────────────── v6.174.0
   Installed OrdinaryDiffEqFIRK ────────────────── v1.9.0
   Installed ProgressLogging ───────────────────── v0.1.5
   Installed SparseMatrixColorings ─────────────── v0.4.21
   Installed ZeroMQ_jll ────────────────────────── v4.3.6+0
   Installed Lz4_jll ───────────────────────────── v1.10.1+0
   Installed BlockBandedMatrices ───────────────── v0.13.4
   Installed PackageCompiler ───────────────────── v2.2.2
   Installed MPICH_jll ─────────────────────────── v4.3.1+0
   Installed ImageMagick_jll ───────────────────── v7.1.2002+0
   Installed ImageTransformations ──────────────── v0.10.2
   Installed StochasticDiffEq ──────────────────── v6.79.0
   Installed ChainRules ────────────────────────── v1.72.5
   Installed Mustache ──────────────────────────── v1.0.21
   Installed JumpProcesses ─────────────────────── v9.14.3
   Installed ZMQ ───────────────────────────────── v1.4.1
   Installed Xorg_xcb_util_cursor_jll ──────────── v0.1.5+0
   Installed NonlinearSolveBase ────────────────── v1.5.2
   Installed OrdinaryDiffEqExponentialRK ───────── v1.6.0
   Installed JuliaInterpreter ──────────────────── v0.10.5
   Installed libinput_jll ──────────────────────── v1.28.1+0
   Installed EnzymeCore ────────────────────────── v0.8.12
   Installed OrdinaryDiffEqStabilizedIRK ───────── v1.4.0
   Installed TimeZones ─────────────────────────── v1.22.0
   Installed ImageFiltering ────────────────────── v0.7.12
   Installed TensorOperations ──────────────────── v5.3.0
   Installed ReinforcementLearningCore ─────────── v0.15.5
   Installed NDTensors ─────────────────────────── v0.3.72
   Installed DifferentiationInterface ──────────── v0.6.54
   Installed Primes ────────────────────────────── v0.5.7
   Installed TZJData ───────────────────────────── v1.5.0+2025b
   Installed Qt6Base_jll ───────────────────────── v6.8.2+1
   Installed GLFW ──────────────────────────────── v3.4.5
   Installed OpenJpeg_jll ──────────────────────── v2.5.4+0
   Installed ExpressionExplorer ────────────────── v1.1.3
   Installed SortingAlgorithms ─────────────────── v1.2.2
   Installed Gurobi_jll ────────────────────────── v12.0.2
   Installed ReinforcementLearningTrajectories ─── v0.4.2
   Installed OrdinaryDiffEqDefault ─────────────── v1.5.0
    Updating `~/.julia/environments/v1.10/Project.toml`
⌃ [13f3f980] ↑ CairoMakie v0.12.13 ⇒ v0.12.14
  [189d1e5a] ~ DGFun v0.1.0 `../../../Dropbox/dev/DGFun.jl` ⇒ v1.0.0 `../../../Dropbox/dev/DGFun.jl`
⌃ [5789e2e9] ↑ FileIO v1.16.3 ⇒ v1.16.4
⌅ [e9467ef8] ↑ GLMakie v0.10.13 ⇒ v0.10.14
  [2f75e71a] ↑ GraphPlayground v0.1.2 ⇒ v0.1.3
  [2e9cd046] ↑ Gurobi v1.3.1 ⇒ v1.7.5
  [7073ff75] ↑ IJulia v1.25.0 ⇒ v1.30.0
  [b964fa9f] ↑ LaTeXStrings v1.3.1 ⇒ v1.4.0
  [4f449596] ↑ MatrixNetworks v1.0.3 ⇒ v1.0.4
  [14b8a8f1] ↑ PkgTemplates v0.7.52 ⇒ v0.7.56
  [91a5bcdd] ↑ Plots v1.40.7 ⇒ v1.40.19
⌃ [c3e4b0f8] ↑ Pluto v0.19.46 ⇒ v0.19.47
  [7f904dfe] ↑ PlutoUI v0.7.60 ⇒ v0.7.71
  [295af30f] ↑ Revise v3.6.0 ⇒ v3.9.0
  [28d57a85] ↑ Transducers v0.4.83 ⇒ v0.4.84
⌃ [d6d074c3] ↑ VideoIO v1.1.0 ⇒ v1.2.0
    Updating `~/.julia/environments/v1.10/Manifest.toml`
KeyError: key "SimpleGraphAlgorithms" not found

Stacktrace:
  [1] getindex
    @ ./dict.jl:498 [inlined]
  [2] status_ext_info(pkg::Pkg.Types.PackageSpec, env::Pkg.Types.EnvCache)
    @ Pkg.Operations /Applications/Julia-1.10.app/Contents/Resources/julia/share/julia/stdlib/v1.10/Pkg/src/Operations.jl:2213
  [3] print_status(env::Pkg.Types.EnvCache, old_env::Pkg.Types.EnvCache, registries::Vector{Pkg.Registry.RegistryInstance}, header::Symbol, uuids::Vector{Base.UUID}, names::Vector{String}; manifest::Bool, diff::Bool, ignore_indent::Bool, outdated::Bool, extensions::Bool, io::IJulia.IJuliaStdio{Base.PipeEndpoint}, mode::Pkg.Types.PackageMode, hidden_upgrades_info::Bool, show_usagetips::Bool)
    @ Pkg.Operations /Applications/Julia-1.10.app/Contents/Resources/julia/share/julia/stdlib/v1.10/Pkg/src/Operations.jl:2298
  [4] print_status
    @ /Applications/Julia-1.10.app/Contents/Resources/julia/share/julia/stdlib/v1.10/Pkg/src/Operations.jl:2240 [inlined]
  [5] status(env::Pkg.Types.EnvCache, registries::Vector{Pkg.Registry.RegistryInstance}, pkgs::Vector{Pkg.Types.PackageSpec}; header::Symbol, mode::Pkg.Types.PackageMode, git_diff::Bool, env_diff::Pkg.Types.EnvCache, ignore_indent::Bool, io::IJulia.IJuliaStdio{Base.PipeEndpoint}, outdated::Bool, extensions::Bool, hidden_upgrades_info::Bool, show_usagetips::Bool)
    @ Pkg.Operations /Applications/Julia-1.10.app/Contents/Resources/julia/share/julia/stdlib/v1.10/Pkg/src/Operations.jl:2474
  [6] status (repeats 2 times)
    @ /Applications/Julia-1.10.app/Contents/Resources/julia/share/julia/stdlib/v1.10/Pkg/src/Operations.jl:2442 [inlined]
  [7] #show_update#167
    @ /Applications/Julia-1.10.app/Contents/Resources/julia/share/julia/stdlib/v1.10/Pkg/src/Operations.jl:2438 [inlined]
  [8] add(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}, new_git::Set{Base.UUID}; preserve::Pkg.Types.PreserveLevel, platform::Base.BinaryPlatforms.Platform)
    @ Pkg.Operations /Applications/Julia-1.10.app/Contents/Resources/julia/share/julia/stdlib/v1.10/Pkg/src/Operations.jl:1397
  [9] add
    @ /Applications/Julia-1.10.app/Contents/Resources/julia/share/julia/stdlib/v1.10/Pkg/src/Operations.jl:1376 [inlined]
 [10] add(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}; preserve::Pkg.Types.PreserveLevel, platform::Base.BinaryPlatforms.Platform, kwargs::@Kwargs{io::IJulia.IJuliaStdio{Base.PipeEndpoint}})
    @ Pkg.API /Applications/Julia-1.10.app/Contents/Resources/julia/share/julia/stdlib/v1.10/Pkg/src/API.jl:278
 [11] add(pkgs::Vector{Pkg.Types.PackageSpec}; io::IJulia.IJuliaStdio{Base.PipeEndpoint}, kwargs::@Kwargs{})
    @ Pkg.API /Applications/Julia-1.10.app/Contents/Resources/julia/share/julia/stdlib/v1.10/Pkg/src/API.jl:159
 [12] add(pkgs::Vector{Pkg.Types.PackageSpec})
    @ Pkg.API /Applications/Julia-1.10.app/Contents/Resources/julia/share/julia/stdlib/v1.10/Pkg/src/API.jl:148
 [13] add
    @ /Applications/Julia-1.10.app/Contents/Resources/julia/share/julia/stdlib/v1.10/Pkg/src/API.jl:147 [inlined]
 [14] add(pkg::String)
    @ Pkg.API /Applications/Julia-1.10.app/Contents/Resources/julia/share/julia/stdlib/v1.10/Pkg/src/API.jl:146
 [15] top-level scope
    @ In[2]:3
In [3]:
## More advanced, you can have different environments for different projects
# each environment can have it's own version of each package in case
# there are version specific requirements. 
# This _isn't_ needed for this class.