Update-Board is a lightweight CLI tool for managing and delivering updated versions of applications during testing.
Project description
upboard
upboard (Update-Board) is a lightweight CLI tool used to manage and deliver updated versions of applications during development.
upboard helps you distribute software updates to clients by providing a simple HTTP server (upboard-server) and a file publisher (upboard-publish). Applications can check for and download updates dynamically at runtime using standard HTTP requests.
📦 Installation
pip install upboard
🚀 Usage
Start the update server
upboard-server --dir ./release-dir --port 5001 --password mysecret
- Releases file hosted by the service from
./release-dir - Accepts authenticated
PUTuploads at/api/v1/releases/...
Run As Server
Linux
You can run upboard as a systemd service on Linux systems:
# 1. Copy and modify the service file to systemd directory:
sudo cp src/etc/systemd/upboard.service /etc/systemd/system/
# 2. Reload systemd daemon:
sudo systemctl daemon-reload
# 3. Start the service:
sudo systemctl start upboard
# 4. Enable auto-start on boot:
sudo systemctl enable upboard
# 5. To check service status:
systemctl status upboard
Windows
To run upboard as a Windows service, you can use NSSM (Non-Sucking Service Manager):
-
Download and install NSSM from: https://nssm.cc/
-
Open Command Prompt as Administrator and run:
nssm install upboard
-
In the NSSM service installer:
- Application Path: Path to your Python executable
- Arguments: -m upboard-server
- Startup Directory: Your release directory path
-
Start the service:
nssm start upboard
Upload a file
upboard-publish --password mysecret http://localhost:5001/api/v1/releases/win32/x64/ your-release-file
Check for updates (client-side, GET request)
GET /api/v1/updates/your-project/win32/x64/your-release-file
📁 API Overview
| Description | Method | Endpoint Example |
|---|---|---|
| Upload a new version | PUT | /api/v1/releases/<product>/<platform>/<arch>[/<version>]/<filename> |
| Check if a newer version exists | GET | /api/v1/updates/<product>/<platform>/<arch>[/<version>]/<filename> |
📄 License
MIT License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file upboard-0.0.1b4.tar.gz.
File metadata
- Download URL: upboard-0.0.1b4.tar.gz
- Upload date:
- Size: 8.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e856a354878eefdc0e2619e16348918dade67245734348e86ff9dbd660b8c5a9
|
|
| MD5 |
1f1a6ec0eb14d1f110f2686f76c98f09
|
|
| BLAKE2b-256 |
9eeb1bec3dec5f34fb56e72e16346e1925dbb4f8d413374432dcf29ea5657e35
|
Provenance
The following attestation bundles were made for upboard-0.0.1b4.tar.gz:
Publisher:
python-publish.yml on ZeroKwok/upboard
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
upboard-0.0.1b4.tar.gz -
Subject digest:
e856a354878eefdc0e2619e16348918dade67245734348e86ff9dbd660b8c5a9 - Sigstore transparency entry: 224846637
- Sigstore integration time:
-
Permalink:
ZeroKwok/upboard@98c2aaa21377a27967ab18457433ab0116a4c653 -
Branch / Tag:
refs/tags/v0.0.1b4 - Owner: https://github.com/ZeroKwok
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@98c2aaa21377a27967ab18457433ab0116a4c653 -
Trigger Event:
release
-
Statement type:
File details
Details for the file upboard-0.0.1b4-py3-none-any.whl.
File metadata
- Download URL: upboard-0.0.1b4-py3-none-any.whl
- Upload date:
- Size: 8.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
61f6ea2030e8a4180568bbfcb47aca0513ec250076d418278b75fc9e0562ea20
|
|
| MD5 |
0fcb0ec5d15a9418ebd6244701a004a3
|
|
| BLAKE2b-256 |
ea5cebb034102a58c934561d1a8b142a4665a58d0b9d69cbef10f45b1ed585d4
|
Provenance
The following attestation bundles were made for upboard-0.0.1b4-py3-none-any.whl:
Publisher:
python-publish.yml on ZeroKwok/upboard
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
upboard-0.0.1b4-py3-none-any.whl -
Subject digest:
61f6ea2030e8a4180568bbfcb47aca0513ec250076d418278b75fc9e0562ea20 - Sigstore transparency entry: 224846652
- Sigstore integration time:
-
Permalink:
ZeroKwok/upboard@98c2aaa21377a27967ab18457433ab0116a4c653 -
Branch / Tag:
refs/tags/v0.0.1b4 - Owner: https://github.com/ZeroKwok
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@98c2aaa21377a27967ab18457433ab0116a4c653 -
Trigger Event:
release
-
Statement type: