Skip to main content

KELP

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?

  1. Download the latest kelp release from github releases

  2. Initliaze Kelp

    kelp init

  3. Add kelp to your PATH

    export PATH=~/.kelp/bin/:$PATH

  4. Add a new package

    kelp add wercker/stern:latest

  5. Install

    kelp install

How do I install multiple packages at one time?

  1. Edit ~/.kelp/.kelp.json and 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"
}
  1. 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)

Source distribution for klp 0.0.0
File Size Uploaded
klp-0.0.0.tar.gz 10.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for klp 0.0.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page