Skip to main content

Stow-Install

You often don't have root access on a shared machine, like a compute cluster, but you still want to install software. GNU Stow makes it easy to install and uninstall self-compiled programs and libraries in your home folder.

This tool makes this even easier by handling the download, the compilation and the installation for you, in simple cases as easily as a pip install.

Installation

pip install stow-install

Then run stow-install --setup to create the ~/.local directory structure and to add environment variables to your .bashrc. Finally start a new shell session or source ~/.bashrc to activate the changes.

You can also directly download the stow-install script and run it from anywhere or place it in a directory in your $PATH.

Usage

To install a program or library, you need to provide a name for it and a source (filename, source directory path or URL). For example, to install an up-to-date version of CMake, you can run:

stow-install --name=cmake-3.27 --source=https://github.com/Kitware/CMake/releases/download/v3.27.7/cmake-3.27.7.tar.gz

This should download, extract, compile and stow CMake, so that the cmake command will use this newly installed version.

You can also specify compilation config arguments that will be passed to ./configure or cmake, for example, to build a new version of GCC, you can run (notice the arguments after the --, they will be passed to ./configure):

LOCAL=$HOME/.local

stow-install --name=gmp-6.3 --source=https://gmplib.org/download/gmp/gmp-6.3.0.tar.xz -- --enable-static --enable-shared
stow-install --name=mpfr-4.2 --source=https://www.mpfr.org/mpfr-current/mpfr-4.2.1.tar.xz -- --with-gmp=$LOCAL
stow-install --name=mpc-1.3 --source=https://ftp.gnu.org/gnu/mpc/mpc-1.3.1.tar.gz -- --with-gmp=$LOCAL --with-mpfr=$LOCAL
stow-install --name=gcc-11.3 --source=https://ftp.gwdg.de/pub/misc/gcc/releases/gcc-11.3.0/gcc-11.3.0.tar.gz -- --with-gmp=$LOCAL --with-mpfr=$LOCAL --with-mpc=$LOCAL --disable-multilib

stow-install auto-detects the build system (CMake, Autotools, Meson, or plain Makefile).

Manual intervention

Sometimes the automated process breaks down somewhere, and you may want to manually fix things. For this, useful commands are given in the bash_scripts directory to perform command by command what the automatic tool would do.

Background

What's Stow and why is it good?

If you compile and install a lot of software into your home without using stow (or a similar tool), you end up with a bunch of files in the bin, lib etc. folders and no way of knowing which file was put there by which piece of software. This makes it difficult to remove installations if it turns out that you don't need or like the library anymore or you want to use a different version.

GNU Stow is a "symbolic link farm". All your software installations physically live under a separate ~/.local/stow/name-of-the-library folder, and Stow creates symbolic links in ~/.local/bin, ~/.local/lib etc. When you need to uninstall software X, Stow will simply search for symlinks that point into ~/.local/stow/X/ and delete them.

This package uses stow-python, my Python reimplementation of GNU Stow, so no Perl dependency is required.

Metadata

Release files for stow-install 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for stow-install 0.1.2
File Size Uploaded Provenance Actions
stow_install-0.1.2.tar.gz 8.9 kB With provenance Details for stow_install-0.1.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for stow-install 0.1.2
File Interpreter ABI Platform Actions
stow_install-0.1.2-py3-none-any.whl Python 3 none any Details for stow_install-0.1.2-py3-none-any.whl

Total release size: 16.2 kB

Release files / stow_install-0.1.2.tar.gz

Download URL stow_install-0.1.2.tar.gz
Size 8.9 kB
Tags Source
SHA-256 checksum
How to use checksums
cb282f4e0fdbc242c1cfc0b24d61c38caf77a7be0a6dafbbef60bd1c7255c4b1
BLAKE2b-256 checksum
How to use checksums
41753a40d7f8060caa67565f3838638c2681a89b5dba9931829516063b4b3a9e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Dec 27, 2025.

Transparency log

Release files / stow_install-0.1.2-py3-none-any.whl

Download URL stow_install-0.1.2-py3-none-any.whl
Size 7.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
27ef44879eb258e399e76a735822b707cf16633b733e3b9ee20698df16ce0572
BLAKE2b-256 checksum
How to use checksums
0b3ee99ca5e34a7c01879837f530d2806cc30e2c70d72f077f35d54bdb877c8c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Dec 27, 2025.

Transparency log

Security for stow-install 0.1.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for stow_install-0.1.2.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Dec 27, 2025.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files Full provenance

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