directed-inputs-class


Namedirected-inputs-class JSON
Version 1.0.0 PyPI version JSON
download
home_pageNone
SummaryDirected inputs class consumes and processes inputs from sources beyond args and kwargs
upload_time2024-10-01 19:17:27
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseNone
keywords python3
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
# Directed Inputs Class

![Directed Inputs Class Logo](docs/_static/logo.webp)

*🛠️ Manage your Python inputs efficiently! 🎯*

[![CI Status](https://github.com/jbcom/directed-inputs-class/workflows/CI/badge.svg)](https://github.com/jbcom/directed-inputs-class/actions?query=workflow%3ACI)
[![Documentation Status](https://readthedocs.org/projects/directed-inputs-class/badge/?version=latest)](https://directed-inputs-class.readthedocs.io/en/latest/?badge=latest)
[![PyPI Package latest release](https://img.shields.io/pypi/v/directed-inputs-class.svg)](https://pypi.org/project/directed-inputs-class/)
[![Supported versions](https://img.shields.io/pypi/pyversions/directed-inputs-class.svg)](https://pypi.org/project/directed-inputs-class/)

Directed Inputs Class is a Python library that provides a flexible and robust interface for managing inputs from various sources such as environment variables, stdin, and predefined dictionaries. It offers features like input freezing, thawing, and advanced decoding utilities.

## Key Features

- 🧩 **Environment Variable Integration** - Seamlessly integrates environment variables into your inputs.
- 📥 **Stdin Input Handling** - Read and merge inputs from stdin with optional overrides.
- ❄️ **Input Freezing and Thawing** - Freeze inputs to prevent modifications, and thaw them when needed.
- 🔄 **Advanced Decoding Utilities** - Decode inputs from Base64, JSON, and YAML formats with error handling.
- 🔧 **Type Conversion** - Convert inputs to boolean or integer types with robust error handling.

### Example Usage

```python
from directed_inputs_class import DirectedInputsClass

# Initialize with environment variables and stdin
dic = DirectedInputsClass(from_environment=True, from_stdin=True)

# Retrieve and decode an input
decoded_value = dic.decode_input("example_key", decode_from_base64=True)
print(decoded_value)
```

### Freezing and Thawing Inputs

```python
from directed_inputs_class import DirectedInputsClass

# Initialize with some inputs
dic = DirectedInputsClass(inputs={"key1": "value1"})

# Freeze the inputs
frozen_inputs = dic.freeze_inputs()
print(frozen_inputs)  # Outputs: {'key1': 'value1'}

# Thaw the inputs
thawed_inputs = dic.thaw_inputs()
print(thawed_inputs)  # Outputs: {'key1': 'value1'}
```

For more usage examples, see the [Usage](https://directed-inputs-class.readthedocs.io/en/latest/usage.md) documentation.

## Contributing

Contributions are welcome! Please see the [Contributing Guidelines](https://github.com/jbcom/directed-inputs-class/blob/main/CONTRIBUTING.md) for more information.

## Credit

Directed Inputs Class is written and maintained by [Your Name](mailto:yourname@example.com).

## Project Links

- [**Get Help**](https://stackoverflow.com/questions/tagged/directed-inputs-class) (use the *directed-inputs-class* tag on
  Stack Overflow)
- [**PyPI**](https://pypi.org/project/directed-inputs-class/)
- [**GitHub**](https://github.com/jbcom/directed-inputs-class)
- [**Documentation**](https://directed-inputs-class.readthedocs.io/en/latest/)
- [**Changelog**](https://github.com/jbcom/directed-inputs-class/tree/main/CHANGELOG.md)

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "directed-inputs-class",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": "Jon Bogaty <jon@jonbogaty.com>",
    "keywords": "python3",
    "author": null,
    "author_email": "Jon Bogaty <jon@jonbogaty.com>",
    "download_url": "https://files.pythonhosted.org/packages/b9/2a/de92033c2fc6297d269bdb9861b5d09118bc10174edab4a0f047918e663b/directed_inputs_class-1.0.0.tar.gz",
    "platform": null,
    "description": "\n# Directed Inputs Class\n\n![Directed Inputs Class Logo](docs/_static/logo.webp)\n\n*\ud83d\udee0\ufe0f Manage your Python inputs efficiently! \ud83c\udfaf*\n\n[![CI Status](https://github.com/jbcom/directed-inputs-class/workflows/CI/badge.svg)](https://github.com/jbcom/directed-inputs-class/actions?query=workflow%3ACI)\n[![Documentation Status](https://readthedocs.org/projects/directed-inputs-class/badge/?version=latest)](https://directed-inputs-class.readthedocs.io/en/latest/?badge=latest)\n[![PyPI Package latest release](https://img.shields.io/pypi/v/directed-inputs-class.svg)](https://pypi.org/project/directed-inputs-class/)\n[![Supported versions](https://img.shields.io/pypi/pyversions/directed-inputs-class.svg)](https://pypi.org/project/directed-inputs-class/)\n\nDirected Inputs Class is a Python library that provides a flexible and robust interface for managing inputs from various sources such as environment variables, stdin, and predefined dictionaries. It offers features like input freezing, thawing, and advanced decoding utilities.\n\n## Key Features\n\n- \ud83e\udde9 **Environment Variable Integration** - Seamlessly integrates environment variables into your inputs.\n- \ud83d\udce5 **Stdin Input Handling** - Read and merge inputs from stdin with optional overrides.\n- \u2744\ufe0f **Input Freezing and Thawing** - Freeze inputs to prevent modifications, and thaw them when needed.\n- \ud83d\udd04 **Advanced Decoding Utilities** - Decode inputs from Base64, JSON, and YAML formats with error handling.\n- \ud83d\udd27 **Type Conversion** - Convert inputs to boolean or integer types with robust error handling.\n\n### Example Usage\n\n```python\nfrom directed_inputs_class import DirectedInputsClass\n\n# Initialize with environment variables and stdin\ndic = DirectedInputsClass(from_environment=True, from_stdin=True)\n\n# Retrieve and decode an input\ndecoded_value = dic.decode_input(\"example_key\", decode_from_base64=True)\nprint(decoded_value)\n```\n\n### Freezing and Thawing Inputs\n\n```python\nfrom directed_inputs_class import DirectedInputsClass\n\n# Initialize with some inputs\ndic = DirectedInputsClass(inputs={\"key1\": \"value1\"})\n\n# Freeze the inputs\nfrozen_inputs = dic.freeze_inputs()\nprint(frozen_inputs)  # Outputs: {'key1': 'value1'}\n\n# Thaw the inputs\nthawed_inputs = dic.thaw_inputs()\nprint(thawed_inputs)  # Outputs: {'key1': 'value1'}\n```\n\nFor more usage examples, see the [Usage](https://directed-inputs-class.readthedocs.io/en/latest/usage.md) documentation.\n\n## Contributing\n\nContributions are welcome! Please see the [Contributing Guidelines](https://github.com/jbcom/directed-inputs-class/blob/main/CONTRIBUTING.md) for more information.\n\n## Credit\n\nDirected Inputs Class is written and maintained by [Your Name](mailto:yourname@example.com).\n\n## Project Links\n\n- [**Get Help**](https://stackoverflow.com/questions/tagged/directed-inputs-class) (use the *directed-inputs-class* tag on\n  Stack Overflow)\n- [**PyPI**](https://pypi.org/project/directed-inputs-class/)\n- [**GitHub**](https://github.com/jbcom/directed-inputs-class)\n- [**Documentation**](https://directed-inputs-class.readthedocs.io/en/latest/)\n- [**Changelog**](https://github.com/jbcom/directed-inputs-class/tree/main/CHANGELOG.md)\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Directed inputs class consumes and processes inputs from sources beyond args and kwargs",
    "version": "1.0.0",
    "project_urls": {
        "Documentation": "https://github.com/jbcom/directed-inputs-class#readme",
        "Issues": "https://github.com/jbcom/directed-inputs-class/issues",
        "Source": "https://github.com/jbcom/directed-inputs-class"
    },
    "split_keywords": [
        "python3"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1135f8d1f978efac41ca8460238040d1220158b9953c5d46346cf54caa8739ae",
                "md5": "2edfe3fdc1c18f402de613ad08ba9607",
                "sha256": "82f5618ce8989638152e4f6e03a89dc1033da37f50ff2bc28ded69773b8f7890"
            },
            "downloads": -1,
            "filename": "directed_inputs_class-1.0.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "2edfe3fdc1c18f402de613ad08ba9607",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 6150,
            "upload_time": "2024-10-01T19:17:26",
            "upload_time_iso_8601": "2024-10-01T19:17:26.091561Z",
            "url": "https://files.pythonhosted.org/packages/11/35/f8d1f978efac41ca8460238040d1220158b9953c5d46346cf54caa8739ae/directed_inputs_class-1.0.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b92ade92033c2fc6297d269bdb9861b5d09118bc10174edab4a0f047918e663b",
                "md5": "ab2251ce7680d5f988d6c39330f32df2",
                "sha256": "2e012853914f0f4a6d59d648ced55b33ff2bf391d0ffed6acdb16c8e60474efd"
            },
            "downloads": -1,
            "filename": "directed_inputs_class-1.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "ab2251ce7680d5f988d6c39330f32df2",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 300932,
            "upload_time": "2024-10-01T19:17:27",
            "upload_time_iso_8601": "2024-10-01T19:17:27.593761Z",
            "url": "https://files.pythonhosted.org/packages/b9/2a/de92033c2fc6297d269bdb9861b5d09118bc10174edab4a0f047918e663b/directed_inputs_class-1.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-10-01 19:17:27",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "jbcom",
    "github_project": "directed-inputs-class#readme",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "tox": true,
    "lcname": "directed-inputs-class"
}
        
Elapsed time: 0.42911s