Skip to main content

Dploy

Dploy is a tool for creating symbolic links similarly to GNU Stow. It is provided as a CLI tool and Python 3.10+ module and supports Windows, Linux, and OSX.

Dploy's command stow creates symbolic links to the contents of source directories or packages in a specified destination directory. Repeating the stow command with the same arguments will confirm that the contents of the package have been symbolically linked.

Dploy's command unstow removes symbolic links that resulted from stow commands. Repeating the unstow command with the same arguments will confirm that the links to stowed packages have been removed.

Installation

  • Latest Release: pip install dploy
  • Development Version: pip install git+https://github.com/arecarn/dploy.git

Basic CLI Usage

  • dploy stow <source-directory>... <destination-directory>
  • dploy unstow <source-directory>... <destination-directory>
  • dploy clean <source-directory>... <destination-directory>
  • dploy --help

Rationale

Dploy started out as simple Python script to create symbolic links to my dotfiles for Windows, Mac, and Linux. Over time I keep improving and tweaking my script to suit my needs, but I was running into a problem. Keeping all the files I wanted to link in a config file was becoming a real pain in the neck.

I started looking for another solution to solve my problem, and found many alternatives but none of them seemed to be a good fit. The solution that seemed the most promising was using GNU Stow. It seemed like the most simple elegant solution to the problem. The only issue was that it didn't support Windows.

Then I thought to myself, why can't I just create my own version of Stow that work on Windows, Linux and OSX. So after that my I started morphing simple python script into what would become Dploy and learned a lot more about python in the process.

How does it compare with GNU Stow?

Below are just a few few major points of comparison between GNU stow and Dploy.

  • Like GNU Stow Dploy runs in two passes. First by collecting the actions required to complete the command and verifying that the command can completed without any issues. If no issues are detected then the second pass executes these actions are execute to complete the command. Otherwise Dploy will exit and indicate why the command can not be completed. This way a stow or unstow operation is atomic and never partially done.

  • Like Stow, Dploy supports tree folding and tree unfolding.

  • Unlike Stow, Dploy requires an explicit source(s) and a destination directory.

  • Unlike Stow, Dploy does not have any concept of ownership, but will only operate on symbolic links and the creation or removal of directories for these symbolic links.

Metadata

Release files for dploy 0.1.3

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

Source distribution (sdist)

Source distribution for dploy 0.1.3
File Size Uploaded
dploy-0.1.3.tar.gz 10.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for dploy 0.1.3
File Interpreter ABI Platform
dploy-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 25.2 kB

Release files / dploy-0.1.3.tar.gz

Download URL dploy-0.1.3.tar.gz
Size 10.5 kB
Tags Source
SHA-256 checksum
How to use checksums
8c0aaa151f1e5a3cf6b81ea54965c6d740880217bb62bc65334343cd7d0422df
BLAKE2b-256 checksum
How to use checksums
a8334ec33c60d9588cb8da6a83c831edaac45a5ce39407d83ac54be6bb2ae18e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.3.2 CPython/3.10.4 Windows/10

Release files / dploy-0.1.3-py3-none-any.whl

Download URL dploy-0.1.3-py3-none-any.whl
Size 14.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d9df92e4669d931ed6698a18f0f22e52f7f1024709a79d16cee8b3cd2886215a
BLAKE2b-256 checksum
How to use checksums
8a4621a08cf433756ba9479b32ad54f4e03293d76cfe67a4e945bdabe31b2a10
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.3.2 CPython/3.10.4 Windows/10

Release history Release notifications | RSS feed

This release

0.1.3 This release

2 release files

0.1.2

1 release file

0.1.1

1 release file

0.1.0

1 release file

0.0.5

1 release file

0.0.2

1 release file

0.0.1

1 release file

0.0.0

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