semvec/pypi-packages huggingface dataset:
dynamic-json 1.0.3
Enables self referential json entries
License: MIT
Requires Python: >=3.0
Keywords: development json configuration

[![Build Status](https://travis-ci.org/childsish/dynamic-json.svg?branch=master)](https://travis-ci.org/childsish/dynamic-json)

dynamic-json
============

Dynamic-json allows self-referential entries in a json file. It requires no dependencies, but lacks all the nice features of the yaml specification. If you prefer yaml then see [dynamic-yaml][dynamic-yaml].

Usage
-----

The key feature that was introduced is the ability for a string scalar to reference other parts of the configuration tree. This is done using the Python string formatting syntax. The characters '{' and '}' enclose a reference to another entry in the configuration structure. The reference takes the form key1.key2 where key1 maps to another mapping object and can be found in the root mapping, and key2 can be found in key1's mapping object. Multiple levels of nesting can be used (eg. key1.key2.key3 etc...).

An example yaml configuration:
```json
{
  "project_name": "hello-world",
  "dirs": {
    "home": "/home/user",
    "venv": "{dirs.home}/venvs/{project_name}",
    "data": "{dirs.venv}/data",
    "output": "{dirs.data}/output-{parameters.parameter1}-{parameters.parameter2}"
  },
  "parameters": {
    "parameter1": "a",
    "parameter2": "b"
  }
}
```

Reading in a json file:

```python
import dynamic_json

with open('/path/to/file.json') as fileobj:
    cfg = dynamic_json.load(fileobj)
    assert cfg.dirs.venv == '/home/user/venvs/hello-world'
    assert cfg.dirs.output == '/home/user/venvs/hello-world/data/output-a-b'
```

As the variables are dynamically resolved, it is also possible to combine this with `argparse`:

```python
import dynamic_json

from argparse import ArgumentParser

with open('/path/to/file.yaml') as fileobj:
    cfg = dynamic_json.load(fileobj)
    parser = ArgumentParser()
    parser.add_argument('--parameter1')
    parser.add_argument('--parameter2')
    parser.parse_args('--parameter1 c --parameter2 d'.split(), namespace=cfg.parameters)
    assert cfg.dirs.output == '/home/user/venvs/hello-world/data/output-c-d'
```

Installation
------------

To install, simply run:

```bash
pip install dynamic-json
```

Restrictions
------------

Due to the short amount of time I was willing to spend on working upon this, there are a few restrictions that I could not overcome.

* **Certain keys can only be used via `__getitem__` and not `__getattr__`.**
Because `dict` comes with it's own set of attributes that are always resolved first, the values for the following keys must be gotten using the item getter rather than the attribute getter (eg. config['items'] vs. config.items):
  * append
  * extend
  * insert
  * remove
  * pop
  * clear
  * index
  * count
  * sort
  * reverse
  * copy
zoom-toolkit 2.0
This is a simple yet useful toolkit implemented for working on zoom records.
License: MIT
Keywords: Zoom,Automated,Video Processing

# Zoom Toolkit


This is a simple yet useful toolkit implemented for working on zoom records. There exists 3 functionalities that 
 automates the video processing procedure designed specifically for Zoom videos.

## Features

 - Silence Cut
    - Detecting and eliminating high amount and long duration silent parts in videos.
 - Face Removal
     - Automatically detects and blurs the portrait of the speaker that shares screen.
 - Scene Detect
    - Detects important frames.

## Installation

You can simple use pip,

```console
pip install zoom-toolkit
```

Download the source code from <a href="https://github.com/OnurArdaB/Zoom-Toolkit/">here</a> and then just type the command below inside the project folder.

```console
python setup.py install
```

## Quick Start Guide

- Silence Cut

```python
from zoom_toolkit.silencecut import SilenceCut
SilenceCut.operate(FRAME_RATE=30,SAMPLE_RATE=44100,SILENT_THRESHOLD=0.03,FRAME_SPREADAGE=1,NEW_SPEED=[5.00,1.00],FRAME_QUALITY=3,"path to the file","path to output file")
```
- Face Removal

```python
from zoom_toolkit.face_remove import FaceRemover
FaceRemover().face_remove("path to the file",False,1000,1050)
```
Module also allows users to state manual time zones for face removal with blurring or darkening option.

- Scene Detect
```python
from zoom_toolkit.scene_detector import SceneDetect
SceneDetect.Detect(input_vid_name = "video.mp4")
```

Further documentations will be announced soon.

This project has been developed under the supervision of Berrin Yanıkoğlu for ENS-492 (Graduation Project).