Juliacon 2024

Julia in Air Gapped Environments
2024-07-11 , REPL (2, main stage)

Much of the tooling in Julia assumes the user has an internet connection. How should one build and deploy Julia programs when this is not the case? In this talk we'll discuss how to develop and deploy Julia applications in air-gapped environments, including methods for getting your Julia packages onto the air gapped computer, dealing with multiple users/projects, common pitfalls, and more.


In air-gapped environments, you may have no or little control over important factors such as:

  • The version of Julia installed.
  • The available binary executables.
  • The platform (e.g. Linux vs. Windows).

However, a common restriction is that text files (e.g. Julia code) are easier to move onto the air gapped computer than binaries. This makes Julia a great candidate for applications since many packages are 100% Julia. In this talk we'll discuss what options are available to you under different restrictions, including:

  1. How to set up the air gapped environment for a single user.
  2. How to set up the air gapped environment for multiple users.
  3. How to build artifacts for the air gapped machine (even if the platform is different than your host machine).
  4. What to do when including Pkg's artifacts isn't an option for you.

While we can't possibly address every security restriction of every air gapped environment, we'll make the bare minimum assumptions that 1) you are able to move directories of text files into the air gap, and 2) Julia is installed.

See also: Presentation (493.3 KB)

Avik leads software engineering at JuliaHub, is a contributor to open source Julia and maintainer of several Julia packages. Avik is the author of Julia High Performance, co-founder of two artificial intelligence start-ups in the financial services sector and creator of large complex trading systems for the world's leading investment banks.

This speaker also appears in:

Josh is a PhD statistician with a passion for technical and scientific programming. His niche is solving math problems on a whiteboard and converting the solution into efficient programs. He maintains a large number of open source Julia packages (notably OnlineStats.jl) as well as the Julia For Data Science blog. Josh has given many Julia talks at many conferences over the years and is a strong advocate for the language.