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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0aa71dafc27af5a668690ad4c3ae7400f9d89019f82917558b51e8d6f016ea00
|
|
| MD5 |
fe593699a40dd651439462cdf27d0e9f
|
|
| BLAKE2b-256 |
4929ddafd2c3911315e7159f5c9d55a7e165f079df28436cdd16d2a14420c188
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bb7f62c090c82fc138fccbf725fc768da1ea372d628c2008bef185e83024f9ad
|
|
| MD5 |
a6ae7958f3118fa26bfb4ba93a14fa86
|
|
| BLAKE2b-256 |
2aa63148267319c076c47caa01ab98b8ebbe059889eb3bde3ac790d1c1c0d31e
|