Registry / observability / iterative-telemetry

iterative-telemetry

JSON →
library0.0.10pypypi✓ verified 23d ago

Iterative Telemetry is a common Python library used for sending anonymized usage telemetry. It can be disabled via an environment variable and collects a minimal amount of anonymized data to understand tool usage. The current version is 0.0.10, with patch-level releases occurring periodically.

pip install iterative-telemetry
INSTALL
IMPORT
SIG · ITERATIVE-TELEMETR
I
iterative-telemetry
observabilitypythonv0.0.10
Install
2.4s avg
Import
566ms
Disk
20MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v0.0.10 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.95 runs
installs and imports cleanly · install 0.0s · import 0.600s · 22.1MB
glibc
py 3.103.95 runs
installs and imports cleanly · install 2.4s · import 0.532s · 23MB
20MB installed
● package 20MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

IterativeTelemetryLogger
from iterative_telemetry import IterativeTelemetryLogger
from iterative_telemetry.logger import IterativeTelemetryLogger

Initialize the IterativeTelemetryLogger with your tool's name and send custom events. Telemetry can be globally disabled by setting the `ITERATIVE_DO_NOT_TRACK=1` environment variable.

import os from iterative_telemetry.logger import IterativeTelemetryLogger # Instantiate the logger with your tool's name # Telemetry can be disabled by setting ITERATIVE_DO_NOT_TRACK=1 in environment variables logger = IterativeTelemetryLogger(tool_name="my_awesome_tool") # Send a simple event logger.send_event("tool_started", {"version": "1.0.0", "mode": "cli"}) # Send an event only once per user/tool instance (e.g., for first-time setup) logger.send_event_once("first_run_event") print("Telemetry events sent (or skipped if ITERATIVE_DO_NOT_TRACK is set).")
Debug
Known issues
gotchaTelemetry can be entirely disabled by setting the environment variable `ITERATIVE_DO_NOT_TRACK=1`. This is a crucial user control for privacy.
fix
Ensure users are aware of the `ITERATIVE_DO_NOT_TRACK` environment variable to opt-out of telemetry collection.
affects: All versions
gotchaPrior to version 0.0.10, telemetry exception handling in daemon mode was fixed. Older versions may have experienced silent failures or unhandled exceptions in long-running background processes.
fix
Upgrade to version 0.0.10 or newer to ensure robust exception handling in daemonized applications.
affects: <0.0.10
gotchaBefore version 0.0.8, the library might have failed if the GitHub CLI was expected (e.g., for user ID inference) but not present on the system, leading to unexpected errors.
fix
Upgrade to version 0.0.8 or newer to include exception handling for missing GitHub CLI.
affects: <0.0.8
gotchaThe library is currently in 'Beta' development status (4 - Beta). While stable for its current use cases, the API or internal mechanisms might still undergo changes in future minor or major releases.
fix
Be aware that as a beta project, API surface or behavior may change in future versions. Review changelogs carefully when upgrading.
affects: All 0.0.x versions
Upgrade
Version history
0.0.10latest on PyPI · released Feb 11, 2025
Audit
Dependencies
pythonrequiredRequires Python 3.8 or higher.
Agent activity
17 hits · last 30 days
node
14
OpenAI (training)
2
Resources
iterative-telemetry — pip install iterative-telemetry · libregistry