"Fossies" - the Fresh Open Source Software Archive

Member "versions-1.5.5/README.md" (27 Oct 2021, 4162 Bytes) of package /linux/misc/versions-1.5.5.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) GitHub Flavored Markdown source code syntax highlighting (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

    1 [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/dupgit/versions/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/dupgit/versions/?branch=master)
    2 [![Scrutinizer Build Status](https://scrutinizer-ci.com/g/dupgit/versions/badges/build.png?b=master)](https://scrutinizer-ci.com/g/dupgit/versions/build-status/master)
    3 [![Travis Build Status](https://travis-ci.org/dupgit/versions.svg?branch=master)](https://travis-ci.org/dupgit/versions)
    4 [![Scrutinizer Code Coverage](https://scrutinizer-ci.com/g/dupgit/versions/badges/coverage.png?b=master)](https://scrutinizer-ci.com/g/dupgit/versions/?branch=master)
    5 
    6 # Description
    7 
    8 Versions is an open source (GPL v3) software that checks releases and
    9 versions of your favourite programs through RSS or Atom feeds and tells
   10 you which one has been released since last check.
   11 
   12 It can check projects from :
   13 * github.com
   14 * sourceforge.net
   15 * freshcode.club
   16 * pypi.python.org
   17 * savanah.gnu.org
   18 * www.freshports.org (FreeBSD packages)
   19 * fossies.org
   20 * repo.continuum.io
   21 * sourcehut forge
   22 * gitlab forge
   23 
   24 Projects must be added to a YAML file (named by default
   25 `~/.config/versions/versions.yaml`). One can use `--file=FILENAME`
   26 option to specify an alternative YAML file. The structure of this
   27 YAML file is explained below.
   28 
   29 Versions uses and produces text files. Those files are cache files
   30 written into `~/.local/versions` directory. `*.cache` are cache
   31 files containing the project list and their associated version (the latest).
   32 `*.feed` are information feed cache files containing on each line
   33 the latest parsed post of the feed.
   34 
   35 
   36 # YAML file structure
   37 
   38 ```
   39 sitename:
   40   url: "https://the.url/to/theglobalfeed"
   41   type: list
   42   projects:
   43     - list
   44     - of
   45     - projects
   46 
   47 othersitename:
   48   url: "https://by.projects.site/{}.atom"
   49   type: byproject
   50   projects:
   51     - list
   52     - name: of
   53       regex: '([\d.]+)'
   54       entry: last checked
   55     - projects
   56 ```
   57 
   58 There is two types of sites :
   59 
   60 * 'list': The site has one feed with all projects in it such as
   61    freshcode.club or fossies.org
   62 * 'byproject": The site gives access to one feed per project.
   63    brackets '{}' represents the name of the project as found in
   64    the 'project' list. Those projects can be listed directly or
   65    can take options. In the later case you have to name the
   66    project and then you can specify either a regex or an entry
   67    type option: regex is used to determine version number and
   68    entry is used to determine if versions has to print the latest
   69    entry (default behavior) or all entries from the "last checked"
   70    time.
   71 
   72 A real life example file is provided: [versions/versions.yaml](versions/versions.yaml)
   73 
   74 
   75 # Installation
   76 
   77 Installation of versions is not mandatory and you can invoke it
   78 directly from the command line provided you have already installed
   79 its requirements.
   80 
   81 ## Pypi
   82 
   83 In pypi the project is named program_versions but is still invoked
   84 by the command `versions` :
   85 
   86 ```
   87 $ sudo pip install program_versions
   88 $ versions -v
   89 ```
   90 
   91 ## From source
   92 
   93 ```
   94 $ git clone https://github.com/dupgit/versions.git
   95 $ cd versions
   96 $ sudo pip install -r requirements.txt
   97 $ sudo python setup.py install
   98 $ versions -v
   99 ```
  100 
  101 Tip : One may want to test versions without messing its installation and
  102       may use [miniconda](https://conda.io/miniconda.html) to do so.
  103 
  104 
  105 # Usage
  106 
  107 `./version.py` should be enough to bring you the list of updated
  108 programs since last run. To verify each day one can use the following
  109 command in a persistent terminal (tmux, screen…):
  110 
  111 ```
  112 $ watch -n 86400 ./versions.py
  113 ```
  114 
  115 * Option `-h` or `--help` will give you some help.
  116 * Option `-v` or `--version` will tell you the version you have.
  117 * Option `-l` or `--list-cache` prints the content of the local cache
  118   (ie latest known versions).
  119 * Option `-f FILENAME` or `--file FILENAME` ease usage of different
  120   YAML configuration files.
  121 * Option `-d` or `--debug` runs doctests and prints information about
  122   what's going on in the program.
  123 
  124 
  125 # Links of interest
  126 
  127 * [https://release-monitoring.org/](https://release-monitoring.org/)
  128 * [https://wiki.debian.org/debian/watch](https://wiki.debian.org/debian/watch)
  129 * [http://semver.org/](http://semver.org/)