Gin-config: a lightweight configuration library for Python
Gin provides a lightweight configuration framework for Python, based on
dependency injection. Functions or classes can be decorated with
@gin.configurable
, allowing default parameter values to be supplied from a
config file (or passed via the command line) using a simple but powerful syntax.
This removes the need to define and maintain configuration objects (e.g.
protos), or write boilerplate parameter plumbing and factory code, while often
dramatically expanding a project's flexibility and configurability.
Gin is particularly well suited for machine learning experiments (e.g. using
TensorFlow), which tend to have many parameters, often nested in complex ways.