Coder Social home page Coder Social logo

aumbry's Introduction

Aumbry

Travis CI Build Coverage https://readthedocs.org/projects/aumbry/badge/?version=latest Code Climate

Aumbry is general purpose library for handling configuration within your Python applications. The project was born from constantly needing a simple interface for configuration models that came from multiple data sources.

Behind the scenes, Aumbry uses Alchemize to handle the conversion of the configuration data into application specific data models for your project.

Data Sources supported:

  • File
  • Consul
  • Etcd2
  • AWS Parameter Store

Configuration Formats Supported:

  • Yaml
  • Json

Installation

# Install base package
pip install aumbry

# Install consul support
pip install aumbry['consul']

# Install etcd2 support
pip install aumbry['etcd2']

# Install yaml support
pip install aumbry['yaml']

# Install parameter store dependencies
pip install aumbry['param_store']

# Installing multiple dependencies
pip install aumbry['etcd2','yaml']

aumbry's People

Contributors

jmvrbanac avatar jimbobhickville avatar vlade11115 avatar

Stargazers

Nathan France avatar  avatar Nikolaus Schlemm avatar Rubén de Celis Hernández avatar Eric Hontz avatar Gabriel Cueto avatar Russ MacShane avatar Dmitrii Prisacari avatar GAURAV avatar  avatar Shaun Fleming avatar Bogdan Hodorog avatar Javier Barbadillo avatar Victor Zhuk avatar Anton Ovinnikov avatar Matze avatar jruizaranguren avatar  avatar  avatar

Watchers

Chad Lung avatar James Cloos avatar  avatar

aumbry's Issues

Is there a way to add new keys as part of the saving the state to json file.

Mapping is pretty helpful to extract and generate the expected output. I am having issue adding new key/values and just curious how i can add new keys to json output?

This is the mapping details.
{'enableRbac': <alchemize.mapping.Attr object at 0x10a1eac10>, 'attr-chandra': <alchemize.mapping.Attr object at 0x10a1eae50>, 'something': <alchemize.mapping.Attr object at 0x10a1eab90>, 'fqdn': <alchemize.mapping.Attr object at 0x10a1eac90>, 'networkProfile': <alchemize.mapping.Attr object at 0x10a1ead10>, 'dnsPrefix': <alchemize.mapping.Attr object at 0x10a1eacd0>, 'tags': <alchemize.mapping.Attr object at 0x10a1ead50>, 'type': <alchemize.mapping.Attr object at 0x10a1ead90>, 'addonProfiles': <alchemize.mapping.Attr object at 0x10a1eabd0>, 'name': <alchemize.mapping.Attr object at 0x10a1eac50>}

Added new keys to the mapping object,but not able to get the new state to output file.

[('enableRbac', <alchemize.mapping.Attr object at 0x10a1eac10>), ('attr-chandra', <alchemize.mapping.Attr object at 0x10a1eae50>), ('something', <alchemize.mapping.Attr object at 0x10a1eab90>), ('fqdn', <alchemize.mapping.Attr object at 0x10a1eac90>), ('networkProfile', <alchemize.mapping.Attr object at 0x10a1ead10>), ('dnsPrefix', <alchemize.mapping.Attr object at 0x10a1eacd0>), ('tags', <alchemize.mapping.Attr object at 0x10a1ead50>), ('type', <alchemize.mapping.Attr object at 0x10a1ead90>), ('addonProfiles', <alchemize.mapping.Attr object at 0x10a1eabd0>), ('name', <alchemize.mapping.Attr object at 0x10a1eac50>)]

YAML loader emits deprecation warning

Hi.
There is a deprecation warning during yaml.load() call if no loader was provided. This occurs due to recent finding of CVE.
Example of warning.

/usr/local/lib/python3.7/site-packages/aumbry/formats/yml.py:27: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.
return yaml.load(raw_config)

Read more about
Should aumbry call safe_load instead?

Load multi config files

there are many config files need to be managed,like:

  • settings/a.json
  • settings/b.json
  • settings/c.yaml
  • settings load from config server

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.