Metadata-Version: 1.1
Name: arghelper
Version: 0.2.2
Summary: Python arparse helper module
Home-page: https://github.com/questrail/arghelper
Author: Matthew Rankin
Author-email: matthew@questrail.com
License: MIT
Description: arghelper
        =========
        
        |PyPi Version| |Build Status| |Coverage Status| |License Badge|
        
        `arghelper <https://github.com/questrail/arghelper>`__ is a Python
        (2.6+) module providing functions to help with argparse.
        
        Requirements
        ------------
        
        -  ``argparse`` module from the `Python Standard
           Library <https://docs.python.org/2/library/>`__
        -  ``sys`` module from the `Python Standard
           Library <https://docs.python.org/2/library/>`__
        -  ``os`` module from the `Python Standard
           Library <https://docs.python.org/2/library/>`__
        
        Usage
        -----
        
        ``arghelper`` provides functions to determine if a file or directory
        exists:
        
        -  ``extant_file``
        -  ``extant_dir``
        
        These can be used as follows:
        
        .. code:: python
        
            if __name__ == "__main__":
                # Process the arguments
                import argparse
                import arghelper
                parser = argparse.ArgumentParser(
                    description='Process the TAFFmat CET files')
                parser.add_argument(
                    'config_file',
                    help='CSV configuration file.',
                    metavar='FILE', type=arghelper.extant_file)
                parser.add_argument(
                    'input_dir',
                    help='Directory containing input files.',
                    metvar='DIR', type=arghelper.extant_dir)
                args = parser.parse.args()
        
        A common pattern, for me at least, is to have three positional arguments
        consisting of:
        
        1. ``config_file`` --- A configuration file
        2. ``input_dir`` --- A directory containing input files to be read
        3. ``output_dir`` --- A directory where the output files should be saved
        
        This pattern has been abstracted to a Facade function called
        ``parse_config_input_output``, which can be used as follows:
        
        .. code:: python
        
            if __name__ == "__main__":
                # Process the arguments
                import arghelper
                args = arghelper.parse_config_input_output(sys.argv)
        
        Contributing
        ------------
        
        `arghelper <https://github.com/questrail/arghelper>`__ is developed
        using `Scott Chacon <http://scottchacon.com/about.html>`__'s `GitHub
        Flow <http://scottchacon.com/2011/08/31/github-flow.html>`__. To
        contribute, fork `arghelper <https://github.com/questrail/arghelper>`__,
        create a feature branch, and then submit a pull request. `GitHub
        Flow <http://scottchacon.com/2011/08/31/github-flow.html>`__ is
        summarized as:
        
        -  Anything in the ``master`` branch is deployable
        -  To work on something new, create a descriptively named branch off of
           ``master`` (e.g., ``new-oauth2-scopes``)
        -  Commit to that branch locally and regularly push your work to the
           same named branch on the server
        -  When you need feedback or help, or you think the brnach is ready for
           merging, open a `pull
           request <https://help.github.com/articles/using-pull-requests>`__.
        -  After someone else has reviewed and signed off on the feature, you
           can merge it into master.
        -  Once it is merged and pushed to ``master``, you can and *should*
           deploy immediately.
        
        License
        =======
        
        `arghelper <https://github.com/questrail/arghelper>`__ is released under
        the MIT license. Please see the
        `LICENSE.txt <https://github.com/questrail/arghelper/blob/master/LICENSE.txt>`__
        file for more information.
        
        .. |PyPi Version| image:: http://img.shields.io/pypi/v/arghelper.svg
           :target: https://pypi.python.org/pypi/arghelper
        .. |Build Status| image:: http://img.shields.io/travis/questrail/arghelper/master.svg
           :target: https://travis-ci.org/questrail/arghelper
        .. |Coverage Status| image:: http://img.shields.io/coveralls/questrail/arghelper/master.svg
           :target: https://coveralls.io/r/questrail/arghelper
        .. |License Badge| image:: http://img.shields.io/pypi/l/arghelper.svg
           :target: https://github.com/questrail/arghelper/blob/master/LICENSE.txt
        
Platform: UNKNOWN
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: License :: OSI Approved :: MIT License
Classifier: Development Status :: 3 - Alpha
Classifier: Operating System :: OS Independent
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Libraries :: Python Modules
