Skip to main content

Simple package manager to easily install, update and manage any tool directly from github or gitlab releases

Project description

icon
๐Ÿง Install Release

CLI to install any CLI

Python Version Downloads


Install Release gives you the ir command to install and keep single-binary CLI tools updated on Linux, macOS, and WSL. It works with GitHub/GitLab releases and supports mise/aqua registry entries and Docker images.

This can be any tool you want to install, which is pre-compiled for your device and present on a supported provider.

asciinema CLI demo

INFO: It's mainly for installing tools that are not directly available officially by package managers like apt, yum, pacman, brew etc.

How it works

Highlights

GitHub and GitLab releases

ir is mainly built for installing CLI tools straight from GitHub or GitLab releases. Give it a repo URL, and it finds the right release asset for your system.

# Install from GitHub
ir get https://github.com/denoland/deno

# Install from GitLab
ir get https://gitlab.com/gitlab-org/cli -n glab

Package mode (--pkg)

Some tools ship better as .deb, .rpm, or AppImage packages. Use --pkg when you want ir to install that package instead of picking a standalone binary.

# Install any package from GitHub releases
ir get https://github.com/redis/RedisInsight --pkg

Extra providers

  • mise/aqua: Install tools from registry metadata.
# Install from mise/aqua registry
ir get mise@terraform
  • Docker: Run container images like local CLIs.
# Install from Docker image (with custom name)
ir get docker@mcr.microsoft.com/azure-cli -n az

Table of Contents ๐Ÿ“š

Getting started

Installation

Option 1: Standalone binary (recommended)

Download the latest binary for your platform from GitHub Releases โ€” no Python required.

Requires libmagic as a runtime dependency.

# Linux x86_64
curl -Lo ~/bin/ir https://github.com/Rishang/install-release/releases/latest/download/install-release-linux-x86_64
chmod +x ~/bin/ir

# Bash
# echo 'export PATH="$HOME/bin:$PATH"' >> ~/.bashrc 

# Zsh
# echo 'export PATH="$HOME/bin:$PATH"' >> ~/.zshrc 

# Fish
# echo 'set -gx PATH $HOME/bin $PATH' >> ~/.config/fish/config.fish 

Option 2: pip install

Prerequisites:

pip install -U install-release

Set up the PATH for shell (e.g. ~/.bashrc or ~/.zshrc):

Tools installed via ir will be installed to ~/bin by default.

export PATH="$HOME/bin:$PATH" 

If you want to change the installation path, you can use the ir config --path <path> flag.


Manage your tools

Example: Installing deno (Rust-based JavaScript runtime) directly from its GitHub releases:

# Usage: ir get [GITHUB-URL or GITLAB-URL or mise@<TOOL> or docker@<IMAGE-URI>]

# GitHub URL
โฏ ir get https://github.com/denoland/deno

# mise registry
โฏ ir get mise@terraform

# Docker image with latest tag
โฏ ir get docker@hashicorp/terraform:latest

Verify the installation:

โฏ which deno
~/bin/deno

โฏ deno --version
deno 1.46.3 ...

Example: Installing GitLab CLI with a custom binary name glab:

โฏ ir get https://gitlab.com/gitlab-org/cli -n glab

Verify the installation:

โฏ which glab
~/bin/glab

โฏ glab --version
glab 1.80.0 ...

Once installed, you can manage your tools with these simple commands:

  • List: ir ls โ€” See all installed tools and versions.
  • Update: ir upgrade โ€” Upgrade all installed tools to their latest releases.
  • Remove: ir rm deno โ€” Remove a tool from your system.

For more details, check the Table of Contents.

Example usage ir --help ๐Ÿ’ก

# Help page

โฏ ir --help
Usage: ir [OPTIONS] COMMAND [ARGS]...

  GitHub / GitLab / Mise release installer based on your system (Linux/MacOS)

  Options:
    --install-completion   Install completion for the current shell.
    --show-completion      Show completion for the current shell, to copy it or customize the installation.
    --help                Show this message and exit.

  Commands:
    get      | Install CLI tool from GitHub/GitLab releases or mise registry
    upgrade  | Upgrade all installed CLI tools from their repositories
    ls       | List all installed CLI tools
    rm       | Remove any installed CLI tool
    config   | Set configs for Install-Release
    state    | Show the current stored state of Install-Release
    pull     | Install tools from the remote install-release state URL
    hold     | Keep an installed CLI tool's updates on hold.
    me       | Update the Install-Release tool.

For sub-command help use: ir <sub-command> --help

Example: ir get --help

Install completion for cli ๐ŸŽ 

# ir --install-completion [SHELL: bash|zsh|fish|powershell]
# Example for zsh:
ir --install-completion zsh

Install tool from GitHub/GitLab releases ๐ŸŒˆ

โฏ ir get "https://github.com/ahmetb/kubectx"

๐Ÿ“‘ Repo     : ahmetb/kubectx
๐ŸŒŸ Stars    : 13295
โœจ Language : Go
๐Ÿ”ฅ Title    : Faster way to switch between clusters and namespaces in kubectl

                    ๐Ÿ“ฆ Available Assets for kubectx
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“
โ”ƒ Asset ID โ”ƒ Filename                           โ”ƒ Size (MB) โ”ƒ Downloads โ”ƒ
โ”กโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ
โ”‚ 1        โ”‚ kubectx_v0.9.4_linux_x86_64.tar.gz โ”‚ 1.0       โ”‚ 43811     โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

                              ๐Ÿš€ Install: kubectx
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“
โ”ƒ Name    โ”ƒ Selected Item                      โ”ƒ Version โ”ƒ Size Mb โ”ƒ Downloads โ”ƒ
โ”กโ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ
โ”‚ kubectx โ”‚ kubectx_v0.9.4_linux_x86_64.tar.gz โ”‚ v0.9.4  โ”‚ 1.0     โ”‚ 43811     โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
Install selected tool? [Y/n/ Asset ID]: y
 INFO     Downloaded: 'kubectx_v0.9.4_linux_x86_64.tar.gz' at /tmp/dn_kubectx_ph6i7dmk                                                               utils.py:159
 INFO     install /tmp/dn_kubectx_ph6i7dmk/kubectx /home/noobi/bin/kubectx                                                                  core.py:132
 INFO     Installed: kubectx
# checking if kubectx is installed
โฏ which kubectx
/home/noobi/bin/kubectx

โฏ kubectx --version
0.9.4
Install as system package (deb/rpm/appimage) ๐Ÿ“ฆ

If the release asset files provide a package file for your system, you can install tools as a system package (deb/rpm/appimage) instead of a standalone binary by using the --pkg flag.

This is useful for tools that provide .deb, .rpm or appimage releases that might need other system package dependencies to work.

# Example installation of RedisInsight, a dashboard to manage Redis
โฏ ir get https://github.com/redis/RedisInsight --pkg

Install tool via mise registry ๐Ÿงฉ

Some tools (like Terraform, Packer, etc.) don't publish platform-specific binaries on GitHub releases โ€” they host their own download URLs instead. For these tools, ir can resolve the correct download URL via the mise / aqua registry using the mise@ prefix.

# Usage: ir get mise@<tool-name>
โฏ ir get mise@terraform

# Install a specific version (inline or via --tag)
โฏ ir get mise@terraform:v1.12.0
โฏ ir get mise@terraform -t v1.12.0
                     Install terraform (via mise/aqua)
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“
โ”ƒ Tool      โ”ƒ Version  โ”ƒ File                     โ”ƒ URL                              โ”ƒ
โ”กโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ
โ”‚ terraform โ”‚ v1.12.0  โ”‚ terraform_1.12.0_linu... โ”‚ https://releases.hashicorp.c...  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
Install selected tool? [Y/n]: y

Tools installed via mise@ are also tracked by ir ls and upgraded with ir upgrade just like GitHub/GitLab tools.

Note: The mise provider currently only supports tools with HTTP-based download URLs in the aqua registry. Tools that use github_release type assets should be installed directly via their GitHub URL (ir get <github-url>) instead.

Install Docker image as a CLI tool ๐Ÿณ

ir can wrap any Docker image as a local CLI tool using the docker@ prefix. It pulls the image, detects its entrypoint, and writes an executable wrapper script to ~/bin/<toolname> that proxies all invocations through docker run.

# Usage: ir get docker@<image>[:<tag>]
โฏ ir get docker@hashicorp/terraform

# Install a specific tag (inline or via --tag)
โฏ ir get docker@hashicorp/terraform:1.7.0
โฏ ir get docker@hashicorp/terraform -t 1.7.0

# Custom tool name
โฏ ir get docker@mcr.microsoft.com/azure-cli -n az
         Install terraform (via Docker)
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”“
โ”ƒ Tool      โ”ƒ Image                 โ”ƒ Tag    โ”ƒ
โ”กโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ
โ”‚ terraform โ”‚ hashicorp/terraform   โ”‚ latest โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
Install selected tool? [Y/n]: y
  • Latest tags (latest) are checked for updates via digest comparison during ir upgrade โ€” only re-pulled when the remote image has changed.
  • Pinned tags (e.g. 1.7.0) are held from auto-upgrade; use ir upgrade --force to re-pull.
  • The wrapper mounts the current directory into the container at /tmp/cmd, so the tool sees your local files.

Install specific release asset from GitHub/GitLab releases ๐Ÿ”ฆ

In rare cases where install-release does not automatically find the correct release file for your system, you can manually specify the release file name. There are two ways to do this:

Method 1: Interactive Selection (Recommended)

During the installation prompt, review the available release assets and type the asset ID you want to install:

โฏ ir get https://github.com/ekzhang/bore

๐Ÿ“‘ Repo     : ekzhang/bore
๐ŸŒŸ Stars    : 8234
โœจ Language : Rust
๐Ÿ”ฅ Title    : A simple CLI tool for making tunnels to localhost

                    ๐Ÿ“ฆ Available Assets for bore
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“
โ”ƒ Asset ID โ”ƒ Filename                                        โ”ƒ Size (MB) โ”ƒ Downloads โ”ƒ
โ”กโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ
โ”‚ 1        โ”‚ bore-v0.4.0-x86_64-unknown-linux-musl.tar.gz    โ”‚ 1.2       โ”‚ 1523      โ”‚
โ”‚ 2        โ”‚ bore-v0.4.0-x86_64-unknown-linux-gnu.rpm        โ”‚ 1.3       โ”‚ 845       โ”‚
โ”‚ 3        โ”‚ bore-v0.4.0-aarch64-unknown-linux-musl.deb      โ”‚ 1.1       โ”‚ 234       โ”‚
โ”‚ 4        โ”‚ bore-v0.4.0-x86_64-apple-darwin.dmg             โ”‚ 1.2       โ”‚ 456       โ”‚
โ”‚ 5        โ”‚ bore-v0.4.0-x86_64-apple-darwin.tar.gz          โ”‚ 1.2       โ”‚ 1523      โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

                              ๐Ÿš€ Install: bore
โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“
โ”ƒ Name โ”ƒ Selected Item                            โ”ƒ Version โ”ƒ Size Mb โ”ƒ Downloads โ”ƒ
โ”กโ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ
โ”‚ bore โ”‚ bore-v0.4.0-x86_64-unknown-linux-musl... โ”‚ v0.4.0  โ”‚ 1.2     โ”‚ 1523      โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Path: /home/noobi/bin
Install selected tool? [Y/n/ Asset ID]: 3

The tool will automatically parse the selected filename into keywords and store them for future upgrades.

Method 2: Command-line Flag

You can also specify the release file name directly using the -f / --file flag:

โฏ ir get [GITHUB-URL or GITLAB-URL] -f [release asset filename]

Example: Installing the bore tool from GitHub with the release file name bore-v0.4.0-arm-unknown-linux-musleabi.tar.gz. Here, the keywords generated are: bore, v0.4.0, arm, linux, musleabi

โฏ ir get https://github.com/ekzhang/bore -f bore-v0.4.0-arm-unknown-linux-musleabi.tar.gz

How it works:

  • The tool parses the release file name into keywords (removing version numbers and file extensions)
  • These keywords are stored in the state file to match the correct release file during future tool upgrades
  • This ensures consistent upgrades to the same release variant

Note: If install-release fails to identify the correct release package for your system, please raise a GitHub issue to help improve the tool.

List installed tools ๐Ÿ“‹

โฏ ir ls

                       Installed tools
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“
โ”ƒ Name      โ”ƒ Version โ”ƒ Url                                  โ”ƒ
โ”กโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ
โ”‚ terrascan โ”‚ v1.15.2 โ”‚ https://github.com/tenable/terrascan โ”‚
โ”‚ gron      โ”‚ v0.7.1  โ”‚ https://github.com/tomnomnom/gron    โ”‚
โ”‚ kubectx   โ”‚ v0.9.4  โ”‚ https://github.com/ahmetb/kubectx    โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Remove installed release โŒ

# Remove installed release

โฏ ir rm gron

INFO     Removed: gron

Update all previously installed tools to the latest version ๐Ÿ•ถ

โฏ ir upgrade

Fetching: https://github.com/tenable/terrascan#terrascan
Fetching: https://github.com/ahmetb/kubectx#kubectx

Following tools will be upgraded:

terrascan

Upgrade these tools (Y/n): y

Updating: terrascan, v1.15.0 => v1.15.2
 INFO     Downloaded: 'terrascan_1.15.2_Linux_x86_64.tar.gz' at /tmp/dn_terrascan_0as71a6v
 INFO     install /tmp/dn_terrascan_0as71a6v/terrascan ~/bin/terrascan
 INFO     Installed: terrascan

Progress... โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 100% 0:00:00
Update installed system packages ๐Ÿ“ฆ

If you have tools installed as packages (deb/rpm/appimage), ir upgrade will inform you if updates are available but will not install them. To upgrade packages, run:

โฏ ir upgrade --pkg

This will prompt for sudo permissions to upgrade the system packages.

Pull state templates for installing tools ๐Ÿ“„

You can push your state to somewhere like GitHub and use it on any other device to sync the tools installed via ir.

โฏ ir pull --url https://raw.githubusercontent.com/Rishang/dotFiles/main/templates/install-release/state.json

Hold Update to specific installed tool โœ‹

In case you want to hold an update for a specific tool, you can use the hold {tool-name} command which will pause updates for that tool.

Example: Keep tool named k9s update on hold:

โฏ ir hold k9s
 INFO     Update on hold for, k9s to True

You can list tools on hold updates by using the ls --hold command:

โฏ ir ls --hold
             Installed tools kept on hold
โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“
โ”ƒ Name โ”ƒ Version โ”ƒ Url                               โ”ƒ
โ”กโ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ
โ”‚ k9s  โ”‚ v0.26.7 โ”‚ https://github.com/derailed/k9s   โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

In case you want to remove the update hold for a specific tool, you can use the hold --unset {tool-name} command:

โฏ ir hold --unset k9s
 INFO     Update on hold for, k9s to False

Configure tool installation path

โฏ ir config --path ~/.local/bin

INFO   Updated path to:  ~/.local/bin
INFO   Done

Configure updates for pre-release versions ๐Ÿ”Œ

This is useful when you want to install pre-release versions of tools like beta or alpha releases. By default, it is set to False, in which case it will only check for the latest stable release.

โฏ ir config --pre-release

Configure GitHub/GitLab tokens for higher rate limit ๐Ÿ”‘

For GitHub:

โฏ ir config --github-token [your github token]

INFO: Updated GitHub token
INFO: Done.

For GitLab:

โฏ ir config --gitlab-token [your gitlab token]

INFO: Updated GitLab token
INFO: Done.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

install_release-0.8.1.tar.gz (60.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

install_release-0.8.1-py3-none-any.whl (70.2 kB view details)

Uploaded Python 3

File details

Details for the file install_release-0.8.1.tar.gz.

File metadata

  • Download URL: install_release-0.8.1.tar.gz
  • Upload date:
  • Size: 60.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for install_release-0.8.1.tar.gz
Algorithm Hash digest
SHA256 34321924656a5410a328c60b420fd16fdadc80c5c304352af03a4a94101c9977
MD5 b9df183e6cd7f22ca58ed61cbd88d863
BLAKE2b-256 4524842345fcaad2602feac4b5a20f8157a70d683f33a2bd206b137d2c675b8b

See more details on using hashes here.

File details

Details for the file install_release-0.8.1-py3-none-any.whl.

File metadata

  • Download URL: install_release-0.8.1-py3-none-any.whl
  • Upload date:
  • Size: 70.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for install_release-0.8.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f679089a5aad9d4c16a6575821e1a701e63a5e3450052fae06c3796a31950ffa
MD5 1b7e94afbf3eabd40d86e0dd9c4e3be3
BLAKE2b-256 f2a600b2dc9417ae2c2a6ba88e83864e8d3648a3aea8de601473a053c11db696

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page