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.1.tar.gz (7.5 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.1-py3-none-any.whl (7.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: reo_package_tracker-1.0.1.tar.gz
  • Upload date:
  • Size: 7.5 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.1.tar.gz
Algorithm Hash digest
SHA256 12dda0f349b0a718fcd93753c8881face475864e26df6850a56cfaefa7a19399
MD5 c5ab4d35b4bd4409b16c722c1c089156
BLAKE2b-256 39a4b1f3fb0af43f8e669e52fda1f65c240a8acf8a386aa57c731363295ba215

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for reo_package_tracker-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e64084b1e1e430428fd5eb8ad8d194336622e8e88448b4b2a04d4e0673097d1c
MD5 c0a6cbba69fbc15b5f297175fcde2c91
BLAKE2b-256 04c6e41b6fda468a0148f786ea55b8e1cc7344994ab5559257f6203e112a6095

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