52 lines
1.9 KiB
Markdown
52 lines
1.9 KiB
Markdown
# 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
|
|
|
|
```bash
|
|
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:
|
|
|
|
```python
|
|
# 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.
|