Skip to main content

Get version of any tools

Project description

https://badge.fury.io/py/versionix.svg https://github.com/sequana/versionix/actions/workflows/main.yml/badge.svg https://coveralls.io/repos/github/sequana/versionix/badge.svg?branch=main https://zenodo.org/badge/658721856.svg
Python version:

Python 3.8, 3.9, 3.10, 3.11, 3.12

Source:

See http://github.com/sequana/versionix.

Issues:

Please fill a report on github

Overview

Versionix is a simple tool that attemps to print on screen the version of a given standalone.

Installation

If you are in a hurry, just type:

pip install versionix  --upgrade

This is pure Python so no need for fancy libraries.

Usage

Then, just type versionix followed by an executable installed on your system, e.g for linux users:

versionix ls

where ls is a standard command. In bioinformatics, fastqc is quite common. You can check its version as follows:

versionix fastqc

versionix prints the version as X.Y.Z string.

Most tools would work. However, a registry is available for complex cases. Registered tools can be obtained with the following command. If your favorite tool is not there, create a PR or an issue:

versionix --registered

Type:

versionix --help

to get more help like this example:

doc/versionix_usage.png

DESCRIPTION

The first difficulty is that standalone applications have different ways to obtain their version information. Some require the use of a long or short argument (–version or -v), while others do not require any argument at all. In addition, display channels (stdout or stderr) and formats of the version output differs between applications. To handle these various cases, we define a regular expression that should work for maybe 80% of applications (difficult to estimate). For non standard case, a dictionnary of metadata related to the different standalones is available. These metadata helps in the identification of the command to run, the options to use, if the information is directed to stdout or stderr and the method to parse the output to obtain the version number.

Versionix is designed to be used with all Sequana pipelines and is not intended to be universal. You can add your own standalone version in the versionix/register.py file and provide a Pull Request.

Changelog

Version

Description

0.99.1

Remove warning if we are using registered entry.

0.99.0

Final version before 1.0.0

0.3.0

Refactor to use regular expression and registry only if needed. This make versionix quite generic.

0.2.4

More tools in the registry and added precommit

0.2.3

More tools in the registry

0.2.2

add all tools required by sequana pipelines (oct 2023)

0.2.1

More tools added.

0.2

simplification. Add tests. Add more tools

0.1

first draft

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

versionix-0.99.1.tar.gz (8.9 kB view details)

Uploaded Source

Built Distribution

versionix-0.99.1-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

File details

Details for the file versionix-0.99.1.tar.gz.

File metadata

  • Download URL: versionix-0.99.1.tar.gz
  • Upload date:
  • Size: 8.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.14 Linux/6.8.9-300.fc40.x86_64

File hashes

Hashes for versionix-0.99.1.tar.gz
Algorithm Hash digest
SHA256 022f28a65406b34160c1ad27c543ac0167f0bcacb960dcb9ca00bc588a425304
MD5 ea6fd0228893586707a8b1217d6af19f
BLAKE2b-256 7320a1cc25d769ff17ad193481a555adf1f5bad4b58ffa2477eea814b392da11

See more details on using hashes here.

File details

Details for the file versionix-0.99.1-py3-none-any.whl.

File metadata

  • Download URL: versionix-0.99.1-py3-none-any.whl
  • Upload date:
  • Size: 9.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.14 Linux/6.8.9-300.fc40.x86_64

File hashes

Hashes for versionix-0.99.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c1c45c3250593597d32113bbca9d72ea2577f1d364277a16d6673c91c2943498
MD5 cbcd2d2e9b4089e9ebce0ef2cf097a53
BLAKE2b-256 2035a2b525574774411e376f1a6f8c4fb455b7f8820a03b0ecdb2e296a3a4b94

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page