This is a list of Julia software and tools, including IDEs, notebook environments, package management tools, scientific and machine-learning libraries, debugging and performance tools, and related projects.

Integrated development environments and editors

  • Visual Studio Code — supports Julia through extensions
  • Emacs — supports Julia editing through major modes and related packages
  • Vim — supports Julia syntax highlighting and editing
  • Neovim — supports Julia development through plugins and language-server integration
  • Sublime Text — supports Julia syntax highlighting and packages
  • Atom — formerly used for Julia development through Juno
  • Juno — Julia-focused IDE built on Atom
  • JuliaPro — distribution of Julia bundled with development tools

Notebook environments

  • Jupyter — web-based notebook environment with Julia support
  • Pluto.jl — reactive notebook environment for Julia
  • Google Colab — cloud notebook platform with Julia support
  • Quarto — scientific and technical publishing system with Julia support

Package management and build tools

  • Pkg — built-in package manager for Julia
  • JuliaHub — platform for package, project, and cloud-based Julia workflows
  • PackageCompiler.jl — compiler tool for creating apps, libraries, and system images
  • StaticCompiler.jl — compiler for producing small standalone binaries from a static subset of Julia
  • PrecompileTools.jl — package precompilation tool
  • Revise.jl — updates method definitions in a running Julia session

Debugging and performance tools

  • Debugger.jl — source-level debugger for Julia
  • JuliaInterpreter.jl — interpreter used for debugging and code analysis
  • Profile — built-in profiling tool
  • BenchmarkTools.jl — benchmarking package for Julia
  • JET.jl — static analysis and code analysis tool
  • Cthulhu.jl — interactive tool for examining generated code and type inference

Testing and documentation tools

  • Test — built-in unit testing standard library
  • Documenter.jl — documentation generator for Julia packages
  • Literate.jl — tool for writing Julia code as literate programs
  • Aqua.jl — package quality-assurance tool for Julia projects

Scientific computing and mathematics

  • JuMP — algebraic modeling language for mathematical optimization
  • DifferentialEquations.jl — suite for differential equation solving
  • Symbolics.jl — symbolic computing library
  • ForwardDiff.jl — automatic differentiation package
  • Optim.jl — mathematical optimization package
  • Roots.jl — numerical root-finding package

Data science and visualization

  • DataFrames.jl — tabular data manipulation library
  • CSV.jl — package for reading and writing comma-separated values
  • Makie.jl — visualization library
  • Plots.jl — plotting front end for Julia
  • Gadfly.jl — plotting and data visualization package
  • AlgebraOfGraphics.jl — grammar-of-graphics-style visualization library

Machine learning and artificial intelligence

  • Flux.jl — machine-learning library
  • MLJ.jl — machine-learning framework
  • Knet.jl — deep-learning framework
  • Turing.jl — probabilistic programming library
  • BetaML.jl — machine-learning toolkit

Web and application development

  • Genie.jl — web framework for Julia
  • HTTP.jl — package for HTTP clients and servers
  • Oxygen.jl — web framework for building APIs and web applications
  • Dash.jl — Julia interface for Dash applications

Interoperability tools

  • PyCall.jl — interface for calling Python from Julia
  • PythonCall.jl — interoperability package for Python and Julia
  • RCall.jl — interface for calling R from Julia
  • JavaCall.jl — interface for calling Java
  • CxxWrap.jl — interoperability package for C++
  • MATLAB.jl — interface for MATLAB

See also