Metadata-Version: 2.1
Name: logicparser
Version: 1.2.0
Summary: a free layer to create logics for your arguments
Home-page: https://github.com/mastrobirraio/logicparser
Author: Giuseppe "mastrobirraio" Matranga
Author-email: matrangagiuseppe99@gmail.com
Maintainer: Giuseppe "mastrobirraio" Matranga
License: MIT
Description: # logicparser
        
        A free layer to create logics for your arguments
        
        ## Getting Started
        
        logicparser is a python package that allow you to create logic and dependncies
        between CLI arguments.
        These instructions will install logicparser to your machine.
        
        ### Prerequisites
        
        * Python3
        * PIP3
        
        ### Installation
        
        ```
        pip3 install logicparser 
        ```
        
        ## Usage
        
        ### Define arguments
        
        The class used to create a new argument is imported in this way:
        ```
        from logicparser import Argument
        
        arg = Argument(arg_name='--arg-name')
        ```
        
        #### metavar
        
        ```
        arg = Argument(arg_name='--arg-name', metavar='ARG_VALUE')
        ```
        
        #### action 
        
        ```
        arg = Argument(arg_name='--arg-name', action='store_true')
        ```
        
        #### help 
        
        ```
        arg = Argument(arg_name='--arg-name', help='This message will be show when you will define -h arg')
        ```
        
        ### Add relationships
        
        #### require
        You can define that an argument can be defined only if others arguments
        are defined previously
        ```
        arg = Argument(
            arg_name='arg-name',
            require=('--other-arg',))
        ```
        
        #### conflict
        You can define that an argument cannot be defined if other arguments are
        defined previously
        ```
        arg = Argument(
            arg_name='arg-name',
            conflict=('--other-arg',))
        ```
        
        #### dependency
        You can define that an arguments can be defined only if at least one of others
        arguments is defined
        ```
        arg = Argument(
            arg_name='arg-name',
            dependency=('--other-arg1', 'other-arg2',))
        ```
        
        ### Parse arguments
        When you have defined the list of your arguments you can play 
        args validation parsing them.
        ```
        from logicparser import Argument, ArgumentHandler
        
        args = ArgumentHandler([
            Argument(arg_name='--arg-name', ...),
            Argument(arg_name='--arg-name2', ...),
            Argument(arg_name='--arg-name3', ...),
            ...
        ]).args
        ```
        
        ## Contributing
        
        Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on code of conduct, and the process for submitting pull requests.
        
        ## License
        
        This project is licensed under the MIT License, read [LICENSE](LICENSE) for details 
        
        ## Author
        
        * **Giuseppe "mastrobirraio" Matranga** - *Initial work* - [Github](https://github.com/mastrobirraio)
Keywords: args,arguments,argparser,parser,logic,logicparser
Platform: UNKNOWN
Classifier: Operating System :: OS Independent
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Terminals
Requires-Python: >=3.6
Description-Content-Type: text/markdown
