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

Uploaded Python 3

File details

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

File metadata

  • Download URL: reo_package_tracker-1.0.2.tar.gz
  • Upload date:
  • Size: 7.6 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.2.tar.gz
Algorithm Hash digest
SHA256 1404fc1170108d05f9c947d3166fa450b0b99203e363c7e7c7ce3ac3bfbeb3fc
MD5 9d9b8bf63403399436625feaa933950e
BLAKE2b-256 42d7d5cb0ba294959e0951b97f71e31c75c38c9f53464cd0af37707194647936

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for reo_package_tracker-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d272342ffe15b0845747c209ab874cb764743fbf6867846899e66e950485d403
MD5 e740af00d4d552e3abe164dd7445e7bf
BLAKE2b-256 01f6884506ec2f088ba9fde5cc9f4eea799a92e81a9c8a35d98997a1fb62d5aa

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