python-pyyaml-env-tag
Port variant v13
Summary YAML tag for environment variables (3.13)
Package version 1.1
Homepage https://github.com/waylan/pyyaml-env-tag
Keywords python
Maintainer Python Automaton
License Not yet specified
Other variants v12
Ravenports Buildsheet | History
Ravensource Port Directory | History
Last modified 17 MAY 2025, 00:16:26 UTC
Port created 01 JAN 2023, 17:21:46 UTC
Subpackage Descriptions
single # pyyaml_env_tag A custom YAML tag for referencing environment variables in YAML files. [![PyPI Version][pypi-image]][pypi-link] [![Build Status][GHAction-image]][GHAction-link] [![Coverage Status][codecov-image]][codecov-link] [pypi-image]: https://img.shields.io/pypi/v/pyyaml-env-tag.svg [pypi-link]: https://pypi.org/project/pyyaml-env-tag/ [GHAction-image]: https://github.com/waylan/pyyaml-env-tag/workflows/CI/badge.svg?branch=master&event=push [GHAction-link]: https://github.com/waylan/pyyaml-env-tag/actions?query=event%3Apush+branch%3Amaster [codecov-image]: https://codecov.io/github/waylan/pyyaml-env-tag/coverage.svg?branch=master [codecov-link]: https://codecov.io/github/waylan/pyyaml-env-tag?branch=master ## Installation Install the `pyyaml_env_tag` package with pip: `bash pip install pyyaml_env_tag ` ### Enabling the tag To enable the tag, pass your loader of choice into the `add_env_tag` function, which will return the loader with the construstor added to it. ```python import yaml from yaml_env_tag import add_env_tag myLoader = add_env_tag(yaml.Loader) ``` Then you may use the loader as per usual. For example: ```python yaml.load(data, Loader=myLoader) ``` The `add_env_tag` is a high level helper function. If you need lower level access, you may add the constructor (`yaml_env_tag.construct_env_tag`) to the loader directly using the `add_constructor` method of the loader. Note that this requires that the tag (`!ENV`) be defined as well. ```python from yaml_env_tag import construct_env_tag Loader.add_constructor('!ENV', construct_env_tag) ``` ## Using the tag Include the tag `!ENV` followed by the name of an environment variable in a YAML file and the value of the environment variable will be used in its place. ```yaml key: !ENV SOME_VARIABLE ``` If `SOME_VARIABLE` is set to `A string!`, then the above YAML would result in the following Python object: ```python {'key': 'A string!'} ``` The content of the variable is parsed using YAML's implicit scalar types, such as string, bool, integer, float, datestamp and null. More complex types are not recognized and simply passed through as a string. For example, if `SOME_VARIABLE` was set to the string `true`, then the above YAML would result in the following: ```python {'key': True} ``` If the variable specified is not set, then a `null` value is assigned as a default. You may define your own default as the last item in a sequence. ```yaml key: !ENV [SOME_VARIABLE, default] ``` In the above example, if `SOME_VARIABLE` is not defined, the string
Configuration Switches (platform-specific settings discarded)
PY312 OFF Build using Python 3.12 PY313 ON Build using Python 3.13
Package Dependencies by Type
Build (only) python313:dev:std
python-pip:single:v13
autoselect-python:single:std
Build and Runtime python313:primary:std
Runtime (only) python-PyYAML:single:v13
Download groups
main mirror://PYPIWHL/04/11/432f32f8097b03e3cd5fe57e88efb685d964e2e5178a48ed61e841f7fdce
Distribution File Information
17109e1a528561e32f026364712fee1264bc2ea6715120891174ed1b980d2e04 4722 python-src/pyyaml_env_tag-1.1-py3-none-any.whl
Ports that require python-pyyaml-env-tag:v13
python-mkdocs:v13 Project documentation with Markdown (3.13)