Metadata-Version: 2.0
Name: verchew
Version: 1.2
Summary: System dependency version checker.
Home-page: https://github.com/jacebrowning/verchew
Author: Jace Browning
Author-email: jacebrowning@gmail.com
License: MIT
Description-Content-Type: UNKNOWN
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: Software Development :: Testing
Classifier: Topic :: System :: Installation/Setup
Classifier: Topic :: Utilities

...chews through your system dependencies, spitting out incompatible
    versions.

Unix: |Unix Build Status| Windows: |Windows Build Status|\ Metrics:
|Coverage Status| |Scrutinizer Code Quality|\ Usage: |PyPI Version|
|PyPI Downloads|

Overview
========

When onboarding new team members, ensuring their computer has everything
needed to work on the project can be painful. Verchew is a command-line
program and embeddable Python script to check the versions of your
project's system dependencies. Its only external dependency is any
Python interpreter, which should already be installed on macOS and most
Linux-based operating systems.

Setup
=====

Requirements
------------

-  Python 2.7+ or Python 3.3+

Installation
------------

Install verchew with pip:

.. code:: sh

    $ pip install verchew

or directly from the source code:

.. code:: sh

    $ git clone https://github.com/jacebrowning/verchew.git
    $ cd verchew
    $ python setup.py install

or embedded the script in your project using `this
guide <https://github.com/jacebrowning/verchew/blob/develop/docs/cli/vendoring.md>`__.

Usage
=====

Create a configuration file (``.verchew.ini``) containing your project's
system dependencies:

.. code:: ini

    [Working Program]

    cli = working-program
    version = 1.2.

    [Newer Working Program]

    cli = working-program
    version =  4.
    message = Version 4 is required to get the special features

    [Broken Program]

    cli = broken-program
    version = 1.2.3

    [Optional Missing Program]

    cli = missing-program
    version = 1.2.3
    optional = true

    [Missing Program]

    cli = missing-program
    version = 1.2.3

Run ``verchew`` to see if you have the expected versions installed:

.. code:: sh

    $ verchew

    Checking for Working Program...

    $ working-program --version
    1.2.3
    ✔ MATCHED: 1.2.

    Checking for Newer Working Program...

    $ working-program --version
    1.2.3
    ✘ EXPECTED: 4.

    Checking for Broken Program...

    $ broken-program --version
    An error occurred.
    ✘ EXPECTED: 1.2.3

    Checking for Optional Missing Program...

    $ missing-program --version
    sh: command not found: missing-program
    ⚠ EXPECTED: 1.2.3

    Checking for Missing Program...

    $ missing-program --version
    sh: command not found: missing-program
    ✘ EXPECTED: 1.2.3

    Results: ✔ ✘ ✘ ⚠ ✘

.. |Unix Build Status| image:: https://img.shields.io/travis/jacebrowning/verchew/develop.svg
   :target: https://travis-ci.org/jacebrowning/verchew
.. |Windows Build Status| image:: https://img.shields.io/appveyor/ci/jacebrowning/verchew/develop.svg
   :target: https://ci.appveyor.com/project/jacebrowning/verchew
.. |Coverage Status| image:: https://img.shields.io/coveralls/jacebrowning/verchew/develop.svg
   :target: https://coveralls.io/r/jacebrowning/verchew
.. |Scrutinizer Code Quality| image:: https://img.shields.io/scrutinizer/g/jacebrowning/verchew.svg
   :target: https://scrutinizer-ci.com/g/jacebrowning/verchew/?branch=develop
.. |PyPI Version| image:: https://img.shields.io/pypi/v/verchew.svg
   :target: https://pypi.python.org/pypi/verchew
.. |PyPI Downloads| image:: https://img.shields.io/pypi/dm/verchew.svg
   :target: https://pypi.python.org/pypi/verchew

Revision History
================

1.2 (2017/09/13)
----------------

-  Added ``optional = true`` settings to downgrade errors to warnings.
-  Added ``message`` setting to display optional message for missing
   programs.

1.1 (2017/05/17)
----------------

-  Added ``--init`` command to generate a sample configuration file.

1.0 (2017/01/09)
----------------

-  Initial stable release.

0.5 (2016/11/02)
----------------

-  Added ``--exit-code`` option to return non-zero exit codes on
   failure.

0.4 (2016/10/20)
----------------

-  Added support for custom version arguments.
-  Fixed handling of internal versions matches.

0.3 (2016/10/18)
----------------

-  Added support for detecting missing and broken programs.

0.2.1 (2016/10/18)
------------------

-  Now stripping whitespace after calling ``--version`` on a program.

0.2 (2016/10/17)
----------------

-  Added ``--version`` command.

0.1 (2016/10/17)
----------------

-  Initial release.


