In this section

The lungo command generates packages for Go, Python, Swift, TypeScript and C from a Lean project (see the lungo command). Rust projects do not need it: they use the lungo and lungo-build crates (see your first Rust crate).

lungo is one executable, and the same release is available four ways. Whichever you use, check that it runs:

lungo --version

Homebrew (macOS and Linux)

brew install machinefabric/tap/lungo

apt (Debian, Ubuntu)

Packages are published for amd64 and arm64, in the MachineFabric package repository. Adding it once serves every MachineFabric package: skip to the last line if you have already added it for another one.

curl -fsSL https://release.machinefabric.com/packages/keys/repo-signing-prod.asc \
  | sudo gpg --dearmor -o /usr/share/keyrings/machinefabric.gpg
echo "deb [signed-by=/usr/share/keyrings/machinefabric.gpg] https://release.machinefabric.com/packages/apt stable main" \
  | sudo tee /etc/apt/sources.list.d/machinefabric.list
sudo apt update && sudo apt install lungo

dnf (Fedora, RHEL)

Packages are published for x86_64 and aarch64, in the same repository: add it once for every MachineFabric package.

sudo tee /etc/yum.repos.d/machinefabric.repo >/dev/null <<'EOF'
[machinefabric]
name=MachineFabric
baseurl=https://release.machinefabric.com/packages/rpm/$basearch
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://release.machinefabric.com/packages/keys/repo-signing-prod.asc
EOF
sudo dnf install lungo

Cargo

cargo install lungo-cli

This builds the same release from crates.io. It needs Rust 1.89 or later.

Direct download

Every release is an archive per platform, listed with its SHA-256 digest in the release manifest, https://release.machinefabric.com/lungo-cli/manifest. The archive is at

https://release.machinefabric.com/lungo-cli/release/<version>/lungo-<version>-<platform>.<ext>
Platform <platform> <ext>
macOS, Apple silicon darwin-arm64 tar.gz
macOS, Intel darwin-x86_64 tar.gz
Linux, x86-64 linux-x86_64 tar.gz
Linux, ARM64 linux-arm64 tar.gz
Windows, x86-64 windows-x86_64 zip

The release’s .deb and .rpm files, which the apt and dnf repositories serve, are listed in the same manifest for downloading and installing by hand.

On macOS and Linux, download the archive, check it against the manifest’s digest, unpack it and put the lungo file on your PATH:

version=1.78.3254        # the release's latest version is in the manifest
platform=linux-x86_64
curl -fLO "https://release.machinefabric.com/lungo-cli/release/$version/lungo-$version-$platform.tar.gz"
shasum -a 256 "lungo-$version-$platform.tar.gz"      # compare with the manifest's sha256
tar xzf "lungo-$version-$platform.tar.gz"
sudo install -m 755 lungo/lungo /usr/local/bin/lungo

On Windows, download lungo-<version>-windows-x86_64.zip, check it with Get-FileHash -Algorithm SHA256, unpack it, and add the unpacked lungo directory (it holds lungo.exe) to your PATH.

Update

Update lungo the way you installed it:

Installed with Update with
Homebrew brew upgrade machinefabric/tap/lungo
apt sudo apt update && sudo apt install --only-upgrade lungo
dnf sudo dnf upgrade lungo
Cargo cargo install lungo-cli
Direct download lungo self update (with sudo if you installed it with sudo)

lungo self update installs the latest release only when the release manifest’s signature chains to the keys built into the lungo you have: see updating.

Check what you installed

Every package is made from the release’s archive of the command, which the manifest lists with its SHA-256 digest (see trust and verification). lungo built from the lungo-rs source is a development build (see the runtime).

Next

Install elan, then follow a tutorial for the language you generate: see the documentation.