Skip to main content

CLI tool for projects that uses gradle version catalog to check dependency updates.

Project description

Kataloger

Python version Latest version Downloads Tests

Kataloger can help update your project dependencies with ease! All you need is point to libs.versions.toml file and supply it with repositories that you use in project.

Features

  • Better than Android Studio built-in tool :)
  • Gradle-free
  • Can be used on CI
  • Flexible and open-source

How to use?

Kataloger offers handy CLI which you can use locally or on CI.

You can pass path to version catalog using -p parameter and path to configuration with -c parameter:

kataloger -p ~/ProjectDir/libs.versions.toml -c ~/ProjectDir/default.configuration.toml

Repositories, where artifact updates will be searched for, should be specified in configuration file separately for libraries and plugins as shown below:

# ...
[libraries]
library_repository = "https://repository.link/library"

[plugins]
plugin_repository = "https://repository.link/plugin"

Tip: You can use default configuration file as template.

Paths to catalogs also can be specified in configuration file:

# ...
[catalogs]
androix_catalog = "./androidx.versions.toml"
kotlin_catalog = "./kotlin.versions.toml"

Important: Relative paths are resolved to the root directory of configuration.

And then you need specify only path to configuration:

kataloger -c ~/ProjectDir/project.configuration.toml

Or you can omit all parameters if configuration file or catalogs are located in current working directory. In this mode kataloger trying to find all catalogs (files with .versions.toml extension) and configuration in default.configuration.toml file in current directory:

cd ~/ProjectDir
kataloger

If configuration file not provided and can't be found in current working directory kataloger will use default configuration with next repositories: Maven Central, Google Maven and Gradle Plugin Portal.

kataloger -p ~/ProjectDir/libs.versions.toml

CLI options

-p [path] or --path [path] — specifies path to gradle version catalog file. You can pass more than one version catalog path. If no path provided kataloger try to find version catalogs (files with extension .versions.toml) in current working directory.
-c [path] or --configuration [path] — specifies path to .toml file with repositories credentials where updates will be looked for. If no path provided kataloger try to find default repositories file with name default.configuration.toml in current working directory. If repositories can't be found in current directory kataloger use predefined set of repositories (Maven Central, Google and Gradle Plugin Portal).
-v or --verbose — if specified print more info to console.
-u or --suggest-unstable — if specified suggest artifact update from stable version to unstable.
-f or --fail-on-updates — if specified return non-zero exit code when at least one update found. Can be useful on CI.

Installation

Kataloger available in Python Package Index (PyPI). You can install kataloger using pip (requires python 3.8 and greater):

pip install kataloger

Use kataloger in python scripts

Kataloger has convenient API (I did my best), so you can write custom logic on top. More info about it can be found here.

License

Copyright 2023 Dzmitry Pryskoka

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

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

kataloger-0.3.3.tar.gz (23.8 kB view details)

Uploaded Source

Built Distribution

kataloger-0.3.3-py3-none-any.whl (30.4 kB view details)

Uploaded Python 3

File details

Details for the file kataloger-0.3.3.tar.gz.

File metadata

  • Download URL: kataloger-0.3.3.tar.gz
  • Upload date:
  • Size: 23.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.4

File hashes

Hashes for kataloger-0.3.3.tar.gz
Algorithm Hash digest
SHA256 6161b2a54d25b8167f1c6b2e55ec3360d8262233f579413db1fa1bdfa1cd565b
MD5 73d98a478bfff5d488a822c2fa0f719e
BLAKE2b-256 ca75ee712630e73d143e3a61fc07037a8957676b852976ca8b60d5ff7f140871

See more details on using hashes here.

File details

Details for the file kataloger-0.3.3-py3-none-any.whl.

File metadata

  • Download URL: kataloger-0.3.3-py3-none-any.whl
  • Upload date:
  • Size: 30.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.4

File hashes

Hashes for kataloger-0.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 965f978083eefcb00d4ac07d8ce7f4dbf9bcfaea03f16cc2bd9cc7b4c70428de
MD5 13a90b8c5411ebb70355c0e2c84322d2
BLAKE2b-256 7d90cdeeaaa286c87a8f8014944630b42e8efc835a7b0a6ab2196fda7cade3cb

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