install-release


Nameinstall-release JSON
Version 0.5.3 PyPI version JSON
download
home_pagehttps://github.com/Rishang/install-release
SummarySimple package manager to easily install, update and manage any command-line(CLI) tool directly from github releases
upload_time2025-08-27 07:58:04
maintainerNone
docs_urlNone
authorRishang
requires_python<4.0,>=3.9
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <h1 align="center">
  ๐Ÿš€ Install Release 
</h1>

<p align="center">
  <a href="https://shields.io/">
    <img src="https://img.shields.io/badge/Python-3.9_to_3.13-xx.svg" alt="Python Version" />
  </a>
  <a href="https://pepy.tech/project/install-release">
    <img src="https://static.pepy.tech/personalized-badge/install-release?period=total&units=international_system&left_color=black&right_color=orange&left_text=Downloads" alt="Downloads" />
  </a>
<p>

**Install Release** is a CLI tool by name `ir` to install any single-binary executable package for your device(Linux/MacOS/WSL) directly from their GitHub or GitLab releases and keep them updated. Consider it as a small package manager to install single binary tools from GitHub/GitLab releases.

This can be any tool you want to install, which is pre-compiled for your device and present on GitHub or GitLab releases.

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

<!-- Table of content -->

## Table of Contents ๐Ÿ“š

- [Table of Contents ๐Ÿ“š](#table-of-contents-)
- [Getting started โšก](#getting-started-)
- [Prerequisites ๐Ÿ“‹](#prerequisites-)
- [Install `install-release` package ๐Ÿ“ฆ](#install-install-release-package-)
- [Updating `install-release` ๐Ÿ”„](#updating-install-release-)
- [Example usage `ir --help` ๐Ÿ’ก](#example-usage-ir---help-)
    - [Install completion for cli ๐ŸŽ ](#install-completion-for-cli-)
    - [Install tool from GitHub/GitLab releases ๐ŸŒˆ](#install-tool-from-githubgitlab-releases-)
    - [List installed tools ๐Ÿ“‹](#list-installed-tools-)
    - [Remove installed release โŒ](#remove-installed-release-)
    - [Update all previously installed tools to the latest version ๐Ÿ•ถ๏ธ](#update-all-previously-installed-tools-to-the-latest-version-๏ธ)
    - [Pull state templates for installing tools ๐Ÿ“„](#pull-state-templates-for-installing-tools-)
    - [Hold Update to specific installed tool โœ‹](#hold-update-to-specific-installed-tool-)
    - [Config tool installation path ๐Ÿ—‚๏ธ](#config-tool-installation-path-๏ธ)
    - [Config updates for pre-release versions ๐Ÿ”Œ](#config-updates-for-pre-release-versions-)
    - [Configure GitHub/GitLab tokens for higher rate limit ๐Ÿ”‘](#configure-githubgitlab-tokens-for-higher-rate-limit-)

## Getting started โšก

```bash
# Install ir
pip install -U install-release
```

Example Installation a tool named [deno](https://github.com/denoland/deno)(A modern runtime for JavaScript and TypeScript) directly from its GitHub releases.

```bash
# ir get [GITHUB-URL or GITLAB-URL]

# Example install deno tool from github
โฏ ir get https://github.com/denoland/deno

# Or for GitLab repositories

# Example install glab tool from gitlab
โฏ ir get https://gitlab.com/gitlab-org/cli -n glab
```

![demo](https://raw.githubusercontent.com/Rishang/install-release/main/.github/images/demo.png)

Checking for deno is installed by `install-release`:

```
โฏ which deno
~/bin/deno

โฏ deno --version
deno 1.46.3 (stable, release, x86_64-unknown-linux-gnu)
v8 12.9.202.5-rusty
typescript 5.5.2
```

## Prerequisites ๐Ÿ“‹

- python3.8 or higher

- [libmagic](https://github.com/ahupp/python-magic#installation)
- Default releases Installation Path is: `~/bin/`,
  This is the path where installed tools will get stored.

- In order to run installed tools, you need to add the following line to your `~/.bashrc` or `~/.zshrc` file:

```bash
export PATH=$HOME/bin:$PATH
```

## Install `install-release` package ๐Ÿ“ฆ

```bash
pip install -U install-release
```

## Updating `install-release` ๐Ÿ”„

For seeing version:

```bash
ir me --version
```

For updating:

```bash
ir me --upgrade
```

## Example usage `ir --help` ๐Ÿ’ก

```
# Help page

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

  GitHub Release Installer, based on your system

  Commands:
    get      | Install GitHub/GitLab release, cli tool
    ls       | list all installed releases, cli tools
    rm       | remove any installed release, cli tools
    upgrade  | Upgrade all installed releases, cli tools
    state    | show currently stored state
    config   | Set configs for tool
    pull     | Install tools from a remote state
    hold     | Keep updates a tool on hold.
    me       | Update ir tool.
```

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

Example: `ir get --help`

#### Install completion for cli ๐ŸŽ 

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

#### Install tool from GitHub/GitLab releases ๐ŸŒˆ

```bash
โฏ 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

                              ๐Ÿš€ 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 this tool (Y/n): 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
```

#### List installed tools ๐Ÿ“‹

```bash
โฏ 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 โŒ

```bash
# Remove installed release

โฏ ir rm gron

INFO     Removed: gron
```

#### Update all previously installed tools to the latest version ๐Ÿ•ถ๏ธ

```bash
โฏ 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
```

#### Pull state templates for installing tools ๐Ÿ“„

You can push your state to somewhere like GitHub and use it for any other device, to make a sync for tools installed via ir

```bash
โฏ 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 to the specific tool, you can use `hold {tool-name}` command which will pause update for that tool.

Example: keep tool named [k9s](https://github.com/derailed/k9s) update on hold

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

You can list tools on hold updates by `ls --hold` command

```bash
โฏ 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 unhold update to the specific tool, you can use `hold --unset {tool-name}` command by which it will pause update for that tool.

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

#### Config tool installation path ๐Ÿ—‚๏ธ

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

INFO   updated path to:  ~/.local/bin
INFO   Done
```

#### Config 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 latest release.

```bash
โฏ ir config --pre-release
```

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

For GitHub:
```bash
โฏ ir config --token [your github token]

INFO: Updated GitHub token
INFO: Done.
```

For GitLab:
```bash
โฏ ir config --gitlab-token [your gitlab token]

INFO: Updated GitLab token
INFO: Done.
```

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/Rishang/install-release",
    "name": "install-release",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.9",
    "maintainer_email": null,
    "keywords": null,
    "author": "Rishang",
    "author_email": "rishangbhavsarcs@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/aa/d5/efc7525cddbb881519d968fd0ad4f3c64bca4ffe2edb0e781ca8a856a805/install_release-0.5.3.tar.gz",
    "platform": null,
    "description": "<h1 align=\"center\">\n  \ud83d\ude80 Install Release \n</h1>\n\n<p align=\"center\">\n  <a href=\"https://shields.io/\">\n    <img src=\"https://img.shields.io/badge/Python-3.9_to_3.13-xx.svg\" alt=\"Python Version\" />\n  </a>\n  <a href=\"https://pepy.tech/project/install-release\">\n    <img src=\"https://static.pepy.tech/personalized-badge/install-release?period=total&units=international_system&left_color=black&right_color=orange&left_text=Downloads\" alt=\"Downloads\" />\n  </a>\n<p>\n\n**Install Release** is a CLI tool by name `ir` to install any single-binary executable package for your device(Linux/MacOS/WSL) directly from their GitHub or GitLab releases and keep them updated. Consider it as a small package manager to install single binary tools from GitHub/GitLab releases.\n\nThis can be any tool you want to install, which is pre-compiled for your device and present on GitHub or GitLab releases.\n\n> INFO: It's mainly for installing tools that are not directly available officially by package managers like `apt, yum, pacman, brew` etc.\n\n<!-- Table of content -->\n\n## Table of Contents \ud83d\udcda\n\n- [Table of Contents \ud83d\udcda](#table-of-contents-)\n- [Getting started \u26a1](#getting-started-)\n- [Prerequisites \ud83d\udccb](#prerequisites-)\n- [Install `install-release` package \ud83d\udce6](#install-install-release-package-)\n- [Updating `install-release` \ud83d\udd04](#updating-install-release-)\n- [Example usage `ir --help` \ud83d\udca1](#example-usage-ir---help-)\n    - [Install completion for cli \ud83c\udfa0](#install-completion-for-cli-)\n    - [Install tool from GitHub/GitLab releases \ud83c\udf08](#install-tool-from-githubgitlab-releases-)\n    - [List installed tools \ud83d\udccb](#list-installed-tools-)\n    - [Remove installed release \u274c](#remove-installed-release-)\n    - [Update all previously installed tools to the latest version \ud83d\udd76\ufe0f](#update-all-previously-installed-tools-to-the-latest-version-\ufe0f)\n    - [Pull state templates for installing tools \ud83d\udcc4](#pull-state-templates-for-installing-tools-)\n    - [Hold Update to specific installed tool \u270b](#hold-update-to-specific-installed-tool-)\n    - [Config tool installation path \ud83d\uddc2\ufe0f](#config-tool-installation-path-\ufe0f)\n    - [Config updates for pre-release versions \ud83d\udd0c](#config-updates-for-pre-release-versions-)\n    - [Configure GitHub/GitLab tokens for higher rate limit \ud83d\udd11](#configure-githubgitlab-tokens-for-higher-rate-limit-)\n\n## Getting started \u26a1\n\n```bash\n# Install ir\npip install -U install-release\n```\n\nExample Installation a tool named [deno](https://github.com/denoland/deno)(A modern runtime for JavaScript and TypeScript) directly from its GitHub releases.\n\n```bash\n# ir get [GITHUB-URL or GITLAB-URL]\n\n# Example install deno tool from github\n\u276f ir get https://github.com/denoland/deno\n\n# Or for GitLab repositories\n\n# Example install glab tool from gitlab\n\u276f ir get https://gitlab.com/gitlab-org/cli -n glab\n```\n\n![demo](https://raw.githubusercontent.com/Rishang/install-release/main/.github/images/demo.png)\n\nChecking for deno is installed by `install-release`:\n\n```\n\u276f which deno\n~/bin/deno\n\n\u276f deno --version\ndeno 1.46.3 (stable, release, x86_64-unknown-linux-gnu)\nv8 12.9.202.5-rusty\ntypescript 5.5.2\n```\n\n## Prerequisites \ud83d\udccb\n\n- python3.8 or higher\n\n- [libmagic](https://github.com/ahupp/python-magic#installation)\n- Default releases Installation Path is: `~/bin/`,\n  This is the path where installed tools will get stored.\n\n- In order to run installed tools, you need to add the following line to your `~/.bashrc` or `~/.zshrc` file:\n\n```bash\nexport PATH=$HOME/bin:$PATH\n```\n\n## Install `install-release` package \ud83d\udce6\n\n```bash\npip install -U install-release\n```\n\n## Updating `install-release` \ud83d\udd04\n\nFor seeing version:\n\n```bash\nir me --version\n```\n\nFor updating:\n\n```bash\nir me --upgrade\n```\n\n## Example usage `ir --help` \ud83d\udca1\n\n```\n# Help page\n\n\u276f ir --help\nUsage: ir [OPTIONS] COMMAND [ARGS]...\n\n  GitHub Release Installer, based on your system\n\n  Commands:\n    get      | Install GitHub/GitLab release, cli tool\n    ls       | list all installed releases, cli tools\n    rm       | remove any installed release, cli tools\n    upgrade  | Upgrade all installed releases, cli tools\n    state    | show currently stored state\n    config   | Set configs for tool\n    pull     | Install tools from a remote state\n    hold     | Keep updates a tool on hold.\n    me       | Update ir tool.\n```\n\nFor sub-command help use: `ir <sub-command> --help`\n\nExample: `ir get --help`\n\n#### Install completion for cli \ud83c\udfa0\n\n```bash\n# ir --install-completion [SHELL: bash|zsh|fish|powershell]\n# Example for zsh:\nir --install-completion zsh\n```\n\n#### Install tool from GitHub/GitLab releases \ud83c\udf08\n\n```bash\n\u276f ir get \"https://github.com/ahmetb/kubectx\"\n\n\ud83d\udcd1 Repo     : ahmetb/kubectx\n\ud83c\udf1f Stars    : 13295\n\u2728 Language : Go\n\ud83d\udd25 Title    : Faster way to switch between clusters and namespaces in kubectl\n\n                              \ud83d\ude80 Install: kubectx\n\u250f\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2513\n\u2503 Name    \u2503 Selected Item                      \u2503 Version \u2503 Size Mb \u2503 Downloads \u2503\n\u2521\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2547\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2547\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2547\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2547\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2529\n\u2502 kubectx \u2502 kubectx_v0.9.4_linux_x86_64.tar.gz \u2502 v0.9.4  \u2502 1.0     \u2502 43811     \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\nInstall this tool (Y/n): y\n INFO     Downloaded: 'kubectx_v0.9.4_linux_x86_64.tar.gz' at /tmp/dn_kubectx_ph6i7dmk                                                               utils.py:159\n INFO     install /tmp/dn_kubectx_ph6i7dmk/kubectx /home/noobi/bin/kubectx                                                                  core.py:132\n INFO     Installed: kubectx\n```\n\n```\n# checking if kubectx is installed\n\u276f which kubectx\n/home/noobi/bin/kubectx\n\n\u276f kubectx --version\n0.9.4\n```\n\n#### List installed tools \ud83d\udccb\n\n```bash\n\u276f ir ls\n\n                       Installed tools\n\u250f\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2513\n\u2503 Name      \u2503 Version \u2503 Url                                  \u2503\n\u2521\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2547\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2547\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2529\n\u2502 terrascan \u2502 v1.15.2 \u2502 https://github.com/tenable/terrascan \u2502\n\u2502 gron      \u2502 v0.7.1  \u2502 https://github.com/tomnomnom/gron    \u2502\n\u2502 kubectx   \u2502 v0.9.4  \u2502 https://github.com/ahmetb/kubectx    \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n```\n\n#### Remove installed release \u274c\n\n```bash\n# Remove installed release\n\n\u276f ir rm gron\n\nINFO     Removed: gron\n```\n\n#### Update all previously installed tools to the latest version \ud83d\udd76\ufe0f\n\n```bash\n\u276f ir upgrade\n\nFetching: https://github.com/tenable/terrascan#terrascan\nFetching: https://github.com/ahmetb/kubectx#kubectx\n\nFollowing tools will be upgraded:\n\nterrascan\n\nUpgrade these tools, (Y/n): y\n\nUpdating: terrascan, v1.15.0 => v1.15.2\n INFO     Downloaded: 'terrascan_1.15.2_Linux_x86_64.tar.gz' at /tmp/dn_terrascan_0as71a6v\n INFO     install /tmp/dn_terrascan_0as71a6v/terrascan ~/bin/terrascan\n INFO     Installed: terrascan\n\nProgress... \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 100% 0:00:00\n```\n\n#### Pull state templates for installing tools \ud83d\udcc4\n\nYou can push your state to somewhere like GitHub and use it for any other device, to make a sync for tools installed via ir\n\n```bash\n\u276f ir pull --url https://raw.githubusercontent.com/Rishang/dotFiles/main/templates/install-release/state.json\n```\n\n#### Hold Update to specific installed tool \u270b\n\nIn case you want to hold an update to the specific tool, you can use `hold {tool-name}` command which will pause update for that tool.\n\nExample: keep tool named [k9s](https://github.com/derailed/k9s) update on hold\n\n```bash\n\u276f ir hold k9s\n INFO     Update on hold for, k9s to True\n```\n\nYou can list tools on hold updates by `ls --hold` command\n\n```bash\n\u276f ir ls --hold\n             Installed tools kept on hold\n\u250f\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2513\n\u2503 Name \u2503 Version \u2503 Url                               \u2503\n\u2521\u2501\u2501\u2501\u2501\u2501\u2501\u2547\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2547\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2529\n\u2502 k9s  \u2502 v0.26.7 \u2502 https://github.com/derailed/k9s   \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n```\n\nIn case you want to unhold update to the specific tool, you can use `hold --unset {tool-name}` command by which it will pause update for that tool.\n\n```\n\u276f ir hold --unset k9s\n INFO     Update on hold for, k9s to False\n```\n\n#### Config tool installation path \ud83d\uddc2\ufe0f\n\n```bash\n\u276f ir config --path ~/.local/bin\n\nINFO   updated path to:  ~/.local/bin\nINFO   Done\n```\n\n#### Config updates for pre-release versions \ud83d\udd0c\n\nThis 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 latest release.\n\n```bash\n\u276f ir config --pre-release\n```\n\n#### Configure GitHub/GitLab tokens for higher rate limit \ud83d\udd11\n\nFor GitHub:\n```bash\n\u276f ir config --token [your github token]\n\nINFO: Updated GitHub token\nINFO: Done.\n```\n\nFor GitLab:\n```bash\n\u276f ir config --gitlab-token [your gitlab token]\n\nINFO: Updated GitLab token\nINFO: Done.\n```\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Simple package manager to easily install, update and manage any command-line(CLI) tool directly from github releases",
    "version": "0.5.3",
    "project_urls": {
        "Homepage": "https://github.com/Rishang/install-release"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9f13d118405fe0cd3bf6602a9e5c78de52d1f8c440a5531f4adb78a1d91dbce6",
                "md5": "03d1b1cd50b1b87f04a31decb1abf9ab",
                "sha256": "3ca9b4f5b6c44e2c42126a80d7d9550394c69332144e628be1a8f89d346213c4"
            },
            "downloads": -1,
            "filename": "install_release-0.5.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "03d1b1cd50b1b87f04a31decb1abf9ab",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.9",
            "size": 37521,
            "upload_time": "2025-08-27T07:58:03",
            "upload_time_iso_8601": "2025-08-27T07:58:03.336687Z",
            "url": "https://files.pythonhosted.org/packages/9f/13/d118405fe0cd3bf6602a9e5c78de52d1f8c440a5531f4adb78a1d91dbce6/install_release-0.5.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "aad5efc7525cddbb881519d968fd0ad4f3c64bca4ffe2edb0e781ca8a856a805",
                "md5": "b6ea96a8a267b1731efdf37b1a851774",
                "sha256": "872fa31a8d42261b2e66658cd80e53f12f6f53baae38e9f7da164280e4b073a4"
            },
            "downloads": -1,
            "filename": "install_release-0.5.3.tar.gz",
            "has_sig": false,
            "md5_digest": "b6ea96a8a267b1731efdf37b1a851774",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.9",
            "size": 33646,
            "upload_time": "2025-08-27T07:58:04",
            "upload_time_iso_8601": "2025-08-27T07:58:04.416968Z",
            "url": "https://files.pythonhosted.org/packages/aa/d5/efc7525cddbb881519d968fd0ad4f3c64bca4ffe2edb0e781ca8a856a805/install_release-0.5.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-27 07:58:04",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Rishang",
    "github_project": "install-release",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "install-release"
}
        
Elapsed time: 4.09410s