KELP
A simple python replacement for homebrew for installing binary packages on MacOS
Why?
I built Kelp to scratch my own itch while using Homebrew. For example if you use homebrew to install terraform, it is cumberson to switch between different terraform versions. Here is why I built Kelp:
- No waiting for a formula to become available on homebrew
- Switch between different versions of a package easily
- Keep all your computers up to date with a single installation manifest
- Install multiple packages at one time.
How To Install
curl https://github.com/crhuber/kelp/releases/download/v0.2.2/kelp -o ~/kelp
chmod +x ~/kelp
How Does it Work?
It downloads all the packages in a ~/.kelp/.kelp.json file to ~/.kelp/bin. It can download any binary file on github releases.
How Do I Use It?
-
Download the latest
kelprelease from github releases -
Initliaze Kelp
kelp init -
Add kelp to your PATH
export PATH=~/.kelp/bin/:$PATH -
Add a new package
kelp add wercker/stern:latest -
Install
kelp install
How do I install multiple packages at one time?
- Edit
~/.kelp/.kelp.jsonand add all your favorite packages there. For example mine looks ike
{
"sharkdp/fd": "latest",
"sharkdp/bat": "latest",
"ubnt-intrepid/dot": "latest",
"tsenart/vegeta": "latest",
"junegunn/fzf-bin": "latest",
"termit/flycut": "latest",
"rxhanson/rectangle": "latest",
"lwouis/alt-tab-macos": "latest",
"versent/saml2aws": "latest",
"watchexec/watchexec": "latest",
"wercker/stern": "latest",
"hashicorp/terraform": "https://releases.hashicorp.com/terraform/0.11.14/terraform_0.11.14_darwin_amd64.zip",
"ogham/exa": "latest",
"Marginal/QLVideo": "latest",
"JohnCoates/Aerial": "latest",
"istio/istio": "latest",
"aws/aws-iam-authenticator": "https://amazon-eks.s3-us-west-2.amazonaws.com/1.14.6/2019-08-22/bin/darwin/amd64/aws-iam-authenticator",
"helm/helm": "v2.16.0"
}
-
Run kelp
kelp install
What if the package I want is not on github releases?
Easy. Just add the http(s) link to the binary like so to your .kelp.json file
kelp add hashicorp/terraform https://releases.hashicorp.com/terraform/0.11.13/terraform_0.11.13_darwin_amd64.zip
Troubleshooting
Why wasnt my package installed ?
Kelp looks for binaries made for MacOS, if it finds a binary for linux or windows it will skip downloading it.
Why is kelp so slow?
I used PyInstaller to freeze this Python applications into stand-alone executable which means its a little slow when executing
Does it work for Linux?
Not yet
Release files for klp 0.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| klp-0.0.0.tar.gz | 10.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| klp-0.0.0-py2.py3-none-any.whl | Python 2, Python 3 | none | any | Details |
Total release size: 20.9 kB
Release files / klp-0.0.0.tar.gz
| Download URL | klp-0.0.0.tar.gz |
|---|---|
| Size | 10.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7d4a6e4eea94429e7a7b8f7b6c1f344a0f5a788e4eb8eb8cacc214bb05467dbd
|
|
BLAKE2b-256 checksum How to use checksums |
d8b8c6de8da8ec815da210d8e3c6b909c4c93cfe351392f380979ac0399a01e2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.1 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.6
|
Release files / klp-0.0.0-py2.py3-none-any.whl
| Download URL | klp-0.0.0-py2.py3-none-any.whl |
|---|---|
| Size | 10.7 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
b1c0c61f4b14267ab7712525547ea4dd46ed07d92c58aa3ad72f46fe6d891b9c
|
|
BLAKE2b-256 checksum How to use checksums |
25416935b724d33723f260f2a2d4a3fcd9fa66ceed36f8d160d26ed05b9aea15
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.1 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.6
|