Skip to main content

Load and save config files for python projects

Project description

autoyaml because config should be easy

Autoconfig is a config generator that takes a dictionary, writes it to a file and loads it back as a dictionary.

The aim of this project is to standardise the way python projects create and feed parameters into python applications without having to rewrite the same IO functions every time.

Installation

pip install autoyaml

Usage

Write your config either from an interactive terminal or from a script

from autoyaml import write_config

conf = {
   'parameter1': 1,
   'parameter2': 'something'
}

application_name = 'app_name'

write_config(conf,application_name)

Load your config from another python application

from autoyaml import load_config

class My_Class(object):
   def __init__(self, **kwargs):
      self.parameter1 = kwargs['parameter1']
      self.parameter2 = kwargs['parameter2']
      self.show_parameters()

   def show_parameters(self):
      print('parameter1 : {}'.format(self.parameter1))
      print('parameter2 : {}'.format(self.parameter2))


if __name__ == "__main__":
   my_class = My_Class(**load_config('app_name'))

Password Protected Encryption

from autoyaml import write_config
from getpass import getpass

conf = {
   'secret_key': getpass('Secret Key? ')
}

application_name = 'app_name1'

write_config(conf, application_name, encrypted=True)

Loads the same but requires password input by default

from autoyaml import load_config

class My_Class(object):
   def __init__(self, **kwargs):
      self.secret_key = kwargs['secret_key']
      self.show_parameters()

   def show_parameters(self):
      print('the last character of your secret it {}'.format(self.secret_key[-1]))


if __name__ == "__main__":
   my_class = My_Class(**load_config('app_name1'))

Create a custom password function

from autoyaml import load_config, write_config
def BAD_PASSWORD_FUNCTION():
   return 'password123'

write_config({'foo':'bar'},'app_name2', encrypted=True, password_function=BAD_PASSWORD_FUNCTION)

print(load_config('app_name3', password_function=BAD_PASSWORD_FUNCTION)

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

autoyaml-2020.2.5.1033.tar.gz (3.6 kB view details)

Uploaded Source

File details

Details for the file autoyaml-2020.2.5.1033.tar.gz.

File metadata

  • Download URL: autoyaml-2020.2.5.1033.tar.gz
  • Upload date:
  • Size: 3.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.1.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.6.7

File hashes

Hashes for autoyaml-2020.2.5.1033.tar.gz
Algorithm Hash digest
SHA256 cbe1f7f9d6df9b55859cae32044cb3cb7be5016dd73010a870bc3be7af80eec6
MD5 f3383d0225c770eb44191aacaeb68ade
BLAKE2b-256 f188b013241dd20d135f8467b8fb1deaf2b287522f8502aa7058be2cd36147cd

See more details on using hashes here.

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