unstructured
8c4592a1 - chore: restore telemetry by default (#4431)

Commit
5 days ago
chore: restore telemetry by default (#4431) ## Summary PR #4281 accidentally changed the existing library-load telemetry ping from default-on/opt-out to explicit opt-in. This PR resumes the existing library-load telemetry by default when `unstructured` is imported. ## Changes - Removes the explicit `UNSTRUCTURED_TELEMETRY_ENABLED` gate while preserving the telemetry endpoint, query payload keys and values, 10-second HTTP timeout, opt-out semantics, and best-effort failure suppression. The synchronous `nvidia-smi` GPU probe now uses `subprocess.run` with a 1.0-second timeout and stdin, stdout, and stderr directed to `DEVNULL`; launch, non-zero-exit, and timeout failures keep import non-fatal and send `gpu="False"`. - Users can still turn telemetry off before import by setting either `DO_NOT_TRACK` or `SCARF_NO_ANALYTICS` to any non-empty value after trimming whitespace; either variable takes precedence. - Updates the README disclosure, outbound-connectivity tooling, focused telemetry coverage, version (`0.26.0`), and changelog. - Forces `DO_NOT_TRACK=1` in the root pytest `conftest.py` before ordinary collection, including when an inherited value is empty or whitespace-only; focused telemetry tests explicitly clear both opt-outs under mocks to prove default-on behavior. - Passes `DO_NOT_TRACK=1` after any optional env file in `make docker-test`, ensuring the packaged Docker test layout opts out before pytest collection without changing the production image. ## Validation - Dedicated regressions: 3 failures on the pre-fix implementation, then 3 passes after the bounded probe and forced test opt-out were applied. - `/opt/homebrew/opt/uv-wrapper/bin/uv run --locked --group test pytest -q --tb=short test_unstructured/test_telemetry.py` — 21 passed - `make check` — passed - `make check-version` — passed - `git diff --check` — passed - `shellcheck scripts/image/test-outbound-connectivity.sh scripts/image/test-all-outbound-connectivity-scenarios.sh` — passed on the unchanged shell files earlier in this PR - BCE Junior / Opus and GPT-5.6 Pro Oracle reviews completed; incorporated the bounded GPU-probe, inherited empty/whitespace, and packaged Docker test-hermeticity findings. (authored by codex)
Author
Parents
Loading