Skip to main content

GitHub tag (latest by date) PyPI PyPI - Downloads GitHub

🛁 pathtub

Reading and editing Windows PATH variables and ensuring python finds your DLLs.

    ✅ Ensuring that a folder exists in Path.
    🔗 Ensuring that DLL(s) are found by python.
    🧽 Cleaning the PATH (duplicates, removed folders, sorting)
    ✏️ Adding or removing folders to/from Path (temporary or permanently)

Installing

pip install pathtub

Usage

✅ Ensuring folder is in PATH

from pathtub import ensure
folder_to_add = r'C:\something to add to path\folder'
# 1) Check Process PATH
# 2) Add to Process PATH if not found
# 3) Add also to User PATH (permanent), if 2) happens
ensure(folder_to_add, permanent=True)

What is ensure()?

ensure(folder) checks if folder is in Process PATH

  • If folder is in Process PATH, does nothing
  • If folder is not in Process PATH, adds it to Process PATH
  • If folder is not in Process PATH and permanent=True, adds also to the User PATH or System PATH, depending on the permanent_mode.

⚠️ If you want to ensure a DLL folder is visible to python, use ensure_dll instead.

🔗 Ensuring that DLL(s) are found

from pathtub import ensure_dll
dll_folder = r'C:\path to\libusb-1.0.21\MS32\dll'
ensure_dll(dll_folder)
  • ensure_dll() is for making sure that python finds needed DLL's (and the DLL's find their dependencies, if any.)
  • You may use ensure_dll and forget_dll for adding and removing dll folder to/from search path.
  • See also: Example of using ensure_dll and forget_dll

🧽 Cleaning PATH

from pathtub import clean
# Default parameter values shown
clean(sort=True, remove_non_existent=True, remove_user_duplicates=True)

What does it do

  • Removes duplicates and empty entries (;;) from the "User PATH" and "System PATH" (trailing backslash neglected when comparing two folders). Editing "System PATH" needs that python is executed with Admin rights.
  • Sorts PATH(s) alphabetically (optional, enabled by default). Controlled with the sort parameter.
  • Removes folders from PATH(s) that do not exist on the filesystem (optional, enabled by default). Controlled with the remove_non_existent -parameter.
  • Removing from "User PATH" the entries that are in the "System PATH" (optional, enabled by default). Controlled with the remove_user_duplicates-parameter.

Screenshots of User PATH before and after clean:

User PATH

Rest of the docs

Did not find what you were looking for? See the Rest of the docs.

Metadata

Release files for pathtub 1.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 pathtub 1.1.2
File Size Uploaded
pathtub-1.1.2.tar.gz 8.2 kB Details

Release files / pathtub-1.1.2.tar.gz

Download URL pathtub-1.1.2.tar.gz
Size 8.2 kB
Tags Source
SHA-256 checksum
How to use checksums
7ebeb1a9afcb2a548deeb4302e839be7574b02bafcf405022d4fa0fb06c07d7b
BLAKE2b-256 checksum
How to use checksums
6ff814a84ce834fee7c2712bdd5f10e622027ce6b57773da8bde6c0ca4295136
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.3

Release history Release notifications | RSS feed

This release

1.1.2 This release

1 release file

1.1.1

1 release file

1.1.0

1 release file

1.0.1

1 release file

1.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