Note: this is a fork whose Project.toml is modified to target package specifically for nonlinear and complex systems modelling, analysis, and timeseries analysis. The rest of the README remains identical to the original one.
Jumbo is a Julia distribution that comes with commonly needed scientific packages out of the box. Start using Makie, DifferentialEquations, or any included package immediately - no compilation wait. Additional packages can be installed via Pkg without triggering recompilation of pre-installed packages.
This repository also serves as a template for creating custom Julia distributions tailored to your needs. Fork it, modify the Project.toml to include your preferred packages, and run the "Build Release Assets" GitHub Actions workflow to generate installers for Linux, macOS, and Windows. The distribution format uses a Project.toml with name and version fields - bundling all listed packages and dependencies into the stdlib path to prevent accidental recompilations.
To install Jumbo, download the appropriate pre-built distribution (MSIX, Snap, or DMG) from the Assets section on the releases page (you may need to expand the Assets dropdown for prerelease versions), then follow the installation instructions below for your platform:
- MSIX (Windows): If self-signed, go to MSIX bundle properties and add the certificate to the trusted certificate authorities first (see https://www.advancedinstaller.com/install-test-certificate-from-msix.html). Then double-click on the installer and install the app.
- Snap (Linux): The snap can be installed from a command line:
snap install --classic --dangerous MyApp.snap - DMG (macOS): If self-signed, you need to click on the app first, then go to
Settings -> Privacy & Security, whitelisting the launch request. Then drag and drop the application to theApplicationsfolder. Launch the application and go again toSettings -> Privacy & Securityto whitelist it.
Note that all these extra steps are avoidable with investment in Windows and macOS code signing certificates. For Snap, one can try to submit the app to a snap store so it can be installed with a GUI.
To run the build, install Julia 1.11 or later and execute the following commands:
julia --project=meta
]instantiateOnce dependencies are installed, perform the build:
julia --project=meta -m AppBundler build . --build-dir=build --selfsignThis creates build artifacts in the build directory. By default, the bundle targets the host platform.
Builds can also be performed with GitLab via Build → Pipelines, where they can be started manually or are initiated when tagging a new release. Note that artifact upload to releases has not yet been tested.
You can create bundles for other platforms using command options:
julia --project=meta -m AppBundler build . --build-dir=build --target-arch=aarch64 --target-bundle=dmg -Djuliaimg_precompile=false --selfsignThis creates a bundle for the specified platform where precompilation will occur on the user's system at first launch.