Distribution Overview
NoETL CLI distribution is owned by the Rust CLI repository:
https://github.com/noetl/cli
The maintained command is the native Rust binary named noetl. Older Python
package installation paths for the CLI are retired and should not be used in
new documentation, automation, or onboarding instructions.
Official Channels
| Channel | Repository | Package | Install |
|---|---|---|---|
| Homebrew | noetl/homebrew-tap | noetl | brew tap noetl/tap && brew install noetl |
| APT | noetl/apt | noetl | sudo apt-get install noetl after adding the NoETL APT source |
| Crates.io | noetl/cli | noetl | cargo install --bins noetl |
| GitHub releases | noetl/cli | release tarballs | Download noetl-vX.Y.Z-<os>-<arch>.tar.gz |
Homebrew and APT are the preferred end-user channels because they install the released binary without requiring a Rust toolchain. Cargo and GitHub release tarballs are useful for development, CI, or platforms where a native package is not available.
Repository Responsibilities
noetl/cli: Rust source, crate publishing, release tarballs, and release coordination.noetl/homebrew-tap: Homebrew formula for thenoetlbinary.noetl/apt: Debian/Ubuntu package repository for thenoetlpackage.noetl/noetl: Python server/runtime library and container build inputs, not the CLI distribution owner.
Install Commands
macOS Or Linux With Homebrew
brew tap noetl/tap
brew install noetl
noetl --version
Ubuntu Or Debian
echo 'deb [trusted=yes] https://noetl.github.io/apt jammy main' | sudo tee /etc/apt/sources.list.d/noetl.list
sudo apt-get update
sudo apt-get install noetl
noetl --version
Cargo
cargo install --bins noetl
noetl --version
GitHub Release Tarball
VERSION=2.13.0
curl -L -o /tmp/noetl.tgz "https://github.com/noetl/cli/releases/download/v${VERSION}/noetl-v${VERSION}-linux-x86_64.tar.gz"
tar -xzf /tmp/noetl.tgz -C /tmp
sudo install -m 0755 /tmp/noetl /usr/local/bin/noetl
sudo install -m 0755 /tmp/ntl /usr/local/bin/ntl
noetl --version
Release Workflow
The CLI release flow starts in noetl/cli:
- Update the Rust crate version.
- Tag the CLI repo with
vX.Y.Z. - Publish the Rust crate and GitHub release assets.
- Update
noetl/homebrew-tap. - Update
noetl/apt. - Verify
noetl --versionthrough each channel.
Python package releases for the NoETL runtime are separate from CLI releases. Do not document Python packaging as a NoETL CLI distribution channel.