PAGES
← all tools
◆ General Utilities & Libraries

python-pipx

1.18.2 open-source

The python-pipx CLI installs and runs Python applications in isolated environments while exposing their commands on the user's PATH.

Summary

python-pipx is an open-source command-line tool that installs and runs Python applications each in its own isolated environment, so their dependencies never collide with each other or with system packages, and it is free to use. It works by wrapping pip, exposing an app's CLI entry points after install, or running one ad hoc in a throwaway environment with run, all under normal user permissions rather than sudo. Its README compares it to macOS's brew, npm's npx, and Linux's apt, and the audience is developers and anyone scripting machine setup or CI who needs Python-based CLI tools available without polluting a global interpreter. First committed in 2018, it remains active with 217 contributors, 230 commits in the past year, and a release only 17 days old.

The python-pipx CLI installs and runs Python applications in isolated environments while exposing their commands on the user's PATH.

How python-pipx helps

How do I get a Python command-line tool onto my machine without it fighting other tools' dependencies?

it builds a dedicated environment for that package and installs it there, so nothing it depends on can collide with another tool's or the system interpreter's packages | it exposes the package's entry points on the user's PATH afterward, so the command just runs

Which command-line tools have I installed this way, and are any of them out of date?

it keeps a record of everything installed through it and can list them all, checking each against the latest published version to flag ones with upgrades available

How do I try a Python tool once without leaving anything behind on this machine?

it builds a throwaway environment, runs the requested command in it, and discards the environment afterward, so nothing is left installed

Can I run a tool with an extra plugin or dependency it doesn't normally ship with?

it lets you name additional packages to install alongside the target inside the same temporary or installed environment, so a plugin that isn't bundled is still available at run time

Will installing or updating one tool ever break the dependencies of another tool I've installed?

each package lives in its own environment rather than a shared one, and uninstalling or upgrading one only touches its own environment, leaving the others untouched

What would changing my shell setup to add this tool's commands actually do to my PATH before I commit to it?

it can report which directories it would add to PATH without writing to PATH or any shell configuration file, so the effect is visible beforehand

all 30 features, with the evidence for each →

Languages

Not documented

Features

30 capabilities across 7 areas · 5 backed by code, an API document or a real run

Built from python-pipx's releases, docs, README and our own runs. “Seen” marks the month we first spotted a release the vendor didn't date. Group names and tags are our labels.

Compare with peers →

What python-pipx offers you

  • Command-line interface13
  • JSON data export1
  • Offline mode1
  • Scripting language support1
Tool installation and lifecycle management 9 capabilities pipx installs Python CLI tools into isolated virtual environments and manages their full lifecycle from install through upgrade and removal. This is the core purpose of the tool, covering everything from first install to keeping tools current.
Extras support for injected packages shipped Activates optional feature sets declared by a package when injecting additional libraries into an existing tool environment. 1 release · 2 other sources · first seen Jul 2026

Also counts toward: Command-line interface

release

  • Supports pipx inject with main-package extras, allowing extras on the primary package to be activated at inject time. 1.15.1 · Jul 2026 · source · release history

docs

  • Inject packages Add extra packages into an existing pipx-managed environment with pipx inject Inject a package Add matplotlib to the ipython environment: $ pipx inject ipython matplotlib Inject several at once, from a requirements file, or both: $ pipx inject ipython matplotlib pandas $ pipx inject ipython -r… docs update · Oct 2026 · source
  • . As with install , a package with no app to expose fails the inject and leaves the environment as it was. gives the injected package’s apps the environment’s suffix (injecting into exposes black_3.11 is ignored with a warning; the environment keeps the setting install gave it. seen Oct 2026 · source
Parallel upgrade checks shipped Checks all installed tools for available upgrades in parallel, reducing the wait time for large collections of tools. 2 releases · 1 other source · first seen Jul 2026

release

  • reinstall-all, upgrade-all, and install-all now operate on several environments in parallel; pass --verbose to force sequential execution. 1.18.0 · Oct 2026 · source · release history
  • Parallelizes update checks in pipx upgrade-all for significantly faster operation. 1.15.1 · Jul 2026 · source · release history

example

  • Upgrade all installed environments in parallel on Python 3.15 for maximum speed, then fall back to sequential output if you need to read per-env logs. pipx upgrade-all --verbose 1.18.0 · Oct 2026 · source
Library-only package guidance shipped Explains clearly when a package ships no CLI entrypoints and suggests what the user should do instead. 1 release · 2 other sources · first seen Jul 2026

release

  • Adds pipx install guidance for library-only packages that ship no CLI entrypoints. 1.15.1 · Jul 2026 · source · release history

docs

  • gives you , and installed package pycowsay 0.0.0.2, installed using Python 3.12.3 These apps are now available These manual pages are now available - man6/pycowsay.6 manual pages are exposed at «home»/.local/share/man shell completions are exposed at «home»/.local/share package pycowsay 0.0.0.2, installed… seen Oct 2026 · source
  • installed package httpie 3.2.4, installed using Python 3.12.3 These apps are now available - httpie These manual pages are now available - man1/http.1 - man1/httpie.1 - man1/https.1 , and : one package, three apps. seen Oct 2026 · source
pipx state reset verified Resets pipx to a clean slate by removing all managed environments and reinitialising its directory structure. 1 release · 2 other sources · first seen Jul 2026

Also counts toward: Command-line interface

release

  • New pipx reset command wipes and rebuilds pipx's state from a clean install. 1.15.1 · Jul 2026 · source · release history

command line

example

  • Start fresh after a corrupted pipx state — wipes all managed environments and reinitialises pipx. pipx reset 1.15.1 · Jul 2026 · source
Reproducible installs from lock files shipped Installs tools from a lock file so every member of a team gets the exact same versions. 1 release · 2 other sources · first seen Jul 2026

release

  • Adds PEP 751 lock file support for pipx install, enabling reproducible installs from lock files. 1.15.1 · Jul 2026 · source · release history

docs

  • Hold an installation at its current version so upgrades skip it until you unpin. and , so the app and its dependencies keep their versions until you unpin. refuses a pinned environment, and reinstall-all reports it as an error. seen Oct 2026 · source
  • passes the manifest to nab once per locked dependency group, and records that group as the lock’s default so installers select it. Existing locks seed their replacements, and pipx overwrites the declared files only after every resolution succeeds. Entries without seen Sep 2026 · source
PEP 723 inline-script installation shipped Installs a self-contained inline Python script as a permanent tool without needing a separate package on PyPI. 1 release · 1 other source · first seen Jul 2026

Also counts toward: Command-line interface

release

  • Adds pipx install support for persisting PEP 723 inline-scripted Python scripts as permanent tools. 1.15.1 · Jul 2026 · source · release history

docs

  • For a local script, the filename without its extension supplies the command name. Pass --app to choose a different name: --app greet docs update · Oct 2026 · source
Outdated tool detection shipped Lists every installed tool that has a newer version available so the user can decide what to upgrade. 1 release · 1 other source · first seen Jul 2026

Also counts toward: Command-line interface

release

  • New pipx outdated command lists all installed tools that have upgrades available. 1.15.1 · Jul 2026 · source · release history

example

  • Check which of your globally installed tools have newer versions available before deciding what to upgrade. pipx outdated 1.15.1 · Jul 2026 · source
Version-specifier enforcement on `pipx upgrade --install` documented Respects the version constraint the user specified when upgrading a tool that was not yet installed. 1 other source · first seen Jul 2026

docs

  • - 2026-07-29 1.16.5 - 2026-07-29 Honor the version specifier when pipx upgrade –install installs a missing package. ( #1987 1.16.4 - 2026-07-29 Bundle colorama in the zipapp so the single works on Windows and on Python 3.10. ( #1978 #1984 Fix the Release Notes link published in package metadata. docs update · Jul 2026 · source
Upgrade result reporting shipped Reports exactly what changed after an upgrade, including the old and new versions, so the user can see at a glance what happened. 1 release · first seen Jul 2026

release

  • Adds upgrade result reporting to pipx upgrade output, showing what changed. 1.15.1 · Jul 2026 · source · release history
Tool execution 3 capabilities pipx provides multiple ways to run Python CLI tools, whether they are already installed or needed only once. Users can invoke tools directly without activating environments or thinking about Python paths.
Isolated tool execution via `pipx run` shipped Runs a Python tool in a temporary throwaway environment without installing it permanently. 3 releases · 4 other sources · first seen Jun 2026

Also counts toward: Command-line interface

release

  • Supports absolute file URLs (e.g.⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ file:///path/to/package) for local package installs via pipx install. 1.18.2 · Oct 2026 · source · release history
  • Adds Python interpreter argument passthrough for pipx run. 1.15.1 · Jul 2026 · source · release history
  • Adds --no-path-check flag to pipx run to skip the on-PATH check, useful in environments where PATH warnings are expected or irrelevant. 1.14.0 · Jun 2026 · source · release history

docs

  • package, caches the environment, and runs the app. Under the uv backend, pipx hands packages to uv tool and local scripts with inline metadata to uv --script , so uv’s cache applies instead of pipx’s. adds packages to the temporary environment alongside the app. Repeat it to add more. seen Oct 2026 · source
  • Use a direct URL requirement to install extras: black[jupyter] @ git+https://github.com/psf/black.git seen Sep 2026 · source

example

  • Install a locally built wheel or source tree using an absolute file URL instead of a bare path. pipx install file://«home»/projects/mytool 1.18.2 · Oct 2026 · source
  • Run a tool in a temporary environment without triggering PATH-check warnings — handy in CI pipelines or containers where pipx's bin dir is intentionally absent from PATH. pipx run --no-path-check black --check . 1.14.0 · Jun 2026 · source
Run-environment cache management verified Manages the cache of environments created for one-off runs, letting users inspect or clear them to reclaim disk space. 2 releases · 2 other sources · first seen Jul 2026

Also counts toward: Command-line interface

release

  • PIPX_MAX_LOGS now keeps exactly that many logs, not one extra — environments relying on the previous off-by-one count will see one fewer log file retained. 1.18.0 · Oct 2026 · source · release history
  • New pipx cache subcommand manages cached pipx run environments. 1.15.1 · Jul 2026 · source · release history

docs

  • - 2026-09-28 - 2026-09-28 from sharing cached environments across different requirement lists or argument boundaries. This changes cache keys; run pipx cache purge to remove old entries. ( #2053 - 2026-09-22 Record each tool’s dependency group as its lock’s default so installs what wrote. seen Sep 2026 · source

command line

Direct execution of installed tools via `pipx exec` shipped Runs an already-installed tool directly, bypassing any environment re-resolution overhead. 1 release · first seen Jul 2026

Also counts toward: Command-line interface

release

  • New pipx exec command runs an already-installed application directly without re-resolving environments. 1.15.1 · Jul 2026 · source · release history
Environment health and maintenance 3 capabilities pipx monitors and repairs the virtual environments it manages to keep tools working reliably over time. It also provides controls over how and when shared dependencies are updated.
Maintenance and shared-library upkeep controls shipped Gives the user control over whether shared libraries are updated during an operation and how often automatic upkeep runs. 3 releases · 3 other sources · first seen Jul 2026

release

  • Runs pipx upgrade-shared to refresh shared pip on demand rather than waiting for the 30-day automatic refresh window. 1.18.0 · Oct 2026 · source · release history
  • Adds --skip-maintenance flag (feat: allow skipping maintenance) to bypass shared-library upkeep during operations. 1.15.1 · Jul 2026 · source · release history
  • Adds dependency cooldown policy controls to prevent overly frequent automatic dependency updates. 1.15.1 · Jul 2026 · source · release history

docs

  • Under the pip backend, pipx forwards environment variables to every pip invocation, including shared-library upgrades. Set them in your shell profile or pip’s own config file for a permanent default: for the config-file form. pipx always sets PIP_USER=0 and drops PIP_TARGET so packages land in the venv. seen Oct 2026 · source
  • Use the uv backend Make pipx use uv to create virtual environments and install packages in place of pip and venv. The CLI surface stays the same. docs update · Oct 2026 · source
  • - 2026-10-07 - 2026-10-07 from printing a traceback when the reinstall fails for an expected reason. ( #2070 printing WARNING: Skipping setuptools as it is not installed. when the shared libraries are created on Python 3.12+, where setuptools is already absent. seen Oct 2026 · source
Broken environment repair verified Detects virtual environments that have broken since installation and automatically fixes them. 1 release · 3 other sources · first seen Jul 2026

Also counts toward: Command-line interface

release

  • New pipx health repair mode automatically fixes broken virtual environments. 1.15.1 · Jul 2026 · source · release history

docs

  • Troubleshoot Diagnose and fix common pipx problems, from wrong package versions to broken environments. Wrong package version installed pipx builds venvs with your default Python, and pip installs the newest release compatible with it. docs update · Oct 2026 · source
  • - 2026-10-02 - 2026-10-02 Remove an environment that has no pipx metadata and an interpreter that no longer runs, instead of crashing pipx uninstall pipx uninstall-all #2059 Derive local script command names from the filename when parent directories contain # . docs update · Oct 2026 · source

command line

Startup performance optimisations shipped Reduces the time it takes pipx itself to start up through several internal caching and lazy-loading improvements. 2 releases · 1 other source · first seen Jul 2026

release

  • Sets PYTHON_LAZY_IMPORTS=normal to disable lazy imports that Python 3.15 uses to accelerate pipx startup.⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ 1.18.0 · Oct 2026 · source · release history
  • Multiple startup-path performance improvements (lazy venv scans, cached site-packages paths, deferred Python resolution) that speed up every pipx invocation. 1.15.1 · Jul 2026 · source · release history

example

  • Opt out of Python 3.15 lazy imports if a tool misbehaves at startup due to deferred module loading. PYTHON_LAZY_IMPORTS=normal pipx run mytool 1.18.0 · Oct 2026 · source
Declarative and reproducible tool sets 1 capability pipx can manage a defined collection of tools from a manifest file, keeping an entire workstation or CI environment consistent. This supports teams and automated setups that need the same tools present at all times.
Declarative tool manifest sync verified Reads a manifest file and installs, updates, or removes tools to match its declared state exactly. 2 releases · 4 other sources · first seen Jul 2026

release

  • Adds --backend flag to install-all to translate recorded index options between pip and uv backends, refusing environments whose index cannot be carried over. 1.18.0 · Oct 2026 · source · release history
  • Adds pipx manifest sync to reconcile a set of managed tools from a declarative manifest. 1.15.1 · Jul 2026 · source · release history

docs

  • Tool manifest Declare a set of pipx tools in one file and install, upgrade, or prune them as a unit with pipx manifest Write the manifest The manifest is a pipx.toml file. Each dependency group holds one PEP 508 package requirement and names its pipx environment. docs update · Oct 2026 · source
  • environment. must be an empty list so each group resolves on its own; pipx rejects the manifest otherwise: to uninstall environments absent from the manifest. pipx skips pruning when any declared tool fails to sync: (not available on Windows) or to select the pipx store or the installation backend. seen Oct 2026 · source

command line

example

  • Install all recorded environments using uv as the backend, automatically translating any pip index options stored in the spec file. pipx install-all --backend uv 1.18.0 · Oct 2026 · source
PATH and entrypoint control 2 capabilities pipx controls which tool binaries and shell completions are visible on the system PATH. Users can selectively expose or hide individual entrypoints without touching the underlying environment.
Selective app and script exposure via `pipx expose`/`unexpose` verified Links or hides specific binaries and completion scripts from an installed package without uninstalling the package itself. 2 releases · 5 other sources · first seen Jul 2026

release

  • --suffix now appends after the app name (e.g. pip3.12@1 instead of pip3@1.12), except before a Windows file extension; apps exposed by 1.17.14 keep their old name until pipx next exposes them. 1.18.0 · Oct 2026 · source · release history
  • Enables pipx expose to selectively link dependency apps and completion scripts a package ships. 1.15.1 · Jul 2026 · source · release history

docs

  • Expose apps Control which apps, manual pages, and shell completions an environment links onto your PATH , without rebuilding it. docs update · Oct 2026 · source
  • pipx exposes any apps, manual pages, and shell completions the new version adds, and removes the ones it no longer ships, so and PIPX_BIN_DIR match the upgraded package. and install --upgrade do the same. docs update · Oct 2026 · source
  • Control which apps, manual pages, and shell completions an environment links onto your , without rebuilding it. pipx removes the apps, manual pages, and shell completions recorded for that environment from its global directories. Upgrade and reinstall keep it hidden, and injected apps stay hidden too. seen Oct 2026 · source
  • - 2026-09-29 - 2026-09-29 Remove leftover shell completion scripts when running #2055 seen Sep 2026 · source

command line

  • unexpose — Hide resources without removing an environment 1.15.1 · Jul 2026 · command-line history
PATH management shipped Ensures the directory containing pipx-managed tool binaries is on the user's PATH, with a preview mode before making changes. 1 release · 4 other sources · first seen Jun 2026

Also counts toward: Command-line interface

release

  • Adds --dry-run flag to pipx ensurepath, letting you preview what PATH modifications would be made without actually writing any changes. 1.15.0 · Jun 2026 · source · release history

docs

  • A pipx installed with --global belongs to the global installation, so upgrade it there: --global seen Oct 2026 · source
  • /Library/Application Support" ~/.local/share/pipx ( $XDG_DATA_HOME/pipx when set). %LOCALAPPDATA%\pipx\pipx "$env:LOCALAPPDATA" pipx\pipx New-Item -ItemType Directory ( Split-Path | Out-Null seen Oct 2026 · source
  • Choose where pipx stores environments, apps, manual pages, and shell completions, and how it installs for all users. seen Oct 2026 · source

example

  • Check what PATH changes pipx would make on a new machine before committing to them — useful in provisioning scripts or CI setup validation. pipx ensurepath --dry-run 1.15.0 · Jun 2026 · source
Visibility and scriptability 4 capabilities pipx surfaces what is installed and what is happening during operations, through both human-readable and machine-readable output. This makes it practical to use pipx in scripts, CI pipelines, and automated tooling.
Machine-readable output shipped Outputs structured, machine-readable results from common commands so scripts and automation can consume them reliably. 1 release · 3 other sources · first seen Jul 2026

Also counts toward: Command-line interface, JSON data export

release

  • Adds scriptable/machine-readable output format selection across install, inject, pin, uninstall, and other commands. 1.15.1 · Jul 2026 · source · release history

docs

  • JSON output Most pipx commands accept --output json to print a single machine-readable result envelope on stdout instead of human-readable text. Selecting JSON suppresses pipx’s own progress messages and sends whatever pip or uv print while installing to stderr, so the envelope is the only thing on stdout. docs update · Oct 2026 · source
  • Exit codes pipx returns on success and on failure. run runpip , and exec exit with the code of the app or pip they ran, and argument-parsing errors exit . A command that raises an unexpected error or is interrupted also exits non-zero. seen Oct 2026 · source
  • On-disk metadata pipx has no user configuration file. It is configured only through environment variables . The only per-installation state pipx keeps is a metadata file inside each managed virtual environment. Every environment under $PIPX_HOME/venvs/<environment>/ holds a pipx_metadata.json file. seen Oct 2026 · source
Filtered tool listing shipped Filters the tool list to a single package so the user can quickly inspect one tool's installation details. 1 release · 1 other source · first seen Jul 2026

release

  • Adds pipx list filtering by package name to show details for a single installed tool. 1.15.1 · Jul 2026 · source · release history

example

  • Filter pipx list output to inspect a single installed package without scrolling through everything. pipx list black 1.15.1 · Jul 2026 · source
Install download progress shipped Shows a progress bar while downloading packages during installation so the user knows the download is proceeding. 1 release · first seen Jul 2026

release

  • Adds download progress bar when pipx install fetches packages. 1.15.1 · Jul 2026 · source · release history
Verbose install output streaming shipped Streams installer output in real time during a verbose install so the user can see progress as it happens. 1 release · first seen Jul 2026

release

  • Streams verbose installer output live during pipx install --verbose. 1.15.1 · Jul 2026 · source · release history
Other 8 capabilities
Python interpreter selection documented Allows users to specify which Python interpreter pipx uses when installing or running tools, accepting an executable name, version string, or full path, and requires Python 3.11 or above for pipx itself while supporting Python 3.3+ for the tools it manages. 4 other sources

Also counts toward: Command-line interface

docs

  • Installing pipx needs Python 3.11 or newer, and so does any interpreter you pass with --python . Without Python 3.11, see the (pipx 1.6.0+): To share one self-managed pipx between all users on Unix, run the bootstrap’s and instead. seen Oct 2026 · source
  • ) sets the policy. Without , pipx first looks for a local interpreter that satisfies the app’s , and the policy only decides what happens when none does: START["pipx install"] --> DEF{"default Python satisfies<br/>requires-python?"} DEF -->|no| SEARCH{"another local<br/>interpreter fits?"} SEARCH -->|no|… seen Oct 2026 · source
  • - Python to install with. Possible values can be the executable name (python3.11), the version of an available system Python or to pass to py launcher (3.11), or the full path to the executable. Requires Python 3.11 or above. - Python to install with. seen Oct 2026 · source
  • Installing pipx needs Python 3.11 or newer; the apps it runs can target Python 3.3 or newer. Without Python 3.11, see and invoke it with a Python 3.11+ seen Oct 2026 · source
Environment variable configuration documented All pipx settings are controlled exclusively through environment variables, with a `pipx environment` command to display each variable and its derived value as seen in the current environment. 2 other sources · first seen Oct 2026

docs

  • Configure paths Choose where pipx stores environments, apps, manual pages, and shell completions, and how it installs for all users. docs update · Oct 2026 · source
  • Environment variables pipx has no user configuration file. Every setting is an environment variable, all of them optional. Run pipx environment to print each variable as set in your environment, followed by the values pipx derives from them. docs update · Oct 2026 · source
Installation pinning documented Holds a managed environment at its current version so that upgrade and reinstall operations skip it until it is explicitly unpinned. 2 other sources · first seen Oct 2026

docs

  • Pin packages Hold an installation at its current version so upgrades skip it until you unpin. Pin it $ pipx pin black Pinned environments are skipped by pipx upgrade and pipx upgrade-all , so the app and its dependencies keep their versions until you unpin. docs update · Oct 2026 · source
  • Hold an installation at its current version so upgrades skip it until you unpin. and , so the app and its dependencies keep their versions until you unpin. refuses a pinned environment, and reinstall-all reports it as an error. seen Oct 2026 · source
uv backend support documented Allows pipx to use uv instead of pip and venv for creating virtual environments and installing packages, while keeping the same CLI surface. 2 other sources · first seen Oct 2026

docs

  • uv when available and pip otherwise, but unlike either it creates a separate virtual environment for each application, so their dependencies never collide and an uninstall leaves nothing behind. seen Oct 2026 · source
  • Use the uv backend Make pipx use uv to create virtual environments and install packages in place of pip and venv. The CLI surface stays the same. docs update · Oct 2026 · source
Private index and proxy support documented Forwards index, proxy, and offline options to the backend so tools can be installed from private or air-gapped package sources. 1 other source · first seen Oct 2026

Also counts toward: Offline mode

docs

  • Use a private index Install from a private index, behind a proxy, or offline by forwarding index options to the backend. docs update · Oct 2026 · source
Shell completion documented Provides tab completion for pipx itself and supports exposing completion scripts shipped by installed apps. 1 other source · first seen Oct 2026

Also counts toward: Command-line interface

docs

  • Shell completions Enable tab completion for pipx and for the apps it installs. Enable pipx completion Print the instructions for your shell and follow them: $ pipx completions Completions for installed apps A package can ship the completion script for its own command, the way it ships a man page. docs update · Oct 2026 · source
Standalone Python interpreter provisioning documented Installs a tool under a Python interpreter downloaded from python-build-standalone when the required version is unavailable or unsuitable on the system. 1 other source · first seen Oct 2026

Also counts toward: Scripting language support

docs

  • Standalone Python Install an app under a Python interpreter downloaded from python-build-standalone instead of the system one. Reach for this when the system Python lacks the version you need, or when a distro patched its Python in ways that break the app. docs update · Oct 2026 · source
Per-tool isolated virtual environments documented Installs each application into its own dedicated virtual environment, keeping tools and their dependencies isolated from one another and from the system Python. 1 other source

Also counts toward: Command-line interface

docs

  • installs both libraries and applications into whatever environment is active, with no isolation. pipx installs only applications, each in its own virtual environment, exposes their commands on your , and runs with regular user permissions, so you never need by default, but accepts any source supports: local created… seen Oct 2026 · source

Lines in monospace are the tool's own words: help text parsed from its source, or an endpoint from its API document. Under release, a line is our summary of a dated release. Under docs, it is quoted from the tool's own documentation or website. Each links back to the source it came from.

Score card

  1. Shipping velocity releases a month, last 12 months
  2. Documentation quality release-notes rubric, 0–100
  3. Breaking-change discipline how rarely a release breaks users, and notice given
  4. Maintenance risk quiet time against its own cadence, maintainers
  5. Innovation & surface new capabilities, API and MCP surface
  6. Community health
  7. Contributor trend distinct committers, this year against last
  8. Maintainer concentration bus factor now against a year ago
  9. Issue backlog trend issues closed per issue opened, 12 months
  10. Responsiveness median time to a maintainer’s first reply

Nine scores for python-pipx, each built from the releases, notes and API history this site tracks — and, on Researcher and Business, where it stands among every measured tool in its category and how that has moved.

Score cards are part of every paid plan.

See plans →

Each score is 0–100 on a published rubric, derived from data this site already shows. A dimension we cannot measure says so — it is never scored 0 and never enters a rank.

How this is scored
  • Shipping velocity — releases a month over the last 12 months, on a log scale where 16 a month scores 100. Needs 3 releases in the window.
  • Documentation quality — the release-notes rubric published on the analytics page, unchanged.
  • Breaking-change discipline — the share of releases carrying a breaking change (none scores 100, half or more scores 0). Only projects that label breaking changes are measured: a clean record cannot be told from an unlabelled one.
  • Maintenance risk — quiet time measured against the tool's own release cadence (quiet longer than 90 days and three typical gaps scores 0), plus the number of active maintainers and whether contributors are growing, where known. Higher is lower risk.
  • Innovation & surface — new capabilities in the feature ledger this year, API and MCP operations added, and the share of commits that are features: the mean of whichever we hold.
  • Community health (open-source tools only) — each is a direction, not a size: contributors this year against last, the bus factor now against a year ago, and issues closed per issue opened, where steady scores 50, doubled 100 and halved 0; plus the median time to a maintainer's first reply (an hour scores about 100, a month or more 0). A commercial card has no repository and carries none of the four.
  • Documented delivery (commercial tools) — when a vendor's documented new capabilities have slowed against its own baseline, that counts against the overall standing as heavily as two low dimensions. Steady delivery, or too little history to judge, leaves the standing alone; it is never a sixth score.
  • Open-source tools are scored on repository signals; commercial tools on their published changelog. Ranks compare tools within one category and one profile and need at least five measured peers; the overall standing needs three ranked dimensions. Best-in-breed or consolidator is a shape, not a quality, and is never scored.

Release-note detail over time

See how much detail python-pipx puts in its release notes, quarter by quarter, and compare it with tracked tools in the same category. This history uses up to ten retained, reviewed notes per tool; sparse or blank older quarters may reflect that limit.

Checking release-note history…

Explore the full chart →

Website history

pypa.io, every change

PyPA's home page and 1 more page as they looked each month from September 2021 to October 2026: 13 renders, 1 change of tagline or palette. Step through them, play them, or put any two months side by side.

Website history is included with Researcher and Business.

See plans →

Releases

Show

61 entries

  1. October 202622
  2. August 20268
  3. July 20264
  4. June 20264
  5. May 20263
  6. March 20263
  7. September 20251
  8. August 20241
  9. June 20241
  10. March 20241
  11. January 20241
  12. December 20232
  13. March 20231
  14. May 20221
  15. April 20211
  16. February 20211
  17. January 20211
  18. October 20201
  19. August 20201
  20. January 20202
  21. August 20191
    Show

    61 entries

    Project health

    Issue, contributor and maintainer activity in pypa/pipx, 2023-10 – 2026-09, as of 2026-09-25. Twelve-month figures first; the trend lines run the whole window.

    1. Contributors 66 +54 vs prior 12 months
    2. Maintainers 1 +2 joined · −2 left, last 12 months
    3. Bus factor 1 committers behind half the commits
    4. Community-filed 93% of issues opened, last 12 months
    5. Median time to close 706 days first maintainer reply 2.4 days
    6. Open backlog 1 of 912 issues ever filed
    1. Issues opened / month 1 · 0 communitymaintainers
    2. Open backlog 1
    3. Contributors / month 10
    4. Commits / month 12
    5. Stars 12,969
    Issue themes, last 12 months
    • bugs 41%
    • features 20%
    • other 39%

    Counts from the project's public repository and git history; no individuals are identified. Maintainers are the committers covering 80% of the last year's commits. how we measure this

    Add the badge to your README

    Maintain this project? The badge links readers straight to this page, so they can follow every release here.

    Tracked by Cyber Toolchain Choose a badge style and copy the code →
    browse all tools → score card for your toolchain →