Skip to main content

Python viper

Project description

Python Viper

This project was inspired by spf13/viper.

Installation

pip install py-viper

Usage

import tempfile
import viper

yaml_example = b'''
hello:
  name: foo
'''


class Hello:
    name = ''


class Config:
    hello = Hello


if __name__ == '__main__':
    with tempfile.NamedTemporaryFile(suffix='.yaml') as temp:
        temp.write(yaml_example)
        temp.seek(0)
        viper.set_config_path(temp.name)
        viper.read_config()
        assert viper.get('hello.name') == 'foo'

        conf = Config()
        viper.unmarshal(conf)
        assert conf.hello.name == 'foo'

You can also use remote config instead of local config:

viper.set_config_type('yml')
viper.set_remote_provider('consul', '127.0.0.1', 8500, 'hello')
viper.read_remote_config()

Note:

  • The config type only supports yaml or yml.
  • The backend of remote config only supports consul.

TODO

  • Read remote config
  • Unmarshal config
  • Add support for JSON

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

py-viper-0.1.0.dev5.tar.gz (4.1 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