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 the official Julia extension, which provides a full IDE experience including LSP, REPL integration, debugging, profiling, plotting, etc. It can be combined with an Emacs keymap or Vim extension, or with vscode-neovim for full embedded Neovim instance. JetBrains — supports Julia through the Flexible Julia plugin for JetBrains IDEs Emacs — supports Julia through major modes and related packages, such as julia-mode, julia-repl, and Eglot configured for Julia's LanguageServer.jl Neovim — supports Julia development through plugins and language-server integration. Vim — supports Julia editing through syntax highlighting, plugins, and language-server integration. Neovim generally offers a richer and more modern extensibility/integration environment. Zed — has a JuliaEditorSupport extension providing language-server support, REPL/tasks, and a plot pane. Sublime Text — supports Julia through syntax highlighting and Julia-related packages Atom — formerly supported for Julia development through Juno Juno — a Julia-focused IDE built on Atom JuliaPro (discontinued) — a former Julia distribution 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 PythonCall.jl — interoperability package for Python and Julia PyCall.jl — interface for calling Python from Julia (older than the modern PythonCall.jl) JuliaLibWrapping.jl — a tool for turning Julia packages into shared libraries with C and Python interfaces (or more "R and Matlab are likely to follow soon") Builds on JuliaC.jl, to compile to small binaries. 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 Julia (programming language) List of numerical-analysis software List of data science software Lists of programming software development tools

References