semvec/pypi-packages huggingface dataset:
pypi-activity 2020.12.3
pypi.org activity journal
License: Unlicense
Keywords: pypi

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


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

### Installation
```bash
$ [sudo] pip install pypi-activity
```

#### Examples
```python
from datetime import timedelta
import pypi_activity

for change in pypi_activity.getchangelog(pypi_activity.gettimestamp(timedelta(minutes=10))):
    print(change.name,change.version,change.action,change.timestamp,)
```

action|example
-|-
`create`|`PyKeeSAP None create 1592239659`
`new release`|`PyKeeSAP 1 new release 1592239659`
`remove project`|`epyauvi None remove project 1592226089`
`add Maintainer`|`pymc3 None add Maintainer id.mosthege.net 1592235439`
`add Owner`|`bsoid None add Owner HSUAI 1592240050`
`change Maintainer`|`virtualenv None change Maintainer gaborbernat to Owner 1591992009`
`change Owner`|`polyswarm None change Owner polyswarm-gitlab to Maintainer 1592225554`
`remove Maintainer`|`pivotal-django-zendesk None remove Maintainer thenautumn 1592238459`
`remove Owner`|`polyswarm-api None remove Owner polyswarmbsadmin 1592225540`
`add ... file`|`pymplschapters 1.0.4 add py3 file pymplschapters-1.0.4-py3-none-any.whl 1592239702`

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>
public 2020.12.3
replace __all__ with @public.add decorator
License: Unlicense
Keywords: public __all__

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


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

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

#### Features
+   replace [`__all__`](https://stackoverflow.com/questions/44834/can-someone-explain-all-in-python) with `@public.add` decorator


before
```python
__all__ = ["func"]

def func():
```

after
```python
import public

@public.add
def func():
```

#### Examples
```python
>>> import public
>>> @public.add
    def func(): pass

>>> @public.add
    class Cls: pass

>>> __all__
['Cls','func']

>>> public.add("name")
>>> public.add(*["name1","name2"])

>>> __all__
['Cls','func','name','name1','name2']
```

#### Links
+   [Importing * From a Package. Python documentation](https://docs.python.org/3/tutorial/modules.html#importing-from-a-package)
+   [Can someone explain __all__ in Python? Stackoverflow](https://stackoverflow.com/questions/44834/can-someone-explain-all-in-python)

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>
print-imports 2020.12.3
Print every python import
License: Unlicense
Keywords: import

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


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

### Installation
```bash
$ [sudo] pip install print-imports
```

#### Examples
```python
>>> import print_imports
>>> import requests
importing --> requests
importing --> urllib3
importing --> __future__
...
```

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>
postgres-mktempdb 2020.12.3
make temp postgres database
License: Unlicense
Keywords: postgres temp

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



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

### Installation
```bash
$ [sudo] pip install postgres-mktempdb
```

```bash
$ [sudo] npm i -g postgres-mktempdb
```

#### Examples
```bash
$ mktempdb
tmp_LH8LqXy8UGlfMR8zfB3todrc4mwC9Sns
```

delete temp databases:
```bash
$ psql -At -c "SELECT datname FROM pg_database WHERE datname LIKE 'tmp_%'" | xargs -L 1 dropdb
```

delete temp databases created more than 5 minutes ago:
```bash
$ psql -At -c "SELECT datname FROM pg_database
WHERE datname LIKE 'tmp_%' AND (pg_stat_file('base/'||oid||'/PG_VERSION')).modification<now()+interval '5 minutes'" | xargs -L 1 dropdb
```

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>
popd 2020.12.3
@popd decorator. restore previous current directory
License: Unlicense
Keywords: popd

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


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

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

#### Examples
```python
import popd

@popd.popd
def func():
    os.chdir('/tmp')
    print(os.getcwd())
```

```python
>>> os.getcwd()
'/Users/username'
>>> func()
'/tmp'
>>> os.getcwd()
'/Users/username'
```

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>
plural-ru 2020.12.3
russian plurals
License: Unlicense
Keywords: plural russian

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



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

### Installation
```bash
$ [sudo] pip install plural-ru
```

#### Examples
```python
>>> import plural_ru
>>> plural_ru.ru(1,["час","часа","часов"])
'час'
>>> ru(25,["минуту","минуты","минут"])
'минут'
```

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>
pipreqs-update 2020.12.3
update pip requirements file with latest versions
License: Unlicense
Keywords: requirements

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



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

### Installation
```bash
$ [sudo] pip install pipreqs-update
```

#### Examples
```bash
$ pipreqs-update requirements.txt
```

```bash
$ python -m pipreqs_update requirements.txt
```

```python
>>> import pipreqs_update
>>> pipreqs_update.update('requirements.txt')
```

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>
pipetest 2020.12.3
pipe + /bin/test
License: Unlicense
Keywords: pipe test

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



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

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

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

#### Examples
```bash
$ echo 42 | pipetest -gt 40 && echo gt
gt
```

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>
pid-trap 2020.12.3
execute command after process termination
License: Unlicense
Keywords: pid trap

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



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

### Installation
```bash
$ [sudo] pip install pid-trap
```

```bash
$ [sudo] npm i -g pid-trap
```

#### Examples
```bash
sleep 5 &
pid-trap $! echo beep
```

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>
pid-killall 2020.12.3
kill process and child processes
License: Unlicense
Keywords: kill

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



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

### Installation
```bash
$ [sudo] pip install pid-killall
```

```bash
$ [sudo] npm i -g pid-killall
```

#### Examples
```bash
pid-killall <pid>
```

signal:
```
pid-killall -9 <pid>
```

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>
pid-elapsed 2020.12.3
process elapsed time
License: Unlicense
Keywords: pid elapsed

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



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

### Installation
```bash
$ [sudo] pip install pid-elapsed
```

```bash
$ [sudo] npm i -g pid-elapsed
```

#### Examples
```bash
$ pid-elapsed <pid>             # --seconds
3601
$ pid-elapsed --minutes <pid>   # --minutes
60
$ pid-elapsed --hours <pid>     # --hours
1
$ pid-elapsed --days <pid>      # --days
0
```

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>
pid-childs 2020.12.3
list all child PIDs
License: Unlicense
Keywords: child pid

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



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

### Installation
```bash
$ [sudo] pip install pid-childs
```

```bash
$ [sudo] npm i -g pid-childs
```

#### Examples
```bash
$ pid-childs <parent-pid>
<child-pid1>
<child-pid2>
...
```

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>
orderdict 2020.12.3
order dict
License: Unlicense
Keywords: dict

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


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

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

#### Examples
```python
>>> import orderdict

>>> metadata = dict(version="1.0.0", name="pkgname")
{'version': '1.0.0', 'name': 'pkgname'}

>>> orderdict.order(["name", "version"], metadata)
OrderedDict([('name', 'pkgname'), ('version', '1.0.0')])
```

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>
only 2020.12.3
@only.<OS> decorator. raise OSError if not supported OS
License: Unlicense
Keywords: only decorator

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


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

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

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>
npm-register-cli 2020.12.3
npmjs.com register package
License: Unlicense
Keywords: npm

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



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

### Installation
```bash
$ [sudo] pip install npm-register-cli
```

```bash
$ [sudo] npm i -g npm-register-cli
```

#### Features
+   register npmjs.com package

#### Examples
```bash
$ npm-register name1 name2
https://www.npmjs.com/package/name1
https://www.npmjs.com/package/name2
```

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>
mktouch 2020.12.3
mkdir+touch
License: Unlicense
Keywords: mktouch touch

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



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

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

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

#### Examples
```python
>>> import mktouch
>>> mktouch.mktouch("folder/file")
>>> mktouch.mktouch(["folder/file1","folder/file2"])
```

```bash
$ mktouch /tmp/not-existing-dir/file
$ ls /tmp/not-existing-dir/file
/tmp/not-existing-dir/file
```

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

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


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

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

#### Examples
```python
>>> import mkdir
>>> mkdir.mkdir('folder')
>>> mkdir.mkdir(['folder1','folder2'])
```

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>
mkcache 2020.12.3
make cache file. inspired by mktemp
License: Unlicense
Keywords: cache

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



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

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

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

#### How it works
```
$XDG_CACHE_HOME/mkcache/<hash>
```

#### Config
```bash
export MKCACHE=path/to/cache # ~/.cache/mkcache by default
```

#### Examples
example 1. run script only once:
```bash
path="$(mkcache script "$@")"
! [ -e "$path" ] && { script "$@" || exit; touch "$path"; }
```

example 2. speed up macOS tts with mkcache:
```bash
path="$(mkcache "$@")"
! [ -e "$path" ] && /usr/bin/say "$@" -o "$path"
afplay "$path"
```

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>
mdown 2020.12.3
markdown generator
License: Unlicense
Keywords: markdown

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


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

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

#### Examples
**header**
```python
>>> import mdown
>>> mdown.header("title", 6)
'###### Title'
```
**code**
```python
>>> mdown.code("$ [sudo] pip install readme_md", "bash")
# look Install section :)
```

**image**
```python
>>> mdown.image("https://domain.com/image.png", title="title text", alt="alt text")
'![alt text](https://domain.com/image.png "title text")'
```

**table**
```python
>>> mdown.table(("header1","header2"),(("cell11","cell12"), ("cell21","cell22")))
'header1|header2
-|-
cell11|cell12
cell21|cell22'
```

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>
mdfind 2020.12.3
mdfind wrapper
License: Unlicense
Keywords: mdfind

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


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

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

#### Examples
```python
>>> import mdfind
>>> mdfind.name('Group Containers')
['/Users/username/Library/Group Containers']
```

```python
>>> mdfind.query('kMDItemContentType==public.shell-script')
[...]
```

```python
>>> mdfind.count(query='kMDItemContentType==public.mp3')
42
>>> mdfind.count(name='Group Containers')
1
```

```python
>>> mdfind.mdfind(['-count','-onlyin','/usr','kMDItemContentType==public.shell-script'])
42
```

#### Links
+   [File Metadata Query Expression Syntax](https://developer.apple.com/library/archive/documentation/Carbon/Conceptual/SpotlightQuery/Concepts/QueryFormat.html)

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>
markdown-lists 2020.12.3
render markdown nested lists
License: Unlicense
Keywords: markdown lists

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


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

### Installation
```bash
$ [sudo] pip install markdown-lists
```

#### Examples
```python
>>> import markdown_lists

>>> lists = ["item1",["subitem11","subitem12"],"item2"]
>>> markdown_lists.render(lists)
+   item1
    +   subitem11
    +   subitem12
+   item2
```

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>
markdown-link-extractor 2020.12.3
extract links from markdown files
License: Unlicense
Keywords: markdown

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


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

### Installation
```bash
$ [sudo] pip install markdown-link-extractor
```

#### Examples
```bash
$ find -L . -name "README.md" | xargs python -m markdown_link_extractor
```

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>
mac-youtube 2020.12.3
macOS youtube download, Google Chrome.app play/pause
License: Unlicense
Keywords: youtube

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


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

### Installation
```bash
$ [sudo] pip install mac-youtube
```

#### Features
+   `play()`, `pause()`, `playing()`, `urls()` works only in MacOS `Google Chrome.app`

#### Examples
```python
>>> import mac_youtube
>>> mac_youtube.urls()
['https://www.youtube.com/watch?v=cvaIgq5j2Q8','https://www.youtube.com/watch?v=YrhYhI3L32c']
>>> mac_youtube.play()
>>> mac_youtube.playing()
['https://www.youtube.com/watch?v=cvaIgq5j2Q8']
>>> mac_youtube.pause()
```

info
```python
>>> info = mac_youtube.info("cvaIgq5j2Q8")
>>> "%s.%s" % (info["title"], info["ext"])
'Nightcore - Angel With A Shotgun.webm'
```

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>
mac-wallpaper 2020.12.3
get/set macOS wallpaper
License: Unlicense
Keywords: wallpaper

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



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

### Installation
```bash
$ [sudo] pip install mac-wallpaper
```

```bash
$ [sudo] npm i -g mac-wallpaper
```

#### Examples
```bash
$ wallpaper path/to/wallpaper.jpg
$ wallpaper
path/to/wallpaper.jpg
```

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

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



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

### Installation
```bash
$ [sudo] pip install mac-volume
```

```bash
$ [sudo] npm i -g mac-volume
```

#### Examples
```bash
$ volume 30
$ volume
30
```

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>
mac-vlc 2020.12.3
macOS VLC.app scripts
License: Unlicense
Keywords: vlc

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



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

### Installation
```bash
$ [sudo] pip install mac-vlc
```

```bash
$ [sudo] npm i -g mac-vlc
```

#### Examples
```bash
$ vlc open "path/to/pron.avi"
$ vlc pause
$ vlc play
$ vlc playing
1
```

volume
```bash
$ vlc volume 42
$ vlc volume
42
```

fullscreen
```bash
$ vlc fullscreen-enter
$ vlc fullscreen-detect
1
$ vlc fullscreen-exit
```

frontmost (`1` or `0`)
```bash
$ vlc frontmost
0
```

`VLC.app` process
```bash
$ vlc pid
5726
$ vlc kill
```

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>
mac-terminal-interpreter 2020.12.3
macOS Terminal.app interpreter
License: Unlicense
Keywords: volume

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



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

### Installation
```bash
$ [sudo] pip install mac-terminal-interpreter
```

```bash
$ [sudo] npm i -g mac-terminal-interpreter
```

#### How it works
`script.ext`
```bash
#!/usr/bin/env terminal
...
```

stdout, stderr logs:
```
~/Library/Logs/<slug>/<date>/out.log
~/Library/Logs/<slug>/<date>/err.log
```

#### Config
`~/.bashrc`:
```bash
export MAC_TERMINAL_CLOSE=0 # doesn't close (default)
export MAC_TERMINAL_CLOSE=1 # close if the shell exited cleanly
export MAC_TERMINAL_CLOSE=2 # close always
```

Terminal error sound:
```bash
$ defaults write .GlobalPreferences com.apple.sound.beep.sound /System/Library/Sounds/Basso.aiff
```

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>
mac-tag 2020.12.3
macOS Finder tags. github.com/jdberry/tag python implementation
License: Unlicense
Keywords: finder tag

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


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

### Installation
```bash
$ [sudo] pip install mac-tag
```

#### Requirements
```bash
$ brew install tag
```

#### Examples
```python
>>> mac_tag.update(["Red","Blue"],["path1","path2"])
>>> mac_tag.add(["Green"],["path1","path2"])
```

```python
>>> mac_tag.get(["path1"])
{'path1': ['Blue', 'Red', 'Green']}
```

```python
>>> mac_tag.remove(["Red"],["path1","path2"])
>>> mac_tag.remove(["*"],["path1","path2"])
```

#### Links
+   [github.com/jdberry/tag](https://github.com/jdberry/tag)

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>
mac-tag-sync 2020.12.3
sync macOS Finder tag paths
License: Unlicense
Keywords: tag finder

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



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

### Installation
```bash
$ [sudo] pip install mac-tag-sync
```

```bash
$ [sudo] npm i -g mac-tag-sync
```

#### Requirements
```bash
$ brew install tag
```

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

#### Links
+   [github.com/jdberry/tag](https://github.com/jdberry/tag)

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