semvec/pypi-packages huggingface dataset:
mac-app-factory 2020.12.3
macOS apps mass generator
License: Unlicense
Keywords: mac app

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



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

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

```bash
$ [sudo] npm i -g mac-app-factory
```

#### How it works
```
<name>.app
├── Contents
│   ├── MacOS
│   │   └── executable
│   ├── Resources
│   │   └── Icon.icns
│   └── Info.plist
│   executable          # edit this file. shebang required
│   <image>.png         # copy any png image
│   reveal.sh           # helper for reveal folder from your IDE
```

#### Features
+   super fast (pure shell)
+   safe (native apps ignored)

#### Examples
```bash
$ mac-app-factory path/to/my-finder-toolbar-apps path/to/my-dock-apps
```

```bash
$ mac-app-factory path/to/name1.app path/to/name2.app
```

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>
mac-app-env 2020.12.3
set macOS app environment variables (Info.plist LSEnvironment)
License: Unlicense
Keywords: mac app env

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


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

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

#### How it works
`.env` file
```bash
PATH=path/to/custom/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
```

`<app>/Contents/Info.plist`
```xml
<key>LSEnvironment</key>
<dict>
     <key>PATH</key>
     <string>path/to/custom/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin</string>
</dict>
```

#### Examples
```bash
$ find . "*.app" | xargs python -m mac_app_env .env
```

paths with spaces:
```bash
$ find . "*.app" -exec python -m mac_app_env .env {} \;
```

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

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



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

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

```bash
$ [sudo] npm i -g mac-app-bundleid
```

#### Examples
```bash
$ app-bundleid "Finder"
com.apple.finder
$ app-bundleid /System/Library/CoreServices/Finder.app
com.apple.finder
```

```bash
$ app-bundleid path/to/my-app.app "me.my-app.app"
$ app-bundleid path/to/my-app.app
me.my-app.app
```

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>
mac-agents 2020.12.3
LaunchAgents + python
License: Unlicense
Keywords: LaunchAgents launchd plist

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


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

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

#### Examples
`~/Library/LaunchAgents/file.py`
```python
import mac_agents

class Agent(mac_agents.Agent):
    StartInterval = 5  # capital letter

    def run(self):
        pass

if __name__ == "__main__":
    Agent().run()
```

```bash
$ find ~/Library/LaunchAgents -name "*.py" | xargs python -m mac_agents.create "$@"
$ find ~/Library/LaunchAgents -name "*.plist" | xargs launchctl load # or launchctl unload
$ launchctl list | grep .py$ | awk '{print $3}' | xargs -I '{}' launchctl remove {}
$ find ~/Library/LaunchAgents -name "*.py.plist" -exec rm {} +
```

#### Links
+   [launchd.plist](https://www.real-world-systems.com/docs/launchd.plist.5.html)

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

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



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

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

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

#### Examples
```python
>>> import mac_afk
>>> import time
>>> time.sleep(2); mac_afk.seconds()
2
```

```bash
$ sleep 3 && afk
3
```

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

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


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

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

#### Examples
```python
from lowerdict import lowerdict

# lowerdict(*args, **kwargs)
lowerdict({"KEY": "value", "KEY2": "value2"})
>>> {"key": "value", "key2": "value2"}
```

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>
log-exec 2020.12.3
exec command and log stdout and stderr
License: Unlicense
Keywords: log

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



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

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

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

#### How it works
stdout and stderr are duplicated in log files:
```bash
$LOG_EXEC/<command>/out.log
$LOG_EXEC/<command>/err.log
```

#### Config
```bash
$ export LOG_EXEC=~/Library/Logs/log-exec # /usr/local/var/log/log-exec by default
```

#### Examples
```bash
$ log-exec script.sh
```

or use `log-exec` as interpreter:

`script.sh`
```bash
#!/usr/bin/env log-exec bash
...
```

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>
listify 2020.12.3
@listify decorator - return a list instead of a generator
License: Unlicense
Keywords: listify list

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


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

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

#### Examples
`yield` + `list()`
```python
>>> def func():
        yield "value"

>>> list(func())
```
`list.append()`
```python
>>> def func():
        result = []
        result.append("value")
        return result
```

`@listify`
```python
>>> @listify
    def func():
        yield "value"
```

<p align="center">
    <a href="https://readme42.com/">readme42.com</a>
</p>
launchd-tag 2020.12.3
LaunchAgents Finder tags
License: Unlicense
Keywords: launchd

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



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

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

```bash
$ [sudo] npm i -g launchd-tag
```

#### How it works
color|description
-|-
none|running
Gray|not running
Red|non-zero exit status
Orange|not empty stderr (`StandardErrorPath`)

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

#### Examples
```bash
$ launchd-tag
```

#### Related
+   [`launchd-env` - launchd.plist environment variables](https://pypi.org/project/launchd-env/)
+   [`launchd-exec` - execute script via launchd](https://pypi.org/project/launchd-exec/)
+   [`launchd-generator` - launchd.plist generator](https://pypi.org/project/launchd-generator/)
+   [`launchd-logs` - launchd.plist logs](https://pypi.org/project/launchd-logs/)
+   [`launchd-tag` - LaunchAgents Finder tags](https://pypi.org/project/launchd-tag/)

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

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