PyPiUpdater/README.md
2025-01-31 15:55:50 +01:00

1.9 KiB

PyPiUpdater

UNFINISHED Still early code, functions might change drasticly

PyPiUpdater is a Python library for managing updates of packages installed via pip.

Features

  • Check the latest version of a package on PyPI
    • Determine if an update is available
  • Upgrade the package using pip
  • Restart the Python script after updating

Installation

pip install PyPiUpdater

Usage example

NOTE: Example only work for client application, GUI apps such as OptimaLab35 with QT need also to close the window and should not use the restart function.

Now the example by ChatGPT:

Here's a short example code snippet for your PyPiUpdater package to include in your README:

# Example usage of PyPiUpdater

from PyPiUpdater import PyPiUpdater

# Initialize the updater with the package name, current version, and log file path
updater = PyPiUpdater(package_name="OptimaLab35", local_version="0.7.0", log_path="update_log.txt")

# Check if an update is available (optionally forcing the check, otherwise only checked every 20 hours(default set with update_interval_seconds = int seconds))
is_newer, latest_version = updater.check_for_update(force=False)

if is_newer:
    print(f"Update available! Latest version: {latest_version}")
    # Update the package using pip
    success, message = updater.update_package()
    print(message)
    if success:
        # Restart the program after update
        updater.restart_program()
else:
    print("No update available or checked too recently.")

Explanation:

  • The example shows how to initialize the PyPiUpdater class with the package name, current version, and the path to a log file.
  • It checks for an update by calling check_for_update().
  • If an update is available, it proceeds with updating the package using update_package() and restarts the program with restart_program().
  • If no update is available, or it was checked too recently, it prints an appropriate message.