Skip to main content

webprogress-python

The progress-reporter client for webprogress: a drop-in tqdm that renders the usual local progress bar and mirrors each tick, best-effort, to a webprogress server so you can watch a long-running task from your browser dashboard.

Reporting is a transparent side effect — if the server is down, slow, or rejecting, updates are silently dropped and your task runs unaffected.

Install

uv pip install -e .      # or: pip install -e .

Configure

The reporter needs two inputs — a server base address and a credential token (minted in the web UI). Supply them via the environment (optionally a local .env):

export WEBPROGRESS_HOST=http://localhost:8775
export WEBPROGRESS_KEY=<your credential token>

…or directly in code, which takes precedence over the environment.

Use

import time

from webprogress_python import tqdm
from webprogress_python.config import settings

for a in tqdm(range(10), desc="foo", endpoint=settings):
    time.sleep(1)

tqdm accepts all standard tqdm arguments plus:

Argument Meaning
endpoint A Settings (or anything with host/key); defaults to the env-loaded settings.
host Server base address; overrides endpoint.host.
key Credential token; overrides endpoint.key.
script Script the task belongs to; groups tasks on the dashboard.
tags Free-form labels shown as chips on the dashboard (protocol v2).
report_timeout Per-send timeout in seconds, or a (connect, read) tuple.

tags was added in protocol version 2. It is only put on the wire once the client has negotiated a v2 server through the /version handshake — which a Tracker does automatically. Against a v1 server it is silently omitted.

If the handshake finds the server advertising a protocol version this client does not implement (e.g. a newer server), the client cannot safely shape a message for it: it emits an UnsupportedProtocolWarning and disables reporting for that session — nothing is sent to the server. The tracked task still runs unaffected. (A server that is simply unreachable or that advertises no version is different: the client falls back to its default protocol and keeps reporting best-effort.)

A Tracker can set run-wide tags for every bar it creates; a bar's own tags merge on top:

with Tracker(script="train.py", tags=["gpu", "nightly"]) as t:
    for _ in t.tqdm(range(1000), desc="epoch 3/12", tags=["batch-7"]):
        ...

How it works

On each display tick the reporter draws the local bar first, builds one update message from the current progress state (the shared contract), attaches the token, and POSTs it to the server's /handler endpoint with a short timeout. Any transport failure or rejection is caught and ignored.

Develop

uv pip install -e '.[dev]'
pytest

Metadata

Release files for webprogress-python 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for webprogress-python 0.4.0
File Size Uploaded Provenance
webprogress_python-0.4.0.tar.gz 18.6 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for webprogress-python 0.4.0
File Interpreter ABI Platform
webprogress_python-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 40.3 kB

Release files / webprogress_python-0.4.0.tar.gz

Download URL webprogress_python-0.4.0.tar.gz
Size 18.6 kB
Tags Source
SHA-256 checksum
How to use checksums
ea93b108852e68f2dfc2a1d415f01b833832eab8e1d7b6468b7bf6bab479ae71
BLAKE2b-256 checksum
How to use checksums
d4ae6b27d10b7930fc2708a5a7df1dbfe15797f5289dfafa05737bd2503b5df0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Release files / webprogress_python-0.4.0-py3-none-any.whl

Download URL webprogress_python-0.4.0-py3-none-any.whl
Size 21.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
56daf59b6114bf2d9e6ebbb8cef3a1fcc1e2726dd4e6571e201c68477c0dacad
BLAKE2b-256 checksum
How to use checksums
c688cf24a4ec9f6a3f10a910af4e25ab888887f161de85aee79b6d6e5d30cb6e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Security for webprogress-python 0.4.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for webprogress_python-0.4.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page