My Julia stack¶
- Gens Julia, my Julia resource list adapted from
Julia.jl
. - Julia Package Setup Tutorial
- Julia packages (JuliaHub)
- Julia discourse forum
- Solving PDEs in parallel on GPUs with Julia : a Julia course
- Parallel Computing and Scientific Machine Learning (SciML): Methods and Applications
- Modern Julia Workflows
Julia repos¶
- Agent-based modeling
- DataFrames tutorials
- Plotting tutorials
- Differential equations
- Partial differential equations (PDEs)
- Universal differential equations (UDEs)
Package development¶
- invenia/PkgTemplates.jl : templates to create new Julia packages.
- timholy/Revise.jl : reducing the need to restart when you make changes to code.
- Roger-luo/FromFile.jl : including other files without duplication.
- JuliaTesting/TestEnv.jl : Activate your test environment, so you can use your test dependencies locally.
Publishing code examples¶
- fredrikekre/Literate.jl : converting literated
jl
files to Markdown (md
) or Jupyter notebooks (ipynb
). - stevengj/NBInclude.jl : converting Jupyter notebooks (
ipynb
) to literatedjl
files by usingnbexport("myfile.jl", "myfile.ipynb")
. - PumasAI/QuartoNotebookRunner.jl : run Quarto notebooks containing Julia code and save the results to Jupyter notebooks.
- JuliaDocs/Documenter.jl : generating package documentation.
Optimization¶
- baggepinnen/Hyperopt.jl : Hyperparameter optimization for every cost function with multiprocessing and multithreading support.
- SciML/Optimization.jl : A unified interface for various optimizers.
OptimizationBBO
for black-box optimization from robertfeldt/BlackBoxOptim.jlOptimizationEvolutionary
for genetic algorithm from wildart/Evolutionary.jlOptimizationOptimJL
for optimization methods from JuliaNLSolvers/Optim.jlOptimizationMOI
for optimization methods from jump-dev/MathOptInterface.jl- etc.
Curve fitting and parameter estimation¶
- JuliaNLSolvers/LsqFit.jl
- SciML/DiffEqParamEstim.jl : small parameter estimation problems.
- sebapersson/PEtab.jl : create parameter estimation problems for ODE models. Might replace
DiffEqParamEstim.jl
. - SciML/SciMLSensitivity.jl : big parameter estimation problems.
Modeling and simulation¶
- SciML/DifferentialEquations.jl : solving differential equations.
- SciML/ModelingToolkit.jl : a symbolic modeling framework.
- JuliaSymbolics/Symbolics.jl : a computer algebra system (CAS) for symbolic calculations.
- SciML/Catalyst.jl : a domain-specific language (DSL) for chemical reaction networks.
- JuliaDynamics/Agents.jl : agent-based modeling (ABM).
Partial differential equations (PDEs)¶
- SciML/MethodOfLines.jl : finite difference method (FDM).
- Ferrite-FEM/Ferrite.jl : finite element method (FEM).
- gridap/Gridap.jl : grid-based approximation of PDEs with an expressive API.
- trixi-framework/Trixi.jl : hyperbolic PDE solver.
- j-fu/VoronoiFVM.jl : finite volume method (FVM).
Model analysis¶
- bifurcationkit/BifurcationKit.jl : bifurcation analysis.
Probability and Statistics¶
- JuliaStats/StatsBase.jl : statistics-related functions.
- JuliaStats/GLM.jl : Generalized linear models (GLMs).
Handy tools¶
- JuliaMath/Interpolations.jl : continuous interpolation of discrete datasets.
- SciML/DataInterpolations.jl : A library of data interpolation and smoothing functions.
- korsbo/Latexify.jl : convert julia objects to LaTeX equations.
- devmotion/SimpleUnPack.jl : Lightweight Julia macro
@unpack a,b = obj
for destructuring properties and fields.
Arrays¶
- JuliaArrays/LazyGrids.jl : multi-dimensional grids.
- jonniedie/ComponentArrays.jl : arrays with arbitrarily nested named components.
Concurrency¶
Julia docs: Parallel Computing
- JuliaFolds2/Folds.jl : a unified interface for sequential, threaded, and distributed fold.
- JuliaFolds2/OhMyThreads.jl : Simple multithreading in Julia.