feat: reworking strukture
This is a breaking change. A reminder that this is in very early stage (first day) and nothing is set in stone yet.
This commit is contained in:
parent
5b462cd39f
commit
282a2145ff
4 changed files with 130 additions and 71 deletions
51
README.md
51
README.md
|
@ -1,3 +1,52 @@
|
|||
# PyPiUpdater
|
||||
**UNFINISHED** Still early code, functions might change drasticly
|
||||
|
||||
## More to come
|
||||
**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.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue