Skip to main content

A lightweight Python library to persistently add or remove directories from PATH.

Project description

pathreg

Persistently add or remove directories from PATH on Windows, Linux, and macOS.

Installation

pip install pathreg

CLI Usage

pathreg add /some/directory
pathreg remove /some/directory
pathreg list
pathreg check /some/directory   # prints "yes" or "no"

Python API

from pathreg import add_path, remove_path, list_paths, in_path

add_path("/some/directory")     # idempotent, skips if already present
remove_path("/some/directory")  # no-op if not found
list_paths()                    # returns list[Path] of current PATH entries
in_path("/some/directory")      # returns True if directory is in PATH

add_path and remove_path modify the shell profile and the current process's PATH immediately.

Behavior

  • Paths are normalized: trailing separators stripped, slashes converted per platform.
  • add_path is idempotent, does nothing if the entry already exists.
  • remove_path is a no-op if the entry is absent or the profile file does not exist.
  • list_paths reflects the current process PATH; it does not read the profile file.
  • in_path normalizes trailing separators before comparing, matching add_path behaviour.

Platform support

Platform Persistence target
Windows HKCU\Environment via winreg; broadcasts WM_SETTINGCHANGE to notify the shell
bash ~/.bash_profile (falls back to ~/.profile if it exists)
zsh ~/.zshenv
sh ~/.profile

The active shell is detected from the SHELL environment variable.

No third-party dependencies required.

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

pathreg-1.0.2.tar.gz (13.1 kB view details)

Uploaded Source

Built Distribution

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

pathreg-1.0.2-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

Details for the file pathreg-1.0.2.tar.gz.

File metadata

  • Download URL: pathreg-1.0.2.tar.gz
  • Upload date:
  • Size: 13.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pathreg-1.0.2.tar.gz
Algorithm Hash digest
SHA256 38a14cbd84c1241b048e42ae2981bdb5deb7086f0a1df7af58d47d299a761e41
MD5 03717d711a60c9fefe689fb0beb9b6f5
BLAKE2b-256 667a5200e4a150d720a8b775b478c027d3f8d20943011d9b851166eea76ffc4c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pathreg-1.0.2.tar.gz:

Publisher: publish.yml on tn3w/pathreg

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pathreg-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: pathreg-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 8.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pathreg-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3502dfb2273cbe110aad5bea30e823913f88eace8a3de9a6c34c1f4a2cccf988
MD5 b25c5543e95d1a5670e5be44f99272de
BLAKE2b-256 e0e9b2890b4c7bd7bd527907ffb682b978db515fcf1b0540b917657035132ef9

See more details on using hashes here.

Provenance

The following attestation bundles were made for pathreg-1.0.2-py3-none-any.whl:

Publisher: publish.yml on tn3w/pathreg

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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