Your TQDM on dynamic island - Remote progress tracking for Python long-running tasks
Project description
IslandKit
Your TQDM on dynamic island - Remote progress tracking for Python long-running tasks.
Overview
IslandKit is a small Python library that extends the tqdm progress bar so that updates can be broadcast in real time via Supabase Realtime. This allows you to monitor the progress of long-running jobs such as data processing or model training remotely on an iOS device.
Key Features
- Fully compatible drop-in replacement for
tqdm - Progress updates are sent to a private Supabase channel
- Works in both synchronous and asynchronous code
- Configuration via environment variables, JSON config file or directly in code
- Optional Python key authentication
Installation
Install the package from PyPI:
pip install islandkit
For development install from the repository:
pip install -e .
Usage
Basic Example
import asyncio
from islandkit import tqdm
async def main():
# Optionally configure Supabase credentials here
for i in tqdm(range(100), desc="Processing"):
await asyncio.sleep(0.1)
asyncio.run(main())
Model Training Example
Check examples/ for a more complete training demo using tqdm with additional metrics.
Configuration
The library reads configuration from environment variables or ~/.islandkit/config.json if it exists. At minimum you need the Supabase URL, an anon key and optionally a Python key for authentication.
Environment variables:
ISLANDKIT_PYTHON_KEY=your-python-key
Development
Run pytest to execute any tests and black to format the code. The project targets Python 3.8 and later.
License
This project is released under the MIT License.
Contributions are welcome!
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 islandkit-0.1.0.tar.gz.
File metadata
- Download URL: islandkit-0.1.0.tar.gz
- Upload date:
- Size: 10.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7e9bd0df78c09e346387df89b6282c3dc536c02471f0277931fb21ce5d60427a
|
|
| MD5 |
dd4feccd3cf272690278231d5958cc00
|
|
| BLAKE2b-256 |
a04130c49f6bdb06f344e53bd5fae7642e0fd36caa2ada18e5681aead5064275
|
File details
Details for the file islandkit-0.1.0-py3-none-any.whl.
File metadata
- Download URL: islandkit-0.1.0-py3-none-any.whl
- Upload date:
- Size: 8.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eafaa79f58004a63ac28ffc1a082b660fff7fcd317273a8d561d21110b519038
|
|
| MD5 |
43b9c0602f104e428c55b4d1eff8183c
|
|
| BLAKE2b-256 |
f59e03270fc0ec97e8e89ca2dcdabb1f00443629357777358554042669d9cd9e
|