Skip to main content

Parse yaml files with variables.

Project description

yaml-replace

Parse yaml files with variables. You can substitute variables in yaml files with values you want to inject.

Installation

pip install yaml-replace

Usage & Examples

You can specify a variable in yaml file with ${{ variable_name }} and then replace it with a value you want to inject.

For example, let's say you have a yaml file some-yaml-file.yaml with the following content:

# some-yaml-file.yaml
name: GitHub Copilot
description: AI Programming Assistant
version: ${{ version }}
features:
  - name: code generation
    languages_supported: ${{ languages }}

In your python code, you can use yaml-replace to replace the variables in the yaml file with the values you want to inject:

from yaml_replace import YAMLTemplate

YAMLTemplate.from_file('some-yaml-file.yaml').render(
    {
        'version': '1.0.0',
        'languages': ["Python", "JavaScript", "Java", "C++", "C#"],
    }
)

The code above will output:

{
  'name': 'GitHub Copilot', 
  'description': 'AI Programming Assistant', 
  'version': '1.0.0', 
  'features': [
    {
      'name': 'code generation', 
      'languages_supported': ['Python', 'JavaScript', 'Java', 'C++', 'C#']
    }
  ]
}

You can also use YAMLTemplate to load the yaml content from a string:

yaml_content = """
name: GitHub Copilot
description: AI Programming Assistant
version: ${{ version }}
features:
  - name: code generation
    languages_supported: ${{ languages }}
"""

YAMLTemplate(yaml_content).render(
    {
        'version': '1.0.0',
        'languages': ["Python", "JavaScript", "Java", "C++", "C#"],
    }
) # Output is the same as the previous example

Contributing

Any contribution is welcome! Check out CONTRIBUTING.md and CODE_OF_CONDUCT.md for more information on how to get started.

License

yaml-replace is licensed under a MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

yaml_replace-1.1.2.tar.gz (3.4 kB view hashes)

Uploaded Source

Built Distribution

yaml_replace-1.1.2-py3-none-any.whl (3.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page