Skip to content
This repository has been archived by the owner on Dec 5, 2020. It is now read-only.
/ crumbs Public archive

Generalized all-in-one parameters module

License

Notifications You must be signed in to change notification settings

alunduil/crumbs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Description

Generalized all-in-one parameters module.

This package provides a single interface to environment variables, configuration files, and command line arguments. The dictionary-like interface makes interacting with these disparate resources much simpler. It also allows parameters' values to be set in any of the three sources and selects an appropriate value when a parameter's value is specified in multiple sources. This way the most expected value is always returned according to the following prcedence: command line arguments then configuration files then environment variables.

I am providing code in the repository to you under an open source license. Because this is my personal repository, the license you receive to my code is from me and not my employer (Facebook).

Getting Started

Usage of this package is outlined in the documentation.

Very simple example:

from crumbs import Parameters

parameters = Parameters()
parameters.add_parameter(options=["--foo"])
parameters.parse()
parameters["foo"]

Note

add_parameter is only a slight modification on argparse.ArgumetParser.add_argument. The major difference is all positional arguments to argparse's version are handled by the options argument in ours.

Reporting Issues

Any issues discovered should be recorded on Github. If you believe you've found an error or have a suggestion for a new feature, please ensure that it is reported.

If you would like to contribute a fix or new feature, please submit a pull request. This project follows git flow and utilizes travis to automatically check pull requests before a manual review.

About

Generalized all-in-one parameters module

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages