Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

islandkit-0.1.0.tar.gz (10.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

islandkit-0.1.0-py3-none-any.whl (8.7 kB view details)

Uploaded Python 3

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

Hashes for islandkit-0.1.0.tar.gz
Algorithm Hash digest
SHA256 7e9bd0df78c09e346387df89b6282c3dc536c02471f0277931fb21ce5d60427a
MD5 dd4feccd3cf272690278231d5958cc00
BLAKE2b-256 a04130c49f6bdb06f344e53bd5fae7642e0fd36caa2ada18e5681aead5064275

See more details on using hashes here.

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

Hashes for islandkit-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 eafaa79f58004a63ac28ffc1a082b660fff7fcd317273a8d561d21110b519038
MD5 43b9c0602f104e428c55b4d1eff8183c
BLAKE2b-256 f59e03270fc0ec97e8e89ca2dcdabb1f00443629357777358554042669d9cd9e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page