A python module for configuring hierarchical class structures in yaml with defaults
Project description
Scooch
Scooch is a recursive acronym for Scooch Configures Object Oriented Class Hierarchies, and that's exactly what this package does. It is a configuration package for python codebases that simplifies the problem of configuring parameters in python code by translating YAML configuration files into object oriented class hierarchies.
Who needs Scooch?
Scooch is useful for people who need an accessible interface to enable tweakability in their code. ML practitioners are a good example. They typically write code that is intended to be continuously experimented with and adjusted in response to observations from running the code. As such, it is useful to abstract these tweakable parameters from the code into a config file, providing three major benefits:
- The config file provides a centralized location for adjustable parameters of interest in the code, improving iteration and workflow.
- Loading, saving and adjusting the configuration of your code is separated from the many other working variables and data structures that may exist in code.
- The configuration of any part of the code can be hashed, logged, and indexed, to provide a record of the code configuration at any one time.
Why use Scooch?
There are many other projects out there that endeavor to translate config files into parameters in python code, for example:
However, what makes Scooch different is that it not only translates config parameters into variables in your code, but into object oriented class hierarchies. This means configurations can benefit from object oriented concepts such as Inheretance, Encapsulation, Abstraction and Polymorphism.
For more information about how to use, and why to use Scooch. Please refer to the documentation.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.