Skip to main content

Stow-Python

This is a pedantically faithful, singe-file, dependency-free Python reimplementation of all of GNU Stow, the symlink farm manager, that runs on any Python version from 2.7 to 3.14 and beyond.

The reason for making this is that GNU Stow is very useful but it's written in Perl. This can cause some headaches on some HPC clusters or other systems that you don't control yourself regarding the Perl toolchain. This reimplementation lets you use Stow on systems where Perl isn't available (or isn't the correct version, or misses some packages etc.) but some version of Python is there (2.7 or 3.0–3.14+), which is basically always.

The goal here is identical behavior to GNU Stow, to achieve true, worry-free drop-in substitution. This is tested both with ports of the original Perl tests and with oracle tests against the Perl executable verifying identical output, return codes and filesystem state. The code itself is not very pythonic, following the logic of the original Perl code is of higher priority to ensure correctness.

Install

Stow-Python is a single self-contained executable Python script that you can simply drop directly into any directory in your PATH, such as ~/.local/bin:

wget -O ~/.local/bin/stow https://raw.githubusercontent.com/isarandi/stow-python/main/bin/stow
chmod +x ~/.local/bin/stow

But if you prefer, pip installation is also available:

pip install stow-python

After this, you can simply run the stow command since the executable will be in your PATH.

Use

Stow-Python is an exact reimplementation of GNU Stow, so refer to the GNU Stow manual for all options and usage details, or see stow --help for all options, or refer to the GNU Stow manual.

To use the chkstow diagnostic tool for common stow directory problems, you can either download it directly like the stow executable, or use pip, it is automatically installed with stow-python. The stow and chkstow executables do not depend on each other, both are standalone with Python as the sole dependency.

Run the tests

pip install stow-python[tests]
pytest tests/

# For oracle tests (comparing against the Perl-based GNU Stow), install GNU Stow first:
cd tests && ./get_gnu_stow_for_testing_identical_behavior.sh && cd ..
pytest tests/

The test suite includes both ported unit tests from the original Perl codebase and tests that run both implementations and verify identical behavior.

License

GPL-3.0-or-later

Acknowledgements

This project constitutes derivative work of GNU Stow, whose authors are Bob Glickstein, Guillaume Morin, Kahlil Hodgson, Adam Spiers, and others. This code could not exist without them.

Metadata

Release files for stow-python 2.4.1

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-python 2.4.1
File Size Uploaded
stow_python-2.4.1.tar.gz 53.7 kB Details

Release files / stow_python-2.4.1.tar.gz

Download URL stow_python-2.4.1.tar.gz
Size 53.7 kB
Tags Source
SHA-256 checksum
How to use checksums
0777e04a999105f68130f2da9db8db7848d1589ed3369a98404f667969c12160
BLAKE2b-256 checksum
How to use checksums
3332b8893310e8b55dc5a0f546bfe3c830f4d5cdd787520157f0be91a12f4e65
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 history Release notifications | RSS feed

This release

2.4.1 This release

1 release file

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