Julia
- Gens Julia, my Julia resource list adapted from
Julia.jl
. - Julia Package Setup Tutorial
- Julia packages (JuliaHub)
- Julia discourse forum
- Julia forem : Dev.to interface
- Solving PDEs in parallel on GPUs with Julia : a Julia course
- Parallel Computing and Scientific Machine Learning (SciML): Methods and Applications
- Modern Julia Workflows
My Julia stack¶
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.
- JuliaDocs/Documenter.jl : generating package documentation.
- wookay/Jive.jl : unit testing in parallel.
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")
.
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¶
Modeling and simulation¶
- SciML/DifferentialEquations.jl : solving differential equations.
- SciML/ModelingToolkit.jl : a symbolic-numeric modeling framework based on JuliaSymbolics/Symbolics.jl, a computer algebra system (CAS) for symbolic calculations.
- SciML/Catalyst.jl : a domain-specific language (DSL) for chemical reaction networks based on SciML/ModelingToolkit.jl.
- JuliaDynamics/Agents.jl : agent-based modeling (ABM).
Universal differential equations (UDEs)¶
- SciML/DiffEqFlux.jl : solving differential equations with neural networks.
- SciML/NeuralPDE.jl : Physics-Informed Neural Networks (PINNs).
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.
Arrays¶
- JuliaArrays/LazyGrids.jl : multi-dimensional grids.
- SciML/LabelledArrays.jl : a label for each element in a array.
- jonniedie/ComponentArrays.jl : arrays with arbitrarily nested named components.
Visualization¶
- JuliaPlots/Plots.jl : a unified interface for various visualization libraries.
- JuliaPy/PyPlot.jl :
matplotlib.pyplot
in Julia. - stevengj/PythonPlot.jl :
matplotlib.pyplot
in Julia, using cjdoris/PythonCall.jl for python libraries. - MakieOrg/Makie.jl : native Julia visualizations with GPU acceleration and an interactive interface.
Concurrency¶
- JuliaFolds/Folds.jl : a unified interface for sequential, threaded, and distributed fold.
- tkf/ThreadsX.jl : multithreaded base functions.