Skip to main content

CLI tool to automate the creation of symbolic links in a destination directory.

Project description

pylnlst

CLI tool to automate the creation of symbolic links in a destination directory.

Why pylnlst?

Many times I find myself creating multiple symbolic links manually using Nautilus (or similar) and feeling that the process could be automated. When tried to approach such automation using bash I've failed miserably because find a lot of problems when you try to create links containing spaces, brackets, or exclamation marks because it requires escaping such characters.

This tool has been created to address those problems.

The idea is:

  • User creates a file with a list of absolute or relative paths, one per file/folder.
  • User invokes the tool with two arguments: the location of the file list, and the target (base) location where symbolic links will be created.
  • The tool reads the entries from the file, one by one, and creates a symbolic link in the specified target location, pointing to the original file.
  • If a file with the same name already exists, a suffix is added so that there is no name clash. A warning is displayed.

The usage is as follows:

python pylnlst.py --file-list fILELIST --dst DST_DIR

Dev notes

Most of the script functionality relies on the Typer framework. Project management relies on uv, and linting/formatting is done with Ruff.

There are currently no tests.

To check that the packaged script works as expected type:

# you must be in the directory that contains pylnlst package, not
# within pylnlst
$ uv run --directory pylnlst pylnlst --version

The application can be built with uv build and published with uv publish.

To publish to Test PyPI:

code

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

pylnlst-0.1.0.tar.gz (6.3 kB view details)

Uploaded Source

Built Distribution

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

pylnlst-0.1.0-py3-none-any.whl (4.8 kB view details)

Uploaded Python 3

File details

Details for the file pylnlst-0.1.0.tar.gz.

File metadata

  • Download URL: pylnlst-0.1.0.tar.gz
  • Upload date:
  • Size: 6.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.4.24

File hashes

Hashes for pylnlst-0.1.0.tar.gz
Algorithm Hash digest
SHA256 59340c64df1710e678dfc1829b57495eb4f358f99ff2741ed10502a8f155d791
MD5 4f3e5b619fbe06428bb8021c89e57fba
BLAKE2b-256 242db86a5e46a9f200b1b40630c4de6768a28d6a352d52e058479ded8e2c5510

See more details on using hashes here.

File details

Details for the file pylnlst-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: pylnlst-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 4.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.4.24

File hashes

Hashes for pylnlst-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 741574792f8a758a3aee8b17e92ae495d138583a9909fde68ce66ad2276e016b
MD5 4d91d3fd589143b042a070e56e2804a9
BLAKE2b-256 d9424ac9554b2d8f5e187c550d109a5f0d8b157f5108d65bc8c1aad4c81d12b2

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