semvec/pypi-packages huggingface dataset:
Bigt 2022.1.4
Bigt is a Python library for compare or merge nested unsorted dictionaries.

# bigt

[![Downloads](https://static.pepy.tech/personalized-badge/Bigt?period=total&left_color=grey&right_color=blue&left_text=Downloads)](https://pepy.tech/project/Bigt)
[![License](https://img.shields.io/static/v1?label=license&message=MIT&color=blueviolet)](https://en.wikipedia.org/wiki/MIT_License)
[![Doc](https://img.shields.io/static/v1?label=doc&message=io&color=blue)](https://vladku.gitlab.io/bigt/)

Bigt is a Python library for compare or merge nested unsorted dictionaries.

Examples:

```python
from bigt.dictext import DictExt

a = {"a": {"a": "str", "b": 123}}
b = {"a": {"a": "str", "b": 1234}}
result, not_present, changed = DictExt(b).issubset(a)
assert not result
assert changed == {"a": {"b": {"old": 1234, "new": 123} } }
assert not not_present
```

```python
>>> DictExt({"a": 3, "b": [{"b": 123}]}) + DictExt({"a": 1, "c": False, "b": [{"a": 12.64}]})
{'a': 1, 'b': [{'b': 123, 'a': 12.64}], 'c': False}
```

```python
>>> DictExt({"aa": 3, "a": [{"b": {"bv": 1, "bc": 2}, "a": 1}, [3,1,8,5]]}).sort()
{'a': [[1, 3, 5, 8], {'a': 1, 'b': {'bc': 2, 'bv': 1}}], 'aa': 3}
```

## Show difference visually

Install `rich` python library or use `pip install Bigt[rich]`

```python
from bigt.pprint import pprint

a = {"a":[{'z': {'a': '21', 'b': False, 'd': '20'}}, {'z': {'a': '1', 'b': False, 'd': '2'}}]}
b = {"a":[{'z': {'a': '1', 'b': False, 'd': {"a": '20'}, "y": {"a": 2}}}]}

pprint(b, a, weights={"a": {'z': {"a": 2}}})
```
![](./docs/source/_static/1.png)

```python
from bigt.pprint import pprint

a = {"a":[{'z': {'a': '21', 'b': False, 'd': '20'}}, {'z': {'a': '1', 'b': False, 'd': '2'}}]}
b = {"a":[{'z': {'a': '1', 'b': False, 'd': {"a": '20'}, "y": {"a": 2}}}]}

pprint(a, b, weights={"a": {'z': {"a": 2}}})
```
![](./docs/source/_static/2.png)

### Assert on difference found

```python
from bigt.pprint import assert_issubset

a = {"a":[{'z': {'a': '21', 'b': False, 'd': '20'}}, {'z': {'a': '1', 'b': False, 'd': '2'}}]}
b = {"a":[{'z': {'a': '1', 'b': False, 'd': {"a": '20'}, "y": {"a": 2}}}]}

assert_issubset(a, b, weights={"a": {'z': {"a": 2}}})
tray-launcher 1.0.9
A launcher for Windows that resides in the taskbar for managing .bat scripts.
Requires Python: ~=3.7

# tray-launcher

[![Python: 3.7+](https://img.shields.io/badge/python-3.7+-blue.svg)](https://docs.python.org/3.7/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![PyPI: tray-launcher](https://img.shields.io/pypi/v/tray-launcher)](https://pypi.org/project/tray-launcher/)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)

A launcher for Windows that resides in the taskbar for managing .bat scripts.

<img src="https://github.com/Jayich-Lab/tray-launcher/raw/main/tray_launcher_at_work.png" width="620" height="410">
<img src="https://github.com/Jayich-Lab/tray-launcher/raw/main/tray_launcher_help_message.png" width="620" height="410">
<img src="https://github.com/Jayich-Lab/tray-launcher/raw/main/tray_launcher_contextmenu.png" width="620" height="410">

## Installation

Install *tray-launcher* with `pip install tray-launcher`.

## Usage

*tray-launcher* comes with a command-line interface. Use `launcher -h` to learn more.

To get started, run `launcher run`, and a small icon will show on the taskbar.

Before running any scripts from *tray-launcher*, they need to be loaded. This can be done by clicking the option **Load New Script(s)** in the context menu. Alternatively, run `launcher load [full path to the script]`. Only *.bat* files are accepted.

To run a script, select it in the **Start a Script** submenu from the context menu, or click **[View in Directory]** to see all loaded scripts from a file dialogue, or run `launcher start [script name]`.

*tray-launcher* listens to port `127.0.0.1:7686`. If this port is not available, create the environment variable `TRAY_LAUNCHER_PORT` and set its value to an available port number.

A log for the tray-launcher and associated *.bat* scripts will be saved under `%USERPROFILE%\.tray_launcher\logs`.

If *tray-launcher* crashes, scripts started with *tray-launcher* will **not** terminate.

There is an expected delay when executing `launcher run`.

When the *tray-launcher* is run in a `conda` environment, scripts started with *tray-launcher* will run in the same `conda` environment. When a `venv` environment is used, scripts may not inherit the environment, and the user may need to add the activate command in a script if it should be run in the `venv`.