Documentation | |
Continuous integration | |
Code coverage |
Julia is a high-level, high-performance dynamic language for technical computing. The main homepage for Julia can be found at julialang.org. This is the GitHub repository of Julia source code, including instructions for compiling and installing Julia, below.
- Homepage: https://julialang.org
- Binaries: https://julialang.org/downloads/
- Source code: https://github.com/JuliaLang/julia
- Documentation: https://docs.julialang.org
- Packages: https://julialang.org/packages/
- Discussion forum: https://discourse.julialang.org
- Slack: https://julialang.slack.com (get an invite from https://julialang.org/slack/)
- YouTube: https://www.youtube.com/user/JuliaLanguage
- Code coverage: https://coveralls.io/r/JuliaLang/julia
New developers may find the notes in CONTRIBUTING helpful to start contributing to the Julia codebase.
If you would rather not compile the latest Julia from source, platform-specific tarballs with pre-compiled binaries are also available for download. The downloads page also provides details on the different tiers of support for OS and platform combinations.
If everything works correctly, you will see a Julia banner and an interactive prompt into which you can enter expressions for evaluation. You can read about getting started in the manual.
Note: Although some system package managers provide Julia, such installations are neither maintained nor endorsed by the Julia project. They may be outdated, broken and/or unmaintained. We recommend you use the official Julia binaries instead.
First, make sure you have all the required dependencies installed. Then, acquire the source code by cloning the git repository:
git clone https://github.com/JuliaLang/julia.git
and then use the command prompt to change into the resulting julia directory. By default you will be building the latest unstable version of Julia. However, most users should use the most recent stable version of Julia. You can get this version by running:
git checkout v1.8.3
To build the julia
executable, run make
from within the julia directory.
Building Julia requires 2GiB of disk space and approximately 4GiB of virtual memory.
Note: The build process will fail badly if any of the build directory's parent directories have spaces or other shell meta-characters such as $
or :
in their names (this is due to a limitation in GNU make).
Once it is built, you can run the julia
executable. From within the julia directory, run
./julia
Your first test of Julia determines whether your build is working
properly. From the julia
directory, type make testall
. You should see output that
lists a series of running tests; if they complete without error, you
should be in good shape to start using Julia.
You can read about getting started in the manual.
Detailed build instructions, should they be necessary, are included in the build documentation.
By default, Julia does not install anything outside the directory it was cloned
into and ~/.julia
. Julia and the vast majority of Julia packages can be
completely uninstalled by deleting these two directories.
The Julia source code is organized as follows:
Directory | Contents |
---|---|
base/ |
source code for the Base module (part of Julia's standard library) |
stdlib/ |
source code for other standard library packages |
cli/ |
source for the command line interface/REPL |
contrib/ |
miscellaneous scripts |
deps/ |
external dependencies |
doc/src/ |
source for the user manual |
src/ |
source for Julia language core |
test/ |
test suites |
usr/ |
binaries and shared libraries loaded by Julia's standard libraries |
The Julia REPL is quite powerful. See the section in the manual on the Julia REPL for more details.
On Windows we highly recommend running Julia in a modern terminal, such as Windows Terminal from the Microsoft Store.
Support for editing Julia is available for many widely used editors: Emacs, Vim, Sublime Text, and many others.
For users who prefer IDEs, we recommend using VS Code with the julia-vscode plugin. For notebook users, Jupyter notebook support is available through the IJulia package, and the Pluto.jl package provides Pluto notebooks.