Skip to main content

Check and update versions of pypi packages and docker-images in your project.

Project description

Version updater for components in your codebase

Problem to solve

In project where there are many components to track new versions (docker images and pypi packages) this tool automates finding new versions, running tests and commit changes to git.

TL;DR

Create YAML file with definition of your components (see example in tests/test_files/components.yaml ). Place components.yaml in the root of your project directory and run:

python check_version.py --file=/path/to/your/components.yaml --dry-run check --verbose

It will, for each defined component:

  1. Check if there are new versions of your components available

  2. Replace in all files version numbers to the newest one

  3. Run tests

  4. Add and commit changes to git

Installation

Install via pypi packages repository:

pip install updater

Usage

updater

updater [OPTIONS] COMMAND [ARGS]...

Options

--file

YAML file with components configuration. If not present other options for ‘check’ command are required.

--destination-file <destination_file>

If this option is given components configuration with new versions will be wrtten here.

--dry-run

If set no changes to any files are written.

--print

Config is printed to stdout at the end.

check

Check if new versions of defined components are available.

updater check [OPTIONS]

Options

--type <component_type>

Component type: docker-image or pypi package.

--component

Component name to version veryfication.

--repo_name <repo_name>

Repository name if component is docker image.

--version_tag <version_tag>

Version tag eg. v2.3.0 against which new version check will be run.

--verbose

Print detailed info for each component about new version avaialble.

update

Update files with version numbers, run test and commit changes.

updater update [OPTIONS]

Options

--test-command <test_command>

Command that should be run after updating each component.

--test-dir <test_dir>

If test-command param is given, this will be the context dir to run it.

--git-commit

When set after each components update, git commit is performed in active branch.

--project-dir <project_dir>

If given, then it will be treated as a root dir for paths in config file.

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

updater-0.1.23.tar.gz (9.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

updater-0.1.23-py3-none-any.whl (8.7 kB view details)

Uploaded Python 3

File details

Details for the file updater-0.1.23.tar.gz.

File metadata

  • Download URL: updater-0.1.23.tar.gz
  • Upload date:
  • Size: 9.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.40.1 CPython/3.8.0

File hashes

Hashes for updater-0.1.23.tar.gz
Algorithm Hash digest
SHA256 585baba515127c0562c83810560c8a3347f5991cc6443d74e1d6fb70337980de
MD5 1265931890c4acef9de6fd0a00732bae
BLAKE2b-256 6e02c071eab17b0235513913b23054f5b3a3c0c1402998722df8313552cd6af6

See more details on using hashes here.

File details

Details for the file updater-0.1.23-py3-none-any.whl.

File metadata

  • Download URL: updater-0.1.23-py3-none-any.whl
  • Upload date:
  • Size: 8.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.40.1 CPython/3.8.0

File hashes

Hashes for updater-0.1.23-py3-none-any.whl
Algorithm Hash digest
SHA256 32d1f164cef6bca731e9f28eb14c2d4bed2ebbbf55aeb45c1b5377afbc6acb43
MD5 e7ad9b08fe384fa3b9df3d34c9927b34
BLAKE2b-256 bae7bd9069cb95cbdf51212b66915b53a3e70caa653adf65c6d9f08099207f3a

See more details on using hashes here.

Supported by

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