# Overview
> ...chews through your system dependencies, spitting out incompatible versions.
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.
[![Travis CI](https://img.shields.io/travis/com/jacebrowning/verchew/main.svg?label=unix)](https://app.travis-ci.com/jacebrowning/verchew)
[![AppVeyor](https://img.shields.io/appveyor/ci/jacebrowning/verchew/main.svg?label=windows)](https://ci.appveyor.com/project/jacebrowning/verchew)
[![Coverage Status](https://img.shields.io/coveralls/jacebrowning/verchew/main.svg)](https://coveralls.io/r/jacebrowning/verchew)
[![Scrutinizer Code Quality](https://img.shields.io/scrutinizer/g/jacebrowning/verchew.svg)](https://scrutinizer-ci.com/g/jacebrowning/verchew/?branch=main)
[![PyPI License](https://img.shields.io/pypi/l/verchew.svg)](https://pypi.org/project/verchew)
[![PyPI Version](https://img.shields.io/pypi/v/verchew.svg)](https://pypi.python.org/pypi/verchew)
[![PyPI Downloads](https://img.shields.io/pypi/dm/verchew.svg?color=orange)](https://pypistats.org/packages/verchew)
# Setup
## Requirements
- Python 2.7+ or Python 3.3+
## Installation
Install `verchew` globally with [pipx](https://pipxproject.github.io/pipx/installation/) (or pip):
```text
$ pipx install verchew
```
or add it to your [Poetry](https://poetry.eustace.io/) project:
```text
$ poetry add verchew
```
or embedded the script in your project using [this guide](https://verchew.readthedocs.io/en/latest/cli/vendoring/).
# Usage
Run `verchew --init` to generate a sample configuration file.
Update this file (`verchew.ini`) to include your project's system dependencies:
```ini
[Working Program]
cli = working-program
version = 1.2
[Newer Working Program]
cli = working-program
version = 4.1 || 4.2
message = Version 4.x 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:
```text
$ 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.1 || 4.2
䷉ MESSAGE: Version 4.x is required to get the special features.
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 (OPTIONAL): 1.2.3
Checking for Missing Program...
$ missing-program --version
sh: command not found: missing-program
✘ EXPECTED: 1.2.3
Results: ✔ ✘ ✘ ▴ ✘
```
Raw data
{
"_id": null,
"home_page": "https://pypi.org/project/verchew",
"name": "verchew",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8,<4.0",
"maintainer_email": "",
"keywords": "dependencies,configuration management,continuous integration",
"author": "Jace Browning",
"author_email": "jacebrowning@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/92/69/543e3a2fb6a8fb4dcc0d18bc34ebd54d789dc844c8f83af0926ba0b8bcf6/verchew-3.4.2.tar.gz",
"platform": null,
"description": "# Overview\n\n> ...chews through your system dependencies, spitting out incompatible versions.\n\nWhen 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.\n\n[![Travis CI](https://img.shields.io/travis/com/jacebrowning/verchew/main.svg?label=unix)](https://app.travis-ci.com/jacebrowning/verchew)\n[![AppVeyor](https://img.shields.io/appveyor/ci/jacebrowning/verchew/main.svg?label=windows)](https://ci.appveyor.com/project/jacebrowning/verchew)\n[![Coverage Status](https://img.shields.io/coveralls/jacebrowning/verchew/main.svg)](https://coveralls.io/r/jacebrowning/verchew)\n[![Scrutinizer Code Quality](https://img.shields.io/scrutinizer/g/jacebrowning/verchew.svg)](https://scrutinizer-ci.com/g/jacebrowning/verchew/?branch=main)\n[![PyPI License](https://img.shields.io/pypi/l/verchew.svg)](https://pypi.org/project/verchew)\n[![PyPI Version](https://img.shields.io/pypi/v/verchew.svg)](https://pypi.python.org/pypi/verchew)\n[![PyPI Downloads](https://img.shields.io/pypi/dm/verchew.svg?color=orange)](https://pypistats.org/packages/verchew)\n\n# Setup\n\n## Requirements\n\n- Python 2.7+ or Python 3.3+\n\n## Installation\n\nInstall `verchew` globally with [pipx](https://pipxproject.github.io/pipx/installation/) (or pip):\n\n```text\n$ pipx install verchew\n```\n\nor add it to your [Poetry](https://poetry.eustace.io/) project:\n\n```text\n$ poetry add verchew\n```\n\nor embedded the script in your project using [this guide](https://verchew.readthedocs.io/en/latest/cli/vendoring/).\n\n# Usage\n\nRun `verchew --init` to generate a sample configuration file.\n\nUpdate this file (`verchew.ini`) to include your project's system dependencies:\n\n```ini\n[Working Program]\n\ncli = working-program\nversion = 1.2\n\n[Newer Working Program]\n\ncli = working-program\nversion = 4.1 || 4.2\nmessage = Version 4.x is required to get the special features.\n\n[Broken Program]\n\ncli = broken-program\nversion = 1.2.3\n\n[Optional Missing Program]\n\ncli = missing-program\nversion = 1.2.3\noptional = true\n\n[Missing Program]\n\ncli = missing-program\nversion = 1.2.3\n```\n\nRun `verchew` to see if you have the expected versions installed:\n\n```text\n$ verchew\n\nChecking for Working Program...\n\n$ working-program --version\n1.2.3\n\u2714 MATCHED: 1.2\n\nChecking for Newer Working Program...\n\n$ working-program --version\n1.2.3\n\u2718 EXPECTED: 4.1 || 4.2\n\u4dc9 MESSAGE: Version 4.x is required to get the special features.\n\nChecking for Broken Program...\n\n$ broken-program --version\nAn error occurred.\n\u2718 EXPECTED: 1.2.3\n\nChecking for Optional Missing Program...\n\n$ missing-program --version\nsh: command not found: missing-program\n\u25b4 EXPECTED (OPTIONAL): 1.2.3\n\nChecking for Missing Program...\n\n$ missing-program --version\nsh: command not found: missing-program\n\u2718 EXPECTED: 1.2.3\n\nResults: \u2714 \u2718 \u2718 \u25b4 \u2718\n```\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "System dependency version checker.",
"version": "3.4.2",
"project_urls": {
"Documentation": "https://verchew.readthedocs.io",
"Homepage": "https://pypi.org/project/verchew",
"Repository": "https://github.com/jacebrowning/verchew"
},
"split_keywords": [
"dependencies",
"configuration management",
"continuous integration"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "ab8a697eb1daee017b9313336c4899c897542d8c011cbbfbb1a6e87a8370fd89",
"md5": "a830787ab70425d9dcf934e5d60222a7",
"sha256": "d000ec54ccc87240feae05cf9e37b29016ca73406b6f39af69114a32773dfb7e"
},
"downloads": -1,
"filename": "verchew-3.4.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a830787ab70425d9dcf934e5d60222a7",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8,<4.0",
"size": 10629,
"upload_time": "2023-09-15T17:02:02",
"upload_time_iso_8601": "2023-09-15T17:02:02.166194Z",
"url": "https://files.pythonhosted.org/packages/ab/8a/697eb1daee017b9313336c4899c897542d8c011cbbfbb1a6e87a8370fd89/verchew-3.4.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9269543e3a2fb6a8fb4dcc0d18bc34ebd54d789dc844c8f83af0926ba0b8bcf6",
"md5": "fcd0dc6936c94dde6377b825c69f1eb9",
"sha256": "98f3f8e4894528afe316879ac848d1a6c8b47168a3b3de2e44fc2f5b83b29149"
},
"downloads": -1,
"filename": "verchew-3.4.2.tar.gz",
"has_sig": false,
"md5_digest": "fcd0dc6936c94dde6377b825c69f1eb9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8,<4.0",
"size": 9528,
"upload_time": "2023-09-15T17:02:05",
"upload_time_iso_8601": "2023-09-15T17:02:05.577312Z",
"url": "https://files.pythonhosted.org/packages/92/69/543e3a2fb6a8fb4dcc0d18bc34ebd54d789dc844c8f83af0926ba0b8bcf6/verchew-3.4.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-09-15 17:02:05",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "jacebrowning",
"github_project": "verchew",
"travis_ci": true,
"coveralls": true,
"github_actions": false,
"appveyor": true,
"lcname": "verchew"
}