Metadata-Version: 1.1
Name: pyconverge
Version: 0.0.11
Summary: Resolve configurations from abstract hierarchies and templates
Home-page: https://github.com/drewboswell/converge
Author: Andrew Boswell
Author-email: drewboswell@gmail.com
License: Apache License 2.0
Description: |GitHub tag| |GitHub release| |PyPI| |Py Versions|
        
        |Build Status| |Coverage Status| |Quality Gate| |Code Smells| |Function
        Complexity| |Vulnerabilities| |Technical Dept| |Lines of code|
        
        converge
        ========
        
        *Resolve Data from Abstract Hierarchies and Templates*
        
        Managing configuration is hard. Sometimes you need simplicity, like a
        few key-value properties. Sometimes you realize that a lot of your data
        is similar and you wish you could apply abstraction to share and reuse
        them.
        
        This is where **converge** comes in. Choose your logic engines: \*
        Readers: get data from your backends \* Pre-Filters: filter data before
        resolution \* Resolvers: convert abstract data to resolved data \*
        Post-Filters: filter resolved data (*example: search & replace values,
        inject data post resolution*) \* Writers: output your data to the format
        and backend of your choice
        
        Abstract hierarchies of data chewed up and spit out to your liking.
        
        How it works
        ============
        
        .. figure:: docs/converge-diagram.png
           :alt: Converge Overview
        
           Alt text
        
        Getting started
        ===============
        
        Examples
        ========
        
        A Brief History of Pain
        =======================
        
        You may have hit some (or all) of these stages in the pursuit of
        configurability:
        
        *In short: from the file, to the GUI, back to the file you idiot.* \*
        Externalize configuration from your applications, to avoid re-releases
        due to simple conf tuning \* Realizing that you're now managing a
        million de-centralized files with no similar structure \* Create or use
        a centralized, GUI/DB based configuration management system (woohoo!
        configuration liberation!) \* Realizing that you are missing
        flexibility, automation is complex, added abstraction layers are
        painful.
        
        The better model is to accept any data format, process it and output it
        as you wish.
        
        Files are better because: \* you can use time tested versioning systems
        like git or mercurial to branch, release, rollback, check history \* you
        can automate the modification of files with any tool you want \* doing
        migrations on DB values/REST endpoints sucks (unnecessarily complex)
        
        .. |GitHub tag| image:: https://img.shields.io/github/tag/drewboswell/converge.svg
           :target: 
        .. |GitHub release| image:: https://img.shields.io/github/release/drewboswell/converge.svg
           :target: 
        .. |PyPI| image:: https://img.shields.io/pypi/v/pyconverge.svg
           :target: https://pypi.python.org/pypi/pyconverge/
        .. |Py Versions| image:: https://img.shields.io/pypi/pyversions/pyconverge.svg
           :target: https://pypi.python.org/pypi/pyconverge/
        .. |Build Status| image:: https://travis-ci.org/drewboswell/converge.svg?branch=master
           :target: https://travis-ci.org/drewboswell/converge
        .. |Coverage Status| image:: https://coveralls.io/repos/github/drewboswell/converge/badge.svg?branch=master
           :target: https://coveralls.io/github/drewboswell/converge?branch=master
        .. |Quality Gate| image:: https://sonarqube.com/api/badges/gate?key=drewboswell_converge
           :target: https://sonarqube.com/dashboard/index/drewboswell_converge
        .. |Code Smells| image:: https://sonarqube.com/api/badges/measure?key=drewboswell_converge&metric=code_smells
           :target: https://sonarqube.com/dashboard/index/drewboswell_converge
        .. |Function Complexity| image:: https://sonarqube.com/api/badges/measure?key=drewboswell_converge&metric=function_complexity
           :target: https://sonarqube.com/dashboard/index/drewboswell_converge
        .. |Vulnerabilities| image:: https://sonarqube.com/api/badges/measure?key=drewboswell_converge&metric=vulnerabilities
           :target: https://sonarqube.com/dashboard/index/drewboswell_converge
        .. |Technical Dept| image:: https://sonarqube.com/api/badges/measure?key=drewboswell_converge&metric=sqale_debt_ratio
           :target: https://sonarqube.com/dashboard/index/drewboswell_converge
        .. |Lines of code| image:: https://sonarqube.com/api/badges/measure?key=drewboswell_converge&metric=ncloc
           :target: https://sonarqube.com/dashboard/index/drewboswell_converge
        
Keywords: configuration management development operations system sysadmin config converge
Platform: any
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Development Status :: 1 - Planning
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: Intended Audience :: Financial and Insurance Industry
Classifier: Operating System :: OS Independent
Classifier: Topic :: Office/Business
