dygo


Namedygo JSON
Version 0.2.0 PyPI version JSON
download
home_pageNone
SummaryDynamic Gooey from config files
upload_time2025-02-11 15:00:45
maintainerNone
docs_urlNone
authorNone
requires_python>=3.7
licenseNone
keywords gooey gui json jsonpath yaml
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # `dygo` - Dynamic Gooey

[![PyPI - Version](https://img.shields.io/pypi/v/dygo.svg)](https://pypi.org/project/dygo)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/dygo.svg)](https://pypi.org/project/dygo)

-----

**Table of Contents**

- [About](#about)
- [Installation](#installation)
- [Usage](#usage)
- [License](#license)

## About

Dynamic Gooey (`dygo`) ...

1. Parses config files (json or yaml)
1. Extracts values which have to be defined by the user during runtime
1. Renders a GUI via [Gooey](https://github.com/chriskiehl/Gooey)
1. Let the user insert the values for the dynamic parameters
1. Inserts the received entries into the config
1. Returns the config

## Installation

```console
pip install dygo
```

## Usage

```python
from dygo import render

my_cfg = render("path/to/jsonORyaml")
```

The dynamic key needs to be inserted as a dict into the config file. The following two examples do the exact same.

- yaml

    ```yaml
    my_dynamic_param:
        dygo: 'room for a comment here'
        dest: 'param1'
    ```

- json

    ```json
    "my_dynamic_param": {"dygo": "dygo", "dest": "param1"},
    ```

The rendered GUI looks like this:

![example](img/example.png)

The dict will be replaced with the value received from the user. Assuming the user entered `abc` for `param1`, the dict afterwards looks like `{"my_dynamic_param": "abc"}`.

Currently the key `dygo` serves as a flag for Dynamic Gooey to detect dynamic parameters (the value is ignored). All other key-value pairs in the `dygo` dict are treated as args for `GooeyParser.add_argument` (see [Gooey](https://github.com/chriskiehl/Gooey) for further documentation). Most important is the `dest` arg whose value will be displayed as a name of the parameter for the user.

## License

`dygo` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "dygo",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": null,
    "keywords": "gooey, gui, json, jsonpath, yaml",
    "author": null,
    "author_email": "Birkenbach Marius <wesci@web.de>",
    "download_url": null,
    "platform": null,
    "description": "# `dygo` - Dynamic Gooey\n\n[![PyPI - Version](https://img.shields.io/pypi/v/dygo.svg)](https://pypi.org/project/dygo)\n[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/dygo.svg)](https://pypi.org/project/dygo)\n\n-----\n\n**Table of Contents**\n\n- [About](#about)\n- [Installation](#installation)\n- [Usage](#usage)\n- [License](#license)\n\n## About\n\nDynamic Gooey (`dygo`) ...\n\n1. Parses config files (json or yaml)\n1. Extracts values which have to be defined by the user during runtime\n1. Renders a GUI via [Gooey](https://github.com/chriskiehl/Gooey)\n1. Let the user insert the values for the dynamic parameters\n1. Inserts the received entries into the config\n1. Returns the config\n\n## Installation\n\n```console\npip install dygo\n```\n\n## Usage\n\n```python\nfrom dygo import render\n\nmy_cfg = render(\"path/to/jsonORyaml\")\n```\n\nThe dynamic key needs to be inserted as a dict into the config file. The following two examples do the exact same.\n\n- yaml\n\n    ```yaml\n    my_dynamic_param:\n        dygo: 'room for a comment here'\n        dest: 'param1'\n    ```\n\n- json\n\n    ```json\n    \"my_dynamic_param\": {\"dygo\": \"dygo\", \"dest\": \"param1\"},\n    ```\n\nThe rendered GUI looks like this:\n\n![example](img/example.png)\n\nThe dict will be replaced with the value received from the user. Assuming the user entered `abc` for `param1`, the dict afterwards looks like `{\"my_dynamic_param\": \"abc\"}`.\n\nCurrently the key `dygo` serves as a flag for Dynamic Gooey to detect dynamic parameters (the value is ignored). All other key-value pairs in the `dygo` dict are treated as args for `GooeyParser.add_argument` (see [Gooey](https://github.com/chriskiehl/Gooey) for further documentation). Most important is the `dest` arg whose value will be displayed as a name of the parameter for the user.\n\n## License\n\n`dygo` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license.\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Dynamic Gooey from config files",
    "version": "0.2.0",
    "project_urls": {
        "Documentation": "https://github.com/m-birke/dygo#readme",
        "Issues": "https://github.com/m-birke/dygo/issues",
        "Source": "https://github.com/m-birke/dygo"
    },
    "split_keywords": [
        "gooey",
        " gui",
        " json",
        " jsonpath",
        " yaml"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "eb2242a9561ff79d0cb5161ac6157f6b7b802eff6ae0569693b6d9ff0dcf01d8",
                "md5": "450cdb71d97d700280734cdc881f80a7",
                "sha256": "054a48c22ff309167124b1907e12bb673491877e13dc4bbb6091bafda49d8ebd"
            },
            "downloads": -1,
            "filename": "dygo-0.2.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "450cdb71d97d700280734cdc881f80a7",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 4215,
            "upload_time": "2025-02-11T15:00:45",
            "upload_time_iso_8601": "2025-02-11T15:00:45.020888Z",
            "url": "https://files.pythonhosted.org/packages/eb/22/42a9561ff79d0cb5161ac6157f6b7b802eff6ae0569693b6d9ff0dcf01d8/dygo-0.2.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-02-11 15:00:45",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "m-birke",
    "github_project": "dygo#readme",
    "github_not_found": true,
    "lcname": "dygo"
}
        
Elapsed time: 0.97129s