Metadata-Version: 1.1
Name: config-probe
Version: 0.0.2
Summary: Auto-discovery of configurations for easy inline use
Home-page: UNKNOWN
Author: Internap Hosting
Author-email: opensource@internap.com
License: UNKNOWN
Description: [![Build Status](https://travis-ci.org/internap/python-config-probe.svg?branch=master)](https://travis-ci.org/internap/python-config-probe)
        [![PyPI version](https://badge.fury.io/py/python-config-probe.svg)](http://badge.fury.io/py/python-config-probe)
        
        
        Mission
        =======
        
        Provide an auto-discovery process of configurations for simple code use. Given a path and a list of pattern,
        the result config will be a shortcut to any config.
        
        ## Usage
        
        Setup:
        
            config = probe(
                path="path/to/my/files",
                patterns=["path/*/file.yaml"]
            )
        
        Use it:
        
            print config.mynamespace.key
        
        ## Parameters
        
        - **path**
        
            Initial path to probe.  Patterns will be tested against the file structure underneath the path
            and it will be ignored in determining the namespacing.
        
        - **patterns**
        
            A list of file paths containing (or not) placeholders (*) to find where are the configuration files.
        
            Each placeholder in the path will result in a namespace in the resulting config.  So let's say you have a pattern
        
                dir1/*/dir2/*.yaml
        
            If this pattern find the file : "dir1/**ns1**/dir2/**file**.yaml" that contains "key: 'value'", the resulting
            config will be
        
                config.ns1.file.key == "value"
        
            now if the pattern was
        
                dir1/ns1/dir2/file.yaml
        
            for the same file, the resulting config would simply be
        
                config.key == "value"
        
            so you can use placeholders (*) to namespace the resulting config
        
        ## Mocking the probing
        
        Your unit test can have your code use fake_probe instead to which to give a dict and it will appear as if it
        was just probed. Example:
        
            config = fake_probe({
                "ns1": {
                    "file": {
                        "key": "value"
                    }
                }
            })
            # then
            config.ns1.file.key == "value"
        
        Contributing
        ============
        
        Feel free to raise issues and send some pull request, we'll be happy to look at them!
        
        
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: System Administrators
Classifier: Intended Audience :: Telecommunications Industry
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.4
