Metadata-Version: 1.1
Name: interpolatr
Version: 0.0.1
Summary: Interpolation tool
Home-page: http://github.com/jacobtolar/interpolatr
Author: Jacob Tolar
Author-email: development@sheckel.net
License: Apache 2.0
Description: interpolatr
        ===========
        
        Interpolatr is a command line tool and library for interpolating
        configuration settings into templatized files. It uses the
        `jinja2 <http://jinja.pocoo.org/docs/2.9/>`_ library for templating.
        
        Usage
        -----
        
        The ``interpolatr`` command-line tool currently supports two
        configuration sources (command line and YAML; see below) and a single
        template sink ( file-based jinja2 templates). However, it is easy to
        supply your own configuration sources or template sinks if necessary.
        
        Usage:
        
        ::
        
            interpolatr [OPTIONS] [<config-class> <config-args>]... [<supplier-class> <supplier-args>]...
        
        For example, using builtin config and template suppliers:
        
        ::
        
            interpolatr -D override_setting=value YamlConfigSource --path conf.yaml  ExtensionFileSinkSupplier --target_dir root
        
        Configuration Sources
        ~~~~~~~~~~~~~~~~~~~~~
        
        There are currently two built-in configuration sources for
        ``interpolatr``:
        
        1. *Command line*: You can specify configuration values when calling
           ``interpolatr`` using the ``-D`` flag: ``interpolator -D foo=bar``.
        
        2. *YAML*: You can specify configuration values in a hierarchical
           ``yaml`` format.
        
           The format looks like this: \`\`\`yaml settings: setting\_name:
           setting\_value setting\_two: other\_value
        
           Optional files to inherit settings from
           =======================================
        
           base: - file/to/inherit-from.yml
        
           ::
        
               # Functionally, this is no different than flattening the list out
               - [ some/more.yaml, and-even-more.yml ]
        
               - final-base-file.yml
        
           \`\`\`
        
           These settings are populated into a ``ChainedMap``, so any settings
           missing in your top-level configuration will be pulled from its
           parent(s).
        
        It is simple to define your own configuration sources: see
        ``config.py``. If using the command line, you can use a custom config
        source by specifying the fully qualified class path on the command line.
        
        Configuration Sinks
        ~~~~~~~~~~~~~~~~~~~
        
        Configuration values can currently be written into templatized
        configuration files. The templating is powered by ``jinja2``, so you may
        use any valid ``jinja2`` expressions to define your configuration files.
        
        It should be straightfoward to customize this process as well; see the
        code in ``sink.py`` for reference.
        
        Notes
        -----
        
        -  This was developed under Python 2.7, but at least gives the
           appearance of working under Python 3.
        -  This is an early version of this tool, so the interfaces are subject
           to change.
        
        Copyright and License
        ---------------------
        
        Copyright 2016, Yahoo Inc.
        
        Licensed under the terms of the Apache License, Version 2.0. See the
        LICENSE file associated with the project for terms.
        
Platform: UNKNOWN
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.7
