Metadata-Version: 2.1
Name: path-diag
Version: 0.0.1
Summary: A utility for validating paths in environment variables and modifying them safely
Home-page: https://www.rigaspapas.com
Author: Rigas Papathanasopoulos
Author-email: rigaspapas@gmail.com
License: MIT
Platform: UNKNOWN
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3 :: Only
Description-Content-Type: text/markdown
Requires-Dist: colorama

# Path-diag

A utility for validating paths in environment variables and modifying them safely.

## Prerequisites

* Python 3

## Installation

You can install `path-diag` via `pip`:
```
pip3 install path-diag
```

## Usage

### Diagnose environment variable problems

Check if `$PATH` contains any invalid paths:
```
$ pathdiag
```

`$PATH` is the default variable to check.

You can specify another variable. For example:

```
$ pathdiag --var PYTHONPATH
```

You can also specify an increased verbosity which will also print the paths that are successfully checked:
```
$ pathdiag -v
✓ /usr/local/bin
✓ /usr/bin
✓ /bin
✓ /usr/sbin
✓ /sbin
```

### Safely append/prepend paths to environment variables

You can use the bash functions in order to take advantage of this features by adding the following line on top of your `.bashrc`/`.zshrc` file:
```
source /usr/local/bin/path-diag-functions.sh
```

Then you can use the `safe_append`/`safe_prepend` functions. For example:
```
safe_append "/usr/local/Cellar/node/7.4.0/bin"
safe_prepend "/usr/local/opt/python/libexec/bin"
```

This will add `/usr/local/Cellar/node/7.4.0/bin` at the end of `$PATH` if this path passes the validation checks, and will also add `/usr/local/opt/python/libexec/bin` at the beginning of `$PATH`, again if no errors are identified.

## Contributing

All contributions are welcomed. Make sure your code passes `flake8` checks and that is auto-formatted using [black](https://github.com/ambv/black)


