New version checker for software releases
Go to file
Levente Polyak 9221a476c5
feat(core): resolve symlinks on file write (#233)
* feat(core): resolve symlinks on file write

Instead of using the passed filename as the rename target, use
Path.resolve for resolving any symlinks.

This allows to use symlinks for the nvchecker database files that point
somewhere else. Before this commit nvchecker simply replaced the symlink
with an actual file, now we resolve the targets first and only replace
the actual file that is pointed to.

---------

Signed-off-by: Levente Polyak <levente@leventepolyak.net>
Co-authored-by: Andreas 'Segaja' Schleifer <webmaster@segaja.de>
Co-authored-by: lilydjwg <lilydjwg@gmail.com>
2023-10-27 17:18:05 +08:00
.github/workflows github actions: exclude matrix containing an upstream bug 2023-03-26 20:51:19 +08:00
docs update docs for sparkle 2023-10-18 02:03:10 +02:00
nvchecker feat(core): resolve symlinks on file write (#233) 2023-10-27 17:18:05 +08:00
nvchecker_source implement second batch of URL results for sources 2023-10-18 21:58:29 +02:00
scripts nvchecker-notify: accept and pass --tries and --failures to nvchecker 2023-10-03 17:28:34 +02:00
tests fix pacman test 2023-10-18 01:59:43 +02:00
.gitignore introduce tox support 2022-03-03 09:56:33 -08:00
.readthedocs.yaml fix readthedocs 2023-08-26 11:47:34 +08:00
.typos.toml fix typos 2022-04-21 17:16:34 +08:00
keyfile.toml.enc update keyfile.toml.enc 2021-07-27 16:06:39 +08:00
LICENSE add MIT LICENSE 2017-02-04 16:36:48 +08:00
mypy.ini silence mypy for new module 2023-05-08 23:28:20 +08:00
pyproject.toml PyPI signature support is gone 2023-06-17 22:27:21 +08:00
README.rst Use tomllib on Python 3.11+ 2023-05-08 10:52:27 +03:00
sample_config.toml rename sample_source.toml to sample_config.toml 2020-10-02 12:35:37 +08:00
setup.cfg Use tomllib on Python 3.11+ 2023-05-08 10:52:27 +03:00
tox.ini introduce tox support 2022-03-03 09:56:33 -08:00

**nvchecker** (short for *new version checker*) is for checking if a new version of some software has been released.

This is the version 2.0 branch. For the old version 1.x, please switch to the ``v1.x`` branch.

.. image:: https://github.com/lilydjwg/nvchecker/workflows/run%20tests/badge.svg?branch=master
   :alt: Test Status
   :target: https://github.com/lilydjwg/nvchecker/actions?query=workflow%3A%22run+tests%22
.. image:: https://badge.fury.io/py/nvchecker.svg
   :alt: PyPI version
   :target: https://badge.fury.io/py/nvchecker
.. image:: https://readthedocs.org/projects/nvchecker/badge/?version=latest
   :target: https://nvchecker.readthedocs.io/en/latest/?badge=latest
   :alt: Documentation Status

|

.. image:: https://repology.org/badge/vertical-allrepos/nvchecker.svg
   :alt: Packaging status
   :target: https://repology.org/metapackage/nvchecker/versions

.. contents::
   :local:

Dependency
----------
- Python 3.7+
- Python library: structlog, platformdirs, tomli (on Python < 3.11)
- One of these Python library combinations (ordered by preference):

  * tornado + pycurl
  * aiohttp
  * httpx with http2 support (experimental; only latest version is supported)
  * tornado

- All commands used in your software version configuration files

Install and Run
---------------
To install::

  pip3 install nvchecker

To use the latest code, you can also clone this repository and run::

  pip install .

To see available options::

  nvchecker --help

Run with one or more software version files::

  nvchecker -c config_file

You normally will like to specify some "version record files"; see below.

Documentation
-------------

For detailed documentation, see `https://nvchecker.readthedocs.io/en/latest/ <https://nvchecker.readthedocs.io/en/latest/>`_.