Skip to main content

shimpan

Project description

shimpan

Create exe shims easily. Never modify your PATH again!

Can create 2 types of shims, 'scoop' shim is built on .NET and 'alt' is C.

Installation

pip install shimpan

But of course you have installed Uv and can run it with uvx:

$ uvx shimpan --help
usage: shimpan [-h] [--shim {alt,scoop}] [--to TO] {create,get} ...

Shimpan: Create shims for exes that are in path. Version: 1.3.0

positional arguments:
  {create,get}
    create            Create a shim for an executable. The lowest level action
    get               Download zip file, install it as an application

options:
  -h, --help          show this help message and exit
  --shim {alt,scoop}  Shim type. Default is 'scoop'
  --to TO             The directory where the shim files (.exe, .shim) will be created

Creating shims

To create shims, just call "shimpan create". Here I create a shim to pgadmin:

$ shimpan --to \r\myapps create "C:\Users\villevai\AppData\Local\Programs\pgAdmin 4\runtime\pgAdmin4.exe"
Shims (.exe, .shim) created at \r\myapps\pgAdmin4.exe pointing to C:\Users\villevai\AppData\Local\Programs\pgAdmin 4\runtime\pgAdmin4.exe

After this, I can see the files in target directory:

❯ ls pgAdmin*

    Directory: C:\r\myapps

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a---          13/02/2025    21.07           9728 pgAdmin4.exe
-a---          13/02/2025    21.07             80 pgAdmin4.shim

This is something you can easily have on your PATH.

The shim file itself looks like this:

$ cat .\pgAdmin4.shim
path = C:\Users\villevai\AppData\Local\Programs\pgAdmin 4\runtime\pgAdmin4.exe

Calling pgAdmin4.exe reads the shim file and executes the pointed executable.

Easy installation of third party apps

You can use Shimpan as a lightweight way to publish your app without using Scoop, Chocolatey or Winget.

An example from Heymars application (that was maybe too niche for me to bother packaging to Scoop or Winget):

uvx shimpan get https://github.com/vivainio/heymars/releases/download/v1.2.1/heymars-1.2.1.zip --to ~/.local/bin

This Unzips it to USER\AppData\Local\Programs\heymars-1.2.1 and creates .exe shim for every .exe file in the zip to ~/.local/bin (which is likely in the path already if you have uv installed).

If you omit the --to argument, it creates the shims in current directory. You can then try it copy them wherever you want (probably some nice place on your PATH). The shims don't care where they are, they only care about where the .shim file points at.

What's deal with the name?

I planned to call it Shimpanz or Shimpans, but that would have been gringe. Henge Shimpan.

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

shimpan-1.4.0.tar.gz (79.5 kB view details)

Uploaded Source

Built Distribution

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

shimpan-1.4.0-py3-none-any.whl (77.1 kB view details)

Uploaded Python 3

File details

Details for the file shimpan-1.4.0.tar.gz.

File metadata

  • Download URL: shimpan-1.4.0.tar.gz
  • Upload date:
  • Size: 79.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for shimpan-1.4.0.tar.gz
Algorithm Hash digest
SHA256 0aa71dafc27af5a668690ad4c3ae7400f9d89019f82917558b51e8d6f016ea00
MD5 fe593699a40dd651439462cdf27d0e9f
BLAKE2b-256 4929ddafd2c3911315e7159f5c9d55a7e165f079df28436cdd16d2a14420c188

See more details on using hashes here.

File details

Details for the file shimpan-1.4.0-py3-none-any.whl.

File metadata

  • Download URL: shimpan-1.4.0-py3-none-any.whl
  • Upload date:
  • Size: 77.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for shimpan-1.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bb7f62c090c82fc138fccbf725fc768da1ea372d628c2008bef185e83024f9ad
MD5 a6ae7958f3118fa26bfb4ba93a14fa86
BLAKE2b-256 2aa63148267319c076c47caa01ab98b8ebbe059889eb3bde3ac790d1c1c0d31e

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