the phone-home register
pip
What pip sends out of your computer by default, when, to whom, and the switch that stops it, version by version, with how we know.
The answer
By its source at 26.2.1, not run: when you run pip, at most once a week it looks up the newest pip on pypi.org or the index you configure (not in an externally managed Python outside a virtual environment, such as Ubuntu 26.04's own), and PIP_DISABLE_PIP_VERSION_CHECK=1 (or --disable-pip-version-check) stops that; each request pip makes to an index also carries, in its user agent, the pip and Python versions, the distribution, the system and release, the processor architecture, the OpenSSL, setuptools and rustc versions and whether it looks like a CI run, with no switch for those fields found.
Builds and versions
not installed: source read at tag 26.2.1On by default?yes · read in codeMeasured here?no · read in codeDate checked (UTC)2026-10-10
- Version
- 26.2.1 · the source at tag 26.2.1
- Where the evidence came from
- not run: the source applies to every platform
- On by default?
- yes · read in code: at most once a week, when you run pip in a virtual environment or in a Python not marked externally managed; yes · read in code: in the user agent of every request to a package index
- Measured here?
- no · read in code
- Date checked (UTC)
- 2026-10-10
- Why we say so
- src/pip/_internal/self_outdated_check.py and cli/cmdoptions.py read at tag 26.2.1; src/pip/_internal/network/session.py read at tag 26.2.1
Each call out
self version check · 26.2.1
- Version · build
- 26.2.1 · the source at tag 26.2.1 · not run: the source applies to every platform · not installed: source read at tag 26.2.1
- Sends by default
- yes · read in code: at most once a week, when you run pip in a virtual environment or in a Python not marked externally managed
- Kind
- checks
- Trigger
- as a side effect of a local request
- When
- Read in code at 26.2.1: when pip runs and its last check is more than a week old, against PyPI or the index you configure; it returns before any request in an externally managed Python outside a virtual environment; not run.
- Where
- package index · pypi.org
- What it sends
- a lookup of the newest pip on the package index (request)
- The vendor's stated purpose
- “Don't periodically check PyPI to determine whether a new version of pip is available for download. Implied with --no-index.” — the help text of --disable-pip-version-check at 26.2.1 (it states the check's purpose by negation), read 2026-10-10
- Grade and method
- read · src/pip/_internal/self_outdated_check.py and cli/cmdoptions.py read at tag 26.2.1 · read 2026-10-10
- Receipts
- the weekly interval · the check · the option's own help text · the externally-managed test: a marker file in the standard library, no virtual environment · Ubuntu 26.04's Python 3.14 package installs that marker
user agent fields · 26.2.1
- Version · build
- 26.2.1 · the source at tag 26.2.1 · not run: the source applies to every platform · not installed: source read at tag 26.2.1
- Sends by default
- yes · read in code: in the user agent of every request to a package index
- Kind
- reports
- Trigger
- only when you ask for it
- When
- Read in code at 26.2.1: inside the user agent of each request pip makes to PyPI or the index you configure; pip is not a background caller.
- Where
- package index · pypi.org
- What it sends
- the installer and Python versions and implementation, the distribution and its version, the system and its release, the processor architecture (system); the OpenSSL, setuptools and rustc versions, and whether it looks like a CI run (software)
- The vendor's stated purpose
- none found in pip's user guide at 26.2.1, read 2026-10-10
- Grade and method
- read · src/pip/_internal/network/session.py read at tag 26.2.1 · read 2026-10-10
- Receipts
- the user agent's fields
The switch
PIP_DISABLE_PIP_VERSION_CHECK=1
- Accepted values
- 1
- What it is
- environment variable (or the --disable-pip-version-check option)
- Where it must be set
- in the environment of the program, before it starts (see Turn them off) · turn them off
- Other spellings
- --disable-pip-version-check
- Also turns off
- the notice that a newer pip exists
- What turning it off costs
- you are no longer told that a newer pip exists
- Proof
- documented; not tested by us
- For the call
- self version check · 26.2.1
No switch found for: user agent fields · 26.2.1.
Listens beyond the machine, and other cloud features
Listens beyond the machine by default
- n/a · a command-line tool (26.2.1 the source at tag 26.2.1)
Other cloud features
None found.
What it leaves on disk
Nothing we know of.
Brings in, and installed for you by
None on the register.
Credit
- pip skips the check in an externally managed Python (PEP 668) outside a virtual environment, where the distribution updates pip. — github.com · self_outdated_check.py, read 2026-10-10
Vendor documents it? · public discussion
Vendor documents it?
- self version check · 26.2.1: yes · The option's help text, printed by pip --help, describes the check and how to turn it off. · github.com · cmdoptions.py · read 2026-10-10
- user agent fields · 26.2.1: partly · Its user guide mentions the user agent only to say PIP_USER_AGENT_USER_DATA can add to it; the fields are not listed. · github.com · user_guide.rst · read 2026-10-10
Public discussion
History
No dated changes yet.
Not yet checked
Nothing named.