You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
kimikage a4cd68cceb
Fix performance regression in broadcasting with CartesianIndices (#39333)
7 hours ago
.devcontainer Add VS Code devcontainer definition (#34957) 10 months ago
.github Set the `@JuliaLang/github-actions` team as the code owners for GitHub Actions workflow files (#38783) 1 month ago
base Fix performance regression in broadcasting with CartesianIndices (#39333) 7 hours ago
cli [cli/loader]: Don't allow initialization to run more than once 3 weeks ago
contrib [Make] remove BINARYBUILDER_LLVM_ASSERTS and use LLVM_ASSERTIONS instead 2 days ago
deps bump Pkg to fe759b2449b3ace291b6a5e43bd7ecff1767ff91 (#39288) 1 day ago
doc `include` only works on global scope (#39317) 1 day ago
etc fix write_base_cache to be consistend with the reader byte order (#26569) 2 years ago
src OpaqueClosure - Runtime & Codegen only (#39023) 15 hours ago
stdlib OpaqueClosure - Runtime & Codegen only (#39023) 15 hours ago
test Merge pull request #39336 from JuliaLang/jb/finalizerenabletest 12 hours ago
.clang-format Add .clang-format file for Julia's C syntax. [ci skip] 8 months ago
.gitattributes Disable all git EOL conversions (#32781) 1 year ago
.gitignore Fake JLLs for all packages (#38347) 1 month ago
.mailmap Update mailmap 1 year ago
CITATION.bib CITATION: http:// -> https:// (#36813) 5 months ago Remove outdated references to Travis (#39011) 3 weeks ago Set VERSION to 1.7.0-DEV, move 1.6 NEWS to HISTORY (#38076) 1 month ago LICENSE: copyright end date 2019 -> 2021 (#39084) 2 weeks ago [Make] remove BINARYBUILDER_LLVM_ASSERTS and use LLVM_ASSERTIONS instead 2 days ago
Makefile allow running doctests with Revise (#38258) 1 week ago add compat notice and NEWS 1 week ago update latest release in README (#39197) 1 week ago
VERSION Set VERSION to 1.7.0-DEV, move 1.6 NEWS to HISTORY (#38076) 1 month ago [loader]: Re-export symbols for C embedding, rename to `libjulia-internal` (#38160) 1 month ago

Code coverage: coveralls codecov

Documentation: version 1

The Julia Language

Julia is a high-level, high-performance dynamic language for technical computing. The main homepage for Julia can be found at This is the GitHub repository of Julia source code, including instructions for compiling and installing Julia, below.


New developers may find the notes in CONTRIBUTING helpful to start contributing to the Julia codebase.

External Resources

Binary Installation

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.

Building Julia

First, make sure you have all the required dependencies installed. Then, acquire the source code by cloning the git repository:

git clone git://

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 changing to the Julia directory and running:

git checkout v1.5.3

Now run make to build the julia executable.

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 after you enter your julia directory and run


Your first test of Julia determines whether your build is working properly. From the UNIX/Windows command prompt inside the julia source 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.

In case this default build path did not work, detailed build instructions are included in the build documentation.

Uninstalling Julia

Julia does not install anything outside the directory it was cloned into. Julia can be completely uninstalled by deleting this directory. Julia packages are installed in ~/.julia by default, and can be uninstalled by deleting ~/.julia.

Source Code Organization

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/ editor support for Julia source, miscellaneous scripts
deps/ external dependencies
doc/src/manual/ source for the user manual
doc/build/ detailed notes for building Julia
src/ source for Julia language core
test/ test suites
usr/ binaries and shared libraries loaded by Julia's standard libraries

Terminal, Editors and IDEs

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.

Supported IDEs include: Juno (Atom plugin), julia-vscode (VS Code plugin), and julia-intellij (IntelliJ IDEA plugin). The popular Jupyter notebook interface is available through IJulia.