semvec/pypi-packages huggingface dataset:
xdg-cache 2020.12.3
$XDG_CACHE_HOME read/write files
License: Unlicense
Keywords: xgd cache

<!--
https://readme42.com
-->


[![](https://img.shields.io/pypi/v/xdg-cache.svg?maxAge=3600)](https://pypi.org/project/xdg-cache/)
[![](https://img.shields.io/badge/License-Unlicense-blue.svg?longCache=True)](https://unlicense.org/)

### Installation
```bash
$ [sudo] pip install xdg-cache
```

#### Examples
```python
>>> import xdg_cache
>>> xdg_cache.write("key",'value')
>>> xdg_cache.read("key")
'value'
>>> xdg_cache.path("key")
'~/.cache/key'
>>> xdg_cache.exists("key")
True
>>> xdg_cache.rm("key")
```

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>
writable-property 2020.12.3
writable property
License: Unlicense
Keywords: writable property

<!--
https://readme42.com
-->


[![](https://img.shields.io/pypi/v/writable-property.svg?maxAge=3600)](https://pypi.org/project/writable-property/)
[![](https://img.shields.io/badge/License-Unlicense-blue.svg?longCache=True)](https://unlicense.org/)

### Installation
```bash
$ [sudo] pip install writable-property
```

#### Examples
```python
>>> from writable_property import writable_property

>>> class Class:
    @writable_property
    def prop(self):
        return "value"

>>> obj = Class()
>>> obj.prop
"value"

>>> obj.prop = "new"
>>> obj.prop
"new"
```

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>
webloc 2020.12.3
read/write .webloc files
License: Unlicense
Keywords: webloc

<!--
https://readme42.com
-->



[![](https://img.shields.io/badge/OS-Unix-blue.svg?longCache=True)]()
[![](https://img.shields.io/pypi/v/webloc.svg?maxAge=3600)](https://pypi.org/project/webloc/)
[![](https://img.shields.io/badge/License-Unlicense-blue.svg?longCache=True)](https://unlicense.org/)

### Installation
```bash
$ [sudo] pip install webloc
```

```bash
$ [sudo] npm i -g webloc
```

#### Examples
```python
>>> import webloc
>>> webloc.write("path.webloc","https://www.google.com/")
>>> webloc.read("path.webloc")
'https://www.google.com/'
```

```bash
$ python -m webloc "path.webloc" "https://www.github.com/"
$ python -m webloc "path.webloc"
https://www.github.com/
```

```bash
$ webloc file.webloc https://github.com/
$ webloc file.webloc
https://github.com/
```

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>
ubersicht 2020.12.3
python + Ubersicht.app (MacOS)
License: Unlicense
Keywords: ubersicht

<!--
https://readme42.com
-->


[![](https://img.shields.io/pypi/v/ubersicht.svg?maxAge=3600)](https://pypi.org/project/ubersicht/)
[![](https://img.shields.io/badge/License-Unlicense-blue.svg?longCache=True)](https://unlicense.org/)

### Installation
```bash
$ [sudo] pip install ubersicht
```

#### Examples
generate widget
```python
>>> import ubersicht
>>> widget = ubersicht.Widget(name="name.widget", command="echo hello world", refresh="1s",style="color: red")
>>> widget.create()
>>> widget.path
'/Users/username/Library/Application Support/Übersicht/widgets/name.widget'
```

```bash
$ cat ~/Library/Application Support/Übersicht/widgets/name.widget/index.coffee
command: "echo hello world"

refreshFrequency: '1s'

update: (output, domEl) ->
    $(domEl).empty().append("#{output}")

style: """
color: red
"""
```

#### Links
+   [Uebersicht.app](https://github.com/felixhageloh/uebersicht)

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>
true-case-path 2020.12.3
get case exact path as stored in the filesystem
License: Unlicense
Keywords: case path

<!--
https://readme42.com
-->


[![](https://img.shields.io/pypi/v/true-case-path.svg?maxAge=3600)](https://pypi.org/project/true-case-path/)
[![](https://img.shields.io/badge/License-Unlicense-blue.svg?longCache=True)](https://unlicense.org/)

### Installation
```bash
$ [sudo] pip install true-case-path
```

#### Examples
```python
>>> from true_case_path import true_case_path
>>> true_case_path('/Users/username/downloads')
'/Users/username/Downloads'
```

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>
travis-image-status 2020.12.3
quickly get travis status from an image. better than a travis client
License: Unlicense
Keywords: travis status

<!--
https://readme42.com
-->



[![](https://img.shields.io/badge/OS-Unix-blue.svg?longCache=True)]()
[![](https://img.shields.io/pypi/v/travis-image-status.svg?maxAge=3600)](https://pypi.org/project/travis-image-status/)
[![](https://img.shields.io/badge/License-Unlicense-blue.svg?longCache=True)](https://unlicense.org/)

### Installation
```bash
$ [sudo] pip install travis-image-status
```

```bash
$ [sudo] npm i -g travis-image-status
```

#### How it works
`https://api.travis-ci.org/owner/repo.svg?branch=master`

```xml
<svg ...<text>{status}</text></g></svg>
```

#### Examples
`travis status`:
```bash
$ travis status -r owner/repo
passed
```

`travis-image-status`:
```bash
$ travis-image-status owner/repo
passing
```


options. `--com`, `--org` (default):
```bash
$ travis-image-status --com owner/repo
```

#### Related
+   [`travis-cron` - travis cron management](https://pypi.org/project/travis-cron/)
+   [`travis-env` - travis environment variables management](https://pypi.org/project/travis-env/)
+   [`travis-exec` - execute command for every travis repo](https://pypi.org/project/travis-exec/)
+   [`travis-generator` - `.travis.yml` generator](https://pypi.org/project/travis-generator/)
+   [`travis-image-status` - quickly get travis status from an image](https://pypi.org/project/travis-image-status/)

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>
travis-exec 2020.12.3
execute command for every travis repo
License: Unlicense
Keywords: travis

<!--
https://readme42.com
-->



[![](https://img.shields.io/badge/OS-Unix-blue.svg?longCache=True)]()
[![](https://img.shields.io/pypi/v/travis-exec.svg?maxAge=3600)](https://pypi.org/project/travis-exec/)
[![](https://img.shields.io/badge/License-Unlicense-blue.svg?longCache=True)](https://unlicense.org/)

### Installation
```bash
$ [sudo] pip install travis-exec
```

```bash
$ [sudo] npm i -g travis-exec
```

#### Features
+   `{}` replaced with repo name

#### Examples
```bash
$ travis-exec travis status -r {}
$ travis-exec python -m travis_cron.add {} master daily no
$ travis-exec python -m travis_env.set {} WEBHOOK_URL "$WEBHOOK_URL"
```

#### Related
+   [`travis-cron` - travis cron management](https://pypi.org/project/travis-cron/)
+   [`travis-env` - travis environment variables management](https://pypi.org/project/travis-env/)
+   [`travis-exec` - execute command for every travis repo](https://pypi.org/project/travis-exec/)
+   [`travis-generator` - `.travis.yml` generator](https://pypi.org/project/travis-generator/)
+   [`travis-image-status` - quickly get travis status from an image](https://pypi.org/project/travis-image-status/)

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>
travis-env 2020.12.3
Travis CI environment variables
License: Unlicense
Keywords: travis

<!--
https://readme42.com
-->


[![](https://img.shields.io/pypi/v/travis-env.svg?maxAge=3600)](https://pypi.org/project/travis-env/)
[![](https://img.shields.io/badge/License-Unlicense-blue.svg?longCache=True)](https://unlicense.org/)

### Installation
```bash
$ [sudo] pip install travis-env
```

#### Features
+   add, get, delete Travis CI environment variables

#### Config
```bash
$ travis token
xxx
$ export TRAVIS_TOKEN="xxx"
# export TRAVIS_ENDPOINT="https://api.travis-ci.org"
```

#### Examples
```bash
$ python -m travis_env.set WEBHOOK_URL url
$ python -m travis_env.vars
WEBHOOK_URL
```

#### Related
+   [`travis-cron` - travis cron management](https://pypi.org/project/travis-cron/)
+   [`travis-env` - travis environment variables management](https://pypi.org/project/travis-env/)
+   [`travis-exec` - execute command for every travis repo](https://pypi.org/project/travis-exec/)
+   [`travis-generator` - `.travis.yml` generator](https://pypi.org/project/travis-generator/)
+   [`travis-image-status` - quickly get travis status from an image](https://pypi.org/project/travis-image-status/)

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>
travis-cron 2020.12.3
manage travis crons
License: Unlicense
Keywords: travis cron

<!--
https://readme42.com
-->


[![](https://img.shields.io/pypi/v/travis-cron.svg?maxAge=3600)](https://pypi.org/project/travis-cron/)
[![](https://img.shields.io/badge/License-Unlicense-blue.svg?longCache=True)](https://unlicense.org/)

### Installation
```bash
$ [sudo] pip install travis-cron
```

#### Related
+   [`travis-cron` - travis cron management](https://pypi.org/project/travis-cron/)
+   [`travis-env` - travis environment variables management](https://pypi.org/project/travis-env/)
+   [`travis-exec` - execute command for every travis repo](https://pypi.org/project/travis-exec/)
+   [`travis-generator` - `.travis.yml` generator](https://pypi.org/project/travis-generator/)
+   [`travis-image-status` - quickly get travis status from an image](https://pypi.org/project/travis-image-status/)

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>
touch 2020.12.3
touch(path) - update the access and modification date of a path(s)
License: Unlicense
Keywords: touch file

<!--
https://readme42.com
-->


[![](https://img.shields.io/pypi/v/touch.svg?maxAge=3600)](https://pypi.org/project/touch/)
[![](https://img.shields.io/badge/License-Unlicense-blue.svg?longCache=True)](https://unlicense.org/)

### Installation
```bash
$ [sudo] pip install touch
```

#### Examples
```python
>>> import touch
>>> touch.touch("path/to/file")
>>> touch.touch(["path/to/file1","path/to/file2"])
```

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>
timedelta 2020.12.3
datetime.timedelta replacement
License: Unlicense
Keywords: timedelta

<!--
https://readme42.com
-->


[![](https://img.shields.io/pypi/v/timedelta.svg?maxAge=3600)](https://pypi.org/project/timedelta/)
[![](https://img.shields.io/badge/License-Unlicense-blue.svg?longCache=True)](https://unlicense.org/)

### Installation
```bash
$ [sudo] pip install timedelta
```

#### Examples
```python
>>> import timedelta

>>> td = timedelta.Timedelta(days=2, hours=2)

# init from datetime.timedelta
>>> td = timedelta.Timedelta(datetime1 - datetime2)
```

`total` seconds, minutes, hours, days
```python
>>> td = timedelta.Timedelta(days=2, hours=2)
>>> td.total.seconds
180000
>>> td.total.minutes
3000
>>> td.total.hours
50
>>> td.total.days
2
```

#### Links
+ [timedelta Objects](https://docs.python.org/3/library/datetime.html#timedelta-objects)

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>
templates-s3 2020.12.3
store templates on S3
License: Unlicense
Keywords: templates s3

<!--
https://readme42.com
-->



[![](https://img.shields.io/badge/OS-Unix-blue.svg?longCache=True)]()
[![](https://img.shields.io/pypi/v/templates-s3.svg?maxAge=3600)](https://pypi.org/project/templates-s3/)
[![](https://img.shields.io/badge/License-Unlicense-blue.svg?longCache=True)](https://unlicense.org/)

### Installation
```bash
$ [sudo] pip install templates-s3
```

```bash
$ [sudo] npm i -g templates-s3
```

#### Pros
+   store templates on S3 - no need rebuild docker image

#### How it works
`templates/` hard-coded folder

scripts:
+   create full-access/read-only user and credentials
+   upload/download `templates/`

hard-coded environment variables names:
+   `AWS_S3_TEMPLATES_BUCKET`
+   `AWS_S3_TEMPLATES_USER`
+   `AWS_S3_TEMPLATES_ACCESS_KEY_ID`
+   `AWS_S3_TEMPLATES_SECRET_ACCESS_KEY`

#### Examples
`Makefile`, create env
```bash
TEMPLATES_BUCKET:=BUCKET_NAME
all:
    test -s .env.s3.templates || templates-s3-create-full-access-env $(TEMPLATES_BUCKET) > .env.s3.templates
    test -s .env.prod.templates || templates-s3-create-read-only-env $(TEMPLATES_BUCKET) > .env.prod.templates
```

upload `templates/` to S3 
```bash
set -o allexport
. .env.s3.templates || exit

templates-s3-upload
```

`Dockerfile` 
```Dockerfile
ENTRYPOINT ["/bin/sh","/entrypoint.sh"]
```

`entrypoint.sh`
```bash
templates-s3-download
...
```

`ansible-playbook.yml`
```yml
...
  tasks:
  - name: task_name
    docker_container:
      ...
      env_file: ".env.prod"
```

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>
temp-untar 2020.12.3
unpack tar archive to a temp directory
License: Unlicense
Keywords: tar

<!--
https://readme42.com
-->



[![](https://img.shields.io/badge/OS-Unix-blue.svg?longCache=True)]()
[![](https://img.shields.io/pypi/v/temp-untar.svg?maxAge=3600)](https://pypi.org/project/temp-untar/)
[![](https://img.shields.io/badge/License-Unlicense-blue.svg?longCache=True)](https://unlicense.org/)

### Installation
```bash
$ [sudo] pip install temp-untar
```

```bash
$ [sudo] npm i -g temp-untar
```

#### Examples
```bash
$ temp-untar file.tar.gz
/var/folders/t8/6x3s8whx545fr5dx07k81y_r0000gn/T/tmp.SSDkfeva
```

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>
temp-copy 2020.12.3
create a temp copy of a file/directory
License: Unlicense
Keywords: temp copy

<!--
https://readme42.com
-->



[![](https://img.shields.io/badge/OS-Unix-blue.svg?longCache=True)]()
[![](https://img.shields.io/pypi/v/temp-copy.svg?maxAge=3600)](https://pypi.org/project/temp-copy/)
[![](https://img.shields.io/badge/License-Unlicense-blue.svg?longCache=True)](https://unlicense.org/)

### Installation
```bash
$ [sudo] pip install temp-copy
```

```bash
$ [sudo] npm i -g temp-copy
```

#### Examples
```bash
$ cd path/to/repo
$ temp-copy .
/var/folders/t8/6x3s8whx545fr5dx07k81y_r0000gn/T/tmp.8XKglxPU
```

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>
tar-diff 2020.12.3
compare two tar archives
License: Unlicense
Keywords: tar diff

<!--
https://readme42.com
-->



[![](https://img.shields.io/badge/OS-Unix-blue.svg?longCache=True)]()
[![](https://img.shields.io/pypi/v/tar-diff.svg?maxAge=3600)](https://pypi.org/project/tar-diff/)
[![](https://img.shields.io/badge/License-Unlicense-blue.svg?longCache=True)](https://unlicense.org/)

### Installation
```bash
$ [sudo] pip install tar-diff
```

```bash
$ [sudo] npm i -g tar-diff
```

#### Features
file/url arguments supported

#### Examples
```bash
$ diff="$(tar-diff archive1.tar.gz archive2.tar.gz)"
```

complicated example. bump python project version
```bash
$ dist_dir="$(mktemp -d)"
$ python setup.py sdist --dist-dir="$dist_dir" &> /dev/null
$ sdist="$(find "$dist_dir" -type f -name "*.tar.gz")"
$ url="$(python -m pypi_get.urls <name> | grep tar.gz)"
$ diff="$(tar-diff "$sdist" "$url")"
$ [[ -n "$diff" ]] && bumpversion
```

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>
supervisor-logs 2020.12.3
supervisor logs
License: Unlicense
Keywords: supervisor log

<!--
https://readme42.com
-->


[![](https://img.shields.io/pypi/v/supervisor-logs.svg?maxAge=3600)](https://pypi.org/project/supervisor-logs/)
[![](https://img.shields.io/badge/License-Unlicense-blue.svg?longCache=True)](https://unlicense.org/)

### Installation
```bash
$ [sudo] pip install supervisor-logs
```

#### Examples
`file.ini` before
```
[program:name]
```

```bash
$ export SUPERVISOR_LOGS=~/Library/Logs
$ python -m supervisor_logs.add file.ini
```

`file.ini` after
```
[program:name]
stderr_logfile = ~/Library/Logs/supervisor/name/err.log
stdout_logfile = ~/Library/Logs/supervisor/name/out.log
```

```bash
$ find . -name "*.ini" -exec supervisor_logs.add {} \;  # add logs to program sections
$ find . -name "*.ini" -exec supervisor_logs.mkdir {} \;  # make log directories
$ find . -name "*.ini" -exec supervisor_logs.clear {} \;  # clear log files
```

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>
stdin 2020.12.3
stdin.size(), stdin.read() functions
License: Unlicense
Keywords: stdin

<!--
https://readme42.com
-->


[![](https://img.shields.io/pypi/v/stdin.svg?maxAge=3600)](https://pypi.org/project/stdin/)
[![](https://img.shields.io/badge/License-Unlicense-blue.svg?longCache=True)](https://unlicense.org/)

### Installation
```bash
$ [sudo] pip install stdin
```

#### Examples
```bash
$ printf "stdin text" | python -c "import stdin;print(stdin.size())"
10
$ echo "stdin text" | python -c "import stdin;print(stdin.size())"
11
```

```bash
python -c "import stdin;print(stdin.read())"

$ echo "stdin text" | python -c "import stdin;print(stdin.read())"
stdin text
```

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>
ssh-upload 2020.12.3
re-fork git repo
License: Unlicense
Keywords: refork git

<!--
https://readme42.com
-->



[![](https://img.shields.io/badge/OS-Unix-blue.svg?longCache=True)]()
[![](https://img.shields.io/pypi/v/ssh-upload.svg?maxAge=3600)](https://pypi.org/project/ssh-upload/)
[![](https://img.shields.io/badge/License-Unlicense-blue.svg?longCache=True)](https://unlicense.org/)

### Installation
```bash
$ [sudo] pip install ssh-upload
```

```bash
$ [sudo] npm i -g ssh-upload
```

#### Examples
```bash
$ cd path/to/forked-repo
$ refork git@github.com:wbond/package_control_channel.git # url required 1 time only
```

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>
smart-folder 2020.12.3
smart folder with symlinks
License: Unlicense
Keywords: folder

<!--
https://readme42.com
-->



[![](https://img.shields.io/badge/OS-Unix-blue.svg?longCache=True)]()
[![](https://img.shields.io/pypi/v/smart-folder.svg?maxAge=3600)](https://pypi.org/project/smart-folder/)
[![](https://img.shields.io/badge/License-Unlicense-blue.svg?longCache=True)](https://unlicense.org/)

### Installation
```bash
$ [sudo] pip install smart-folder
```

```bash
$ [sudo] npm i -g smart-folder
```

#### How it works
targets|`folder`
-|-
`path/to/<repo1>`|`<folder>/<repo1 symlink>`
`path/to/<repo2>`|`<folder>/<repo2 symlink>`

#### Examples
`find`
```bash
$ find ~/git -type d -name "*.py" -mindepth 1 -maxdepth 1 | xargs smart-folder "py"
```

macOS `mdfind`
```bash
$ mdfind "kMDItemUserTags == py" -0 | xargs -0 smart-folder "py"
```

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>
slicedict 2020.12.3
slice dict by keys
License: Unlicense
Keywords: slice dict

<!--
https://readme42.com
-->


[![](https://img.shields.io/pypi/v/slicedict.svg?maxAge=3600)](https://pypi.org/project/slicedict/)
[![](https://img.shields.io/badge/License-Unlicense-blue.svg?longCache=True)](https://unlicense.org/)

### Installation
```bash
$ [sudo] pip install slicedict
```

#### Examples
```python
>>> import slicedict

>>> medatata = dict(name="pkgname", version="1.0.0", somekey="value")
>>> slicedict.slice(medatata, ["name", "version"])
{'version': '1.0.0', 'name': 'pkgname'}
```

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>
shields 2020.12.3
shields.io badges
License: Unlicense
Keywords: shields badges

<!--
https://readme42.com
-->


[![](https://img.shields.io/pypi/v/shields.svg?maxAge=3600)](https://pypi.org/project/shields/)
[![](https://img.shields.io/badge/License-Unlicense-blue.svg?longCache=True)](https://unlicense.org/)

### Installation
```bash
$ [sudo] pip install shields
```

#### Features
+   autoformat strings
+   [shields.io](http://shields.io/) **parameters**: `style`, `for-the-badge`, `social`), `label`, `logo`, `logoWidth`, `colorA`, `colorB`, `maxAge`, `longCache`
+   [shields.io](http://shields.io/) **styles**: `flat` (default), `plastic`, `flat-square`, `for-the-badge`, `social`

#### Examples
static badge [![](https://img.shields.io/badge/subject-status-blue.svg)]()
```python
>>> shields.Badge(subject="subject", status="status", color="blue", maxAge=3600)
'[![](https://img.shields.io/badge/subject-status-blue.svg)]()'
```

##### pypi badges

[![](https://img.shields.io/pypi/v/django.svg)](https://pypi.org/pypi/django/)
[![](https://img.shields.io/pypi/pyversions/django.svg)](https://pypi.org/pypi/django/)
[![](https://img.shields.io/pypi/l/django.svg)](https://pypi.org/pypi/django/)
[![](https://img.shields.io/pypi/wheel/django.svg)](https://pypi.org/pypi/django/)
[![](https://img.shields.io/pypi/format/django.svg)](https://pypi.org/pypi/django/)
[![](https://img.shields.io/pypi/implementation/django.svg)](https://pypi.org/pypi/django/)
[![](https://img.shields.io/pypi/status/django.svg)](https://pypi.org/pypi/django/)

```python
>>> shields.pypi.V("django")
'[![](https://img.shields.io/pypi/v/django.svg)](https://pypi.org/pypi/name/)'

>>> shields.pypi.Pyversions("django")
'[![](https://img.shields.io/pypi/pyversions/django.svg)](https://pypi.org/pypi/name/)'

>>> shields.pypi.L("django")
'[![](https://img.shields.io/pypi/l/django.svg)](https://pypi.org/pypi/name/)'
```

##### subclass

```python
>>> class New(shields.Abstract):
    path = "npm/v/{name}.svg"
    link = "https://www.npmjs.com/package/{name}"

>>> Npm(name="jquery")
'[![](https://img.shields.io/npm/v/jquery.svg)](https://www.npmjs.com/package/jquery)'
```

#### Links
+   [shields.io](http://shields.io/)

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>
shell-waitpid 2020.12.3
waitpid - wait for process(es) termination
License: Unlicense
Keywords: waitpid

<!--
https://readme42.com
-->



[![](https://img.shields.io/badge/OS-Unix-blue.svg?longCache=True)]()
[![](https://img.shields.io/pypi/v/shell-waitpid.svg?maxAge=3600)](https://pypi.org/project/shell-waitpid/)
[![](https://img.shields.io/badge/License-Unlicense-blue.svg?longCache=True)](https://unlicense.org/)

### Installation
```bash
$ [sudo] pip install shell-waitpid
```

```bash
$ [sudo] npm i -g shell-waitpid
```

#### Examples
```bash
$ sleep 10 &
$ waitpid $!
```

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>
shell-true-case-path 2020.12.3
get case exact path as stored in the filesystem
License: Unlicense
Keywords: case path

<!--
https://readme42.com
-->



[![](https://img.shields.io/badge/OS-Unix-blue.svg?longCache=True)]()
[![](https://img.shields.io/pypi/v/shell-true-case-path.svg?maxAge=3600)](https://pypi.org/project/shell-true-case-path/)
[![](https://img.shields.io/badge/License-Unlicense-blue.svg?longCache=True)](https://unlicense.org/)

### Installation
```bash
$ [sudo] pip install shell-true-case-path
```

```bash
$ [sudo] npm i -g shell-true-case-path
```

#### Examples
```bash
$ true-case-path ~/downloads
~/Downloads
```

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>
shell-timeout 2020.12.3
timeout command
License: Unlicense
Keywords: timeout

<!--
https://readme42.com
-->



[![](https://img.shields.io/badge/OS-Unix-blue.svg?longCache=True)]()
[![](https://img.shields.io/pypi/v/shell-timeout.svg?maxAge=3600)](https://pypi.org/project/shell-timeout/)
[![](https://img.shields.io/badge/License-Unlicense-blue.svg?longCache=True)](https://unlicense.org/)

### Installation
```bash
$ [sudo] pip install shell-timeout
```

```bash
$ [sudo] npm i -g shell-timeout
```

#### How it works
If the command times out, then exit with status 124. Otherwise, exit with the status of COMMAND

#### Examples
```bash
$ timeout 1 sleep 2
```

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>
shell-cache 2020.12.3
shell cache
License: Unlicense
Keywords: cache

<!--
https://readme42.com
-->



[![](https://img.shields.io/badge/OS-Unix-blue.svg?longCache=True)]()
[![](https://img.shields.io/pypi/v/shell-cache.svg?maxAge=3600)](https://pypi.org/project/shell-cache/)
[![](https://img.shields.io/badge/License-Unlicense-blue.svg?longCache=True)](https://unlicense.org/)

### Installation
```bash
$ [sudo] pip install shell-cache
```

```bash
$ [sudo] npm i -g shell-cache
```

#### How it works
```bash
$SHELL_CACHE/<hash> # ~/.cache/shell-cache/<hash> by default
```

#### Config
optional. environment variables:
```bash
$ export SHELL_CACHE=~/.cache/shell-cache # $XDG_CACHE_HOME/shell-cache by default
```

#### Examples
```bash
$ shell-cache "key" "value ..."
$ shell-cache "key"
"value ..."
```

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>