Skip to main content

Resolve configurations from abstract hierarchies and templates

Project 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 Configurations from Abstract Hierarchies and Templates*

Managing configuration is hard. You sometimes need simplicity, like a
few key-value properties. Sometimes you need more than a few, and you
realize that a lot of your key names and values are similar and you wish
you could share and reuse them.

Wouldn't it be great to define conf in a hierarchical fashion and then
have a logic engine spit out the resolved configuration? This is
**converge**. Abstract hierarchies of data chewed up and spit out to
simple key-values to your liking.

How it works
============

Getting started
===============

Examples
========

A Brief History of Pain
=======================

You may have hit some (or all, like me) of these stages in the persuit
of configurability:

*In short: from the file, to the GUI, back to the file you idiot.* \*
Externalizing 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 confguration management system (woohoo!
configuration liberation!) \* Realizing that automating without a
middleman is both simpler and more efficient, and that you never should
have used a GUI/DB. Files we always the solution, just a different kind
of file, where they are in a non resolved state from which you can
generate an output that meets your needs.

Files are best 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 (because it's unecessarily
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

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

pyconverge-0.0.10.tar.gz (19.6 kB view hashes)

Uploaded Source

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