• Stars
    star
    44,029
  • Rank 272 (Top 0.01 %)
  • Language
    Julia
  • License
    MIT License
  • Created about 13 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

The Julia Programming Language
Documentation
Continuous integration
Code coverage Coverage Status

The Julia Language

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.

Resources

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 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.9.0

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.

Uninstalling Julia

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.

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/ 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

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.

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.

More Repositories

1

IJulia.jl

Julia kernel for Jupyter
Julia
2,718
star
2

PackageCompiler.jl

Compile your Julia Package
Julia
1,373
star
3

juliaup

Julia installer and version multiplexer
Rust
887
star
4

Pkg.jl

Pkg - Package manager for the Julia programming language
Julia
587
star
5

www.julialang.org

Julia Project website
Julia
342
star
6

JuliaSyntax.jl

The Julia compiler frontend
Julia
263
star
7

METADATA.jl

Metadata for registered Julia packages up to Julia v0.6. No longer maintained. Please see https://github.com/JuliaRegistries/General instead.
Julia
219
star
8

PrecompileTools.jl

Reduce time-to-first-execution of Julia code
Julia
190
star
9

AllocCheck.jl

AllocCheck
Julia
186
star
10

www_old.julialang.org

Julia Project web site (Old)
Jupyter Notebook
149
star
11

Compat.jl

Compatibility across Julia versions
Julia
137
star
12

Example.jl

Example Julia package repo.
Julia
123
star
13

julia-logo-graphics

official versions of the Julia logo
Julia
108
star
14

Tokenize.jl

Tokenization for Julia source code
Julia
99
star
15

Downloads.jl

Julia
90
star
16

JuliaParser.jl

A rewrite of Julia's parser in Julia
Julia
89
star
17

PackageCompilerX.jl

Julia
85
star
18

Microbenchmarks

Microbenchmarks comparing the Julia Programming language with other languages
Jupyter Notebook
83
star
19

PkgDev.jl

Tools for Julia package developers
Julia
70
star
20

Juleps

Julia Enhancement Proposals
67
star
21

FancyDiagnostics.jl

Better parser errors for Julia
Julia
44
star
22

MbedTLS.jl

Wrapper around mbedtls
Julia
41
star
23

TOML.jl

A fast TOML parser for TOML 1.0 written in Julia
Julia
33
star
24

JuliaDoc

Python
28
star
25

docs.julialang.org

Repository for hosting the manual for the Julia language
Julia
25
star
26

SoftGlobalScope.jl

utilities for "soft" global scope in interactive Julia environments
Julia
24
star
27

LinearAlgebra.jl

Julia
21
star
28

Distributed.jl

Create and control multiple Julia processes remotely for distributed computing. Ships as a Julia stdlib.
Julia
18
star
29

BugReporting.jl

Streamlines bug reporting for julia
Julia
17
star
30

devcontainer-features

Julia Development Container Feature
Shell
16
star
31

NetworkOptions.jl

Julia
12
star
32

libosxunwind

Clone of Apple's libunwind, enhanced for the Julia Profiler
C++
11
star
33

BumpStdlibs.jl

Update the hashes and checksums of all Julia stdlibs in just four clicks.
Julia
11
star
34

JuliaSyntaxHighlighting.jl

Julia
9
star
35

StyledStrings.jl

Julia
8
star
36

mintty-julia

5
star
37

Public.jl

Julia
5
star
38

.github

Repository for default community health files
4
star
39

IJuliaCore.jl

Julia
4
star
40

devcontainer-templates

Julia Development Container Template
Shell
4
star
41

pull-request-state-machine

Python
3
star
42

VersionsJSONUtil.jl

Julia
3
star
43

buildkite-rerun-failed

Julia
2
star
44

Test.jl

Julia
1
star