Metadata-Version: 2.1
Name: usr-local-pull
Version: 0.2.0
Summary: Installs popular cmdline utils into /usr/local directly from GitHub released artifacts.
Author-email: Tomislav Adamic <tomislav.adamic@tellus.hr>
Project-URL: Source, https://github.com/tadams42/usr-local-pull
Keywords: commandline cli packaging
Platform: any
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Build Tools
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3 :: Only
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: packaging>=24.1
Requires-Dist: click==8.1.7
Requires-Dist: ar>=1.0.0
Provides-Extra: dev
Requires-Dist: ipython; extra == "dev"
Requires-Dist: black; extra == "dev"
Requires-Dist: ruff; extra == "dev"
Requires-Dist: check-manifest; extra == "dev"
Requires-Dist: rich; extra == "dev"
Provides-Extra: tests
Requires-Dist: pytest; extra == "tests"
Requires-Dist: pytest-spec; extra == "tests"

# usr-local-pull

[![PyPI Status](https://badge.fury.io/py/usr-local-pull.svg)](https://badge.fury.io/py/usr-local-pull)
[![license](https://img.shields.io/pypi/l/usr-local-pull.svg)](https://opensource.org/licenses/MIT)
[![python_versions](https://img.shields.io/pypi/pyversions/usr-local-pull.svg)](https://pypi.org/project/usr-local-pull/)

Installs bunch of cmdline utilities into `/usr/local` directly from GitHub releases.

Installing into `/usr/local` doesn't interfere with the rest of the system. Ie. you can
have `ripgrep` installed from both, official distro package and this script and updating
any of them will not overwrite the other. Which one gets used when you call `ripgrep`
from your shell, depends on your `$PATH`. In most modern distros, stuff from
`/usr/local` has priority.

Supported operating systems:

- any and only Linux
- only `x86_64` architecture

Supported shells:

- ZSH

Supported apps:

- [bat](https://github.com/TomWright/dasel)
- [dasel](https://github.com/starship/starship)
- [eza](https://github.com/eza-community/eza)
- [fd](https://github.com/sharkdp/fd)
- [fzf](https://github.com/junegunn/fzf)
- [goyq](https://github.com/itchyny/gojq)
- [jid](https://github.com/simeji/jid)
- [jq](https://github.com/jqlang/jq)
- [jqp](https://github.com/noahgorstein/jqp)
- [lazygit](https://github.com/jesseduffield/lazygit)
- [mdbook](https://github.com/rust-lang/mdBook)
- [neovide](https://github.com/neovide/neovide)
- [ripgrep](https://github.com/BurntSushi/ripgrep)
- [starship](https://github.com/starship/starship)
- [stylua](https://github.com/JohnnyMorganz/StyLua)
- [xq](https://github.com/sibprogrammer/xq)
- [yq](https://github.com/starship/starship)

## How to use it?

Install or update:

```sh
sudo su -
mkdir ~/usr-local-pull
cd usr-local-pull
python -m venv .venv
source .venv/bin/activate
pip install -U usr-local-pull
```

- needs to be run as `root` to be able to write into `/usr/local`

Install or update apps:

```sh
sudo su -
cd usr-local-pull
source .venv/bin/activate
usr-local-pull --help
usr-local-pull --prefix /tmp/try_it_out
usr-local-pull --prefix /usr/local
```

Other side-effects:

- uses `~/.cache` for stuff downloaded from `GitHub`
