awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
pypa avatar

pypa/pip

0
View on GitHub↗
10,186 stars·3,234 forks·Python·mit·9 viewspip.pypa.io↗

Pip

pip is a Python package manager used to install, update, and remove software libraries from the Python Package Index and other remote repositories. It functions as a dependency resolver that calculates compatible version sets for complex software trees, an environment inspector for analyzing installed distributions, and a wheel builder that compiles source distributions into binary files.

The tool supports various installation methods, including fetching packages directly from web URLs and Git commits, as well as installing packages in editable mode for active development. It enables the creation of reproducible environments by freezing installed package versions into a structured list.

Its broader capabilities include binary wheel compilation, installation simulation, and package metadata inspection. The system also manages a local HTTP caching layer for distribution files and ensures secure network connections through SSL certificate verification.

Operational settings are managed via a hierarchy of command-line arguments, environment variables, and configuration files.

Features

  • Python Package Managers - Manages the installation and removal of software libraries from remote indexes to make them available for Python projects.
  • Package Dependency Managers - Resolves and installs required library versions to ensure a compatible environment for a project.
  • Binary Distribution Systems - Distributes pre-compiled binary archives (wheels) to optimize installation speed and bypass local build requirements.
  • Dependency Resolvers - Implements a backtracking algorithm to calculate a compatible set of package versions from a dependency graph.
  • Dependency Freezing - Generates a list of installed packages and exact versions to create reproducible environments.
  • Package Installers - Downloads and sets up libraries from a remote index to make them available for use in a project.
  • Package Uninstallers - Removes installed packages from the environment and deletes all associated files.
  • Library Version Resolution - Calculates and installs a compatible set of library versions to satisfy overlapping requirements across a project.
  • Wheel Compilation - Compiles source distributions into binary wheel files to accelerate the installation process.
  • Dependency Resolution Engines - Calculates a compatible set of versions to satisfy overlapping requirements across complex dependency trees.
  • Build Isolation Tools - Creates temporary isolated environments with specific build-time dependencies to compile source distributions.
  • Command Line Configuration - Allows setting and viewing operational options through a combination of command-line tools and configuration files.
  • Package Metadata Querying - Displays detailed information about installed packages including versions, summaries, and requirements.
  • Remote Repository Querying - Provides functionality to query remote package repositories to identify available versions and distributions for installation.
  • Environment Inspection - Outputs installed distributions and environment details in a structured JSON format for programmatic analysis.
  • Installed Package Management - Displays all currently installed packages along with their versions and installation locations.
  • Direct URL Installations - Fetches and installs packages directly from web URLs, Git commits, or archive links.
  • Editable Installations - Links a project to the environment so source code changes take effect immediately without needing a reinstall.
  • Editable Installations - Installs packages in editable mode so source code changes take effect immediately without needing a reinstall.
  • Distribution Metadata Inspection - Lists installed distributions and outputs environment metadata in structured formats for programmatic analysis.
  • URL Dependencies - Supports fetching dependencies directly from remote URLs and tracks their origin for reproducible updates.
  • Build Dependency Management - Manages required package versions during the build process to ensure stability without altering the final installation.
  • Wheel Binary Compilation - Compiles source distributions into binary wheels to accelerate installation processes across different systems.
  • Configuration Hierarchy Loading - Reads operational settings from a hierarchy of command-line arguments, environment variables, and ini-style configuration files.
  • Environment Reproducibility Tools - Freezes installed package versions into a structured list to ensure consistent environments across different machines.
  • HTTP Resource Caching - Stores downloaded distribution files and metadata on local disk to minimize redundant network requests.
  • Environment and Package Management - Installs and manages Python software packages.
  • Package Managers - Standard tool for installing Python packages.

Star history

Star history chart for pypa/pipStar history chart for pypa/pip

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does pypa/pip do?

pip is a Python package manager used to install, update, and remove software libraries from the Python Package Index and other remote repositories. It functions as a dependency resolver that calculates compatible version sets for complex software trees, an environment inspector for analyzing installed distributions, and a wheel builder that compiles source distributions into binary files.

What are the main features of pypa/pip?

The main features of pypa/pip are: Python Package Managers, Package Dependency Managers, Binary Distribution Systems, Dependency Resolvers, Dependency Freezing, Package Installers, Package Uninstallers, Library Version Resolution.

What are some open-source alternatives to pypa/pip?

Open-source alternatives to pypa/pip include: pypa/sampleproject — This project is a reference implementation and tutorial designed to demonstrate the end-to-end workflow of building,… homebrew/homebrew-core — This project is a Ruby-based package definition repository that functions as a cross-platform package manager and… homebrew/legacy-homebrew — This project is a command line package manager and dependency management engine used for installing, updating, and… conda/conda — Conda is a binary package manager, cross-platform environment manager, and dependency resolution engine. It serves as… pypa/setuptools — Setuptools is a Python package build tool and distribution framework used to bundle code into distributable archives.… homebrew/brew — Homebrew is a command-line package management tool designed to automate the installation, configuration, and…

Open-source alternatives to Pip

Similar open-source projects, ranked by how many features they share with Pip.
  • pypa/sampleprojectpypa avatar

    pypa/sampleproject

    5,245View on GitHub↗

    This project is a reference implementation and tutorial designed to demonstrate the end-to-end workflow of building, versioning, and uploading Python distributions. It serves as a concrete project template and example for configuring metadata and build artifacts for package indices. The repository illustrates how to package software by defining project metadata and dependencies in static configuration files. It covers the process of transforming source trees into versioned archives and platform-specific binary distributions, specifically showing how to build binary wheels and source distribut

    Python
    View on GitHub↗5,245
  • homebrew/homebrew-coreHomebrew avatar

    Homebrew/homebrew-core

    15,383View on GitHub↗

    This project is a Ruby-based package definition repository that functions as a cross-platform package manager and software dependency resolver for macOS and Linux. It provides a centralized system for installing, updating, and managing software through a Git-based distribution model. The system distinguishes itself through a binary package distribution network that produces pre-compiled bottles to avoid local compilation from source. It utilizes a Ruby-based domain specific language to define installation recipes and employs a distributed version control architecture to synchronize these defi

    Rubycoreformulaehacktoberfest
    View on GitHub↗15,383
  • homebrew/legacy-homebrewHomebrew avatar

    Homebrew/legacy-homebrew

    26,849View on GitHub↗

    This project is a command line package manager and dependency management engine used for installing, updating, and removing software packages across different operating systems. It functions as a package recipe system and software repository administrator, utilizing declarative scripts to define software sources, build arguments, and installation steps. The system operates as a binary distribution platform that compiles source code into pre-compiled binaries and distributes them through remote repositories. It includes an automated version tracker that monitors upstream software releases and

    View on GitHub↗26,849
  • conda/condaconda avatar

    conda/conda

    7,444View on GitHub↗

    Conda is a binary package manager, cross-platform environment manager, and dependency resolution engine. It serves as a software repository manager that enables the installation and update of pre-compiled binaries and their dependencies across different operating systems. The system creates isolated execution spaces to prevent dependency conflicts between projects and uses a solver to calculate compatible package versions based on constraints from available repositories. It supports the creation of custom software packages from recipes, which can be hosted in public or private channels for di

    Python
    View on GitHub↗7,444
  • See all 30 alternatives to Pip→