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.