Skip to main content

Package tracking utility similar to Reo for pip/setuptools installs

Project description

Python Package Tracker

A lightweight pip/setuptools package tracking utility similar to Reo.

Features

  • Zero runtime overhead for your application code
  • Privacy-first metadata collection
  • Non-blocking with strict timeout protection
  • Retry logic with exponential backoff
  • Configurable via environment variables and pyproject.toml

Important pip/setuptools Note

Unlike npm postinstall, Python packaging does not guarantee dependency install hooks in all pip flows (especially wheel installs).

This implementation provides:

  • A best-effort setuptools install hook in setup.py
  • A manual CLI entry point: package-tracker

Installation

Inside a package that uses setuptools:

pip install reo-package-tracker

Or from this directory:

cd python
pip install .

Configuration

Environment Variables

  • PACKAGE_TRACKER_ANALYTICS=false - Disable tracking
  • PACKAGE_TRACKER_ANALYTICS=true - Enable tracking for opt-in mode
  • PACKAGE_TRACKER_VERBOSE=true - Enable verbose logging
  • PACKAGE_TRACKER_ENDPOINT=https://telemetry.reo.dev/data - Custom endpoint

pyproject.toml settings

Add this to your package:

[tool.reoSettings]
defaultOptIn = false
endpoint = "https://telemetry.reo.dev/data"

Settings:

  • defaultOptIn (boolean, default: true)
    • true: opt-out mode (tracking enabled unless explicitly disabled)
    • false: opt-in mode (tracking disabled unless explicitly enabled)
  • endpoint (string, optional)
    • Tracking endpoint override

Usage

Manual run

PACKAGE_TRACKER_VERBOSE=true package-tracker

Module run

python -m package_tracker

Payload Shape

The payload includes:

  • package: package name and version
  • system: platform, architecture, Python version, OS info
  • installation: timestamp, cwd, install context
  • metadata: git user/domain, CI context, pip user (if available)

Privacy & Opt-Out

Collected:

  • Package metadata
  • System/platform metadata
  • Installation context
  • Email domain only (never full email)

Not collected:

  • Source code contents
  • Passwords or secrets
  • Full email addresses

Users can always disable telemetry:

export PACKAGE_TRACKER_ANALYTICS=false
pip install your-package

Development

See python/TESTING.md for test flows and verification commands.

License

MIT

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

reo_package_tracker-1.0.0.tar.gz (7.2 kB view details)

Uploaded Source

Built Distribution

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

reo_package_tracker-1.0.0-py3-none-any.whl (7.4 kB view details)

Uploaded Python 3

File details

Details for the file reo_package_tracker-1.0.0.tar.gz.

File metadata

  • Download URL: reo_package_tracker-1.0.0.tar.gz
  • Upload date:
  • Size: 7.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for reo_package_tracker-1.0.0.tar.gz
Algorithm Hash digest
SHA256 57aeb800ed66e53ec9ec8dffdbe317bbe0cbdf63d8ce945d221cd935e3e1b775
MD5 95623ba4a1c8f2aa9deb41a4042344f4
BLAKE2b-256 b9c9ec4b05c17138beee2c1a5d68ddbf281e0a08f30fe47154e94b65dd284c1d

See more details on using hashes here.

File details

Details for the file reo_package_tracker-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for reo_package_tracker-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6e4644a9867ec7710eebfb523dedd8378b7f8c68d05e6c0bbbedf38f0f276452
MD5 4c3940ddcc100ff9530497ddabda7290
BLAKE2b-256 c5cd463fc6b70353bb7c74ad19dc564ca44999b41ee86c89327a1c7090c0eb6c

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