Metadata-Version: 2.0
Name: dargs
Version: 0.1.1
Summary: Process arguments for the deep modeling project.
Home-page: https://github.com/deepmodeling/dargs
Author: Yixiao Chen
Author-email: yixiaoc@princeton.edu
License: UNKNOWN
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3.6
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)
Description-Content-Type: text/markdown


argcheck for python programs
============================

This is a minimum version for checking the input argument dict. 
It would examine argument's type,  as well as keys and types of its sub-arguments. 

A special case called *variant* is also handled, 
where you can determine the items of a dict based the value of on one of its ``flag_name`` key. 

There are three main methods of ``Argument`` class:


* ``check`` method that takes a dict and see if its type follows the definition in the class
* ``normalize`` method that takes a dict and convert alias and add default value into it
* ``gendoc`` method that outputs the defined argument structure and corresponding docs

There are also ``check_value`` and ``normalize_value`` that 
ignore the leading key comparing to the base version.

Please refer to test files for detailed usage.

TODO
----


* [ ] possibly support of indexing by keys


