30 open-source projects similar to pypa/pipenv, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Pipenv alternative.
This project is a command line interface for managing, installing, and publishing JavaScript packages to a remote registry. It serves as a dependency resolution tool, a software registry publishing client, and a security auditor for Node.js development workflows. The tool distinguishes itself by providing integrated monorepo workspace management and a comprehensive registry authentication client that supports multi-factor authentication. It enables detailed control over the software supply chain through provenance attestations, package signature verification, and the generation of a Software
PDM is a Python package manager, dependency resolver, and build tool designed to create reproducible environments. It functions as a runtime manager that installs and switches between different versions of the Python interpreter using standalone builds, while managing isolated virtual environments to prevent version conflicts between projects. The tool distinguishes itself through the use of cross-platform lockfiles and a plugin-based extension architecture, allowing users to add new capabilities via external distributions. It provides a centralized package caching system and a parallel insta
Poetry is a comprehensive dependency manager and packaging tool for Python projects. It functions as a configuration engine that resolves complex dependency graphs, manages isolated virtual environments, and ensures reproducible builds through deterministic lock file generation. By centralizing project metadata and build requirements into a single configuration file, it provides a unified workflow for managing the entire lifecycle of a Python codebase. The project distinguishes itself through its constraint-based solver, which evaluates environment markers and version requirements to maintain
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 crea
Moon is a monorepo build system and task runner designed to orchestrate complex projects with multiple packages. It functions as a dependency graph orchestrator that executes build targets in topological order and utilizes input hashing to cache results and skip redundant work. The project features a polyglot toolchain manager that automates the installation and versioning of language runtimes and CLI tools to ensure environment consistency. It also includes a plugin framework based on WebAssembly, allowing developers to extend build logic and toolchain behavior using any supported language.
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
Poetry is a Python build tool, dependency manager, and project orchestrator. It provides a unified workflow for managing the full lifecycle of a project, from initial environment setup to the final package release. The system centralizes project metadata and dependency specifications in a single configuration file, replacing legacy formats. It utilizes a deterministic dependency resolver to calculate compatible package versions and records the exact state of the environment in a lock file to ensure consistency across different machines. The tool handles the orchestration of isolated virtual
This project is a dependency management tool for Go designed to track and lock package versions to ensure reproducible builds across different environments. It functions as a version lock file manager, recording complete snapshots of the dependency graph to prevent version drift, and as a semantic version constraint resolver that calculates compatible package versions. The tool orchestrates a local vendor directory, mirroring external source code to enable offline builds and source auditing. It utilizes a combination of static analysis to discover required libraries and a logic engine to inte
pip-tools is a set of command line utilities for compiling high-level Python dependency lists into pinned requirements files. It functions as a dependency lock tool and requirements compiler that resolves transitive dependencies to produce a deterministic list of packages. The project enables the maintenance of separate production and development dependency layers through layered requirement constraints. It supports targeted package upgrades and the generation of content hashes to verify package integrity during installation. The toolset covers dependency locking, version updates, and virtua
pnpm is a command-line package manager designed to automate the retrieval, installation, and version management of software dependencies. It utilizes a deterministic resolution process and a lockfile to ensure that dependency trees remain consistent across different environments and machines. The project distinguishes itself through a content-addressable storage engine that saves every version of a package exactly once on the file system. By employing a hard-linking installation strategy and a symlink-based directory structure, it maps dependencies from a central store into individual project
pip-tools is a set of utilities for Python dependency pinning, lockfile management, and virtual environment synchronization. It functions as a requirement compiler that resolves high-level package declarations into a pinned list of specific versions and content hashes to ensure repeatable builds across different environments. The tool differentiates itself by providing a mechanism to refresh locked dependencies to their latest compatible versions without manual editing. It supports a layered dependency workflow, allowing one requirements file to act as a constraint for another to maintain com
Bundler is a Ruby dependency manager that resolves gem versions and locks them in a lockfile so every machine installs the same set of dependencies. It manages package sources, provides environment diagnostics, and wraps commands and consoles to run inside a consistent gem context, preventing version mismatches across development, testing, and production. Unlike a simple package installer, Bundler uses a SAT solver to find a consistent set of gem versions satisfying all constraints, segregates authentication secrets from source URLs, and enforces platform-specific dependency filtering. Its lo
This project is a comprehensive collection of web development reference guides and technical cheat sheets. It provides a curated set of markdown-based documentation designed to help developers quickly locate syntax patterns and API examples for common web technologies and programming languages. The repository serves as a specialized reference library covering several distinct technical domains. It includes extensive guides for CSS, focusing on selectors, Flexbox, Grid, and responsive layout properties, as well as a DevOps command reference for Docker, Kubernetes, AWS, Ansible, and general she
This project is a build orchestration engine and development toolkit designed for managing large-scale monorepos. It provides a unified workspace environment that maps project relationships and dependencies, enabling the system to perform intelligent impact analysis and execute only the tasks affected by specific code changes. The system distinguishes itself through a persistent daemon that monitors file changes for near-instant feedback and a content-addressable caching mechanism that stores task outputs to prevent redundant computation across local and remote environments. It further suppor
Lefthook is a Git hook manager and workflow automation tool designed to execute user-defined scripts during version control events. It automates the execution of linters, tests, and formatters to validate changes and maintain code quality before commits or pushes. The project distinguishes itself through a parallel execution model that runs multiple shell commands concurrently to reduce latency. It supports complex configuration management, including the ability to merge global, remote, and local settings and synchronize configurations from external repositories to standardize development env
Cargo is the official build system and package manager for the Rust programming language. It provides a unified command-line interface that orchestrates the entire development lifecycle, including compiling source code, managing complex dependency graphs, running tests, and distributing packages through a centralized registry. By utilizing declarative manifest files, it ensures that builds remain reproducible and consistent across different environments. The tool distinguishes itself through its deep integration with the Rust compiler and its sophisticated approach to project management. It f
Specs is a centralized package metadata repository and distribution service for the Apple platform. It serves as a public index of library specifications, enabling the discovery, resolution, and installation of third-party frameworks for iOS and macOS projects. The project provides a podspec distribution service that hosts and validates library specifications to ensure reproducible dependency resolution. It utilizes a Git-based collection of structured specifications and a REST API to manage library publishing, ownership, and versioning. The system encompasses comprehensive capabilities for
virtualenv is a tool for creating and managing isolated Python environments. It functions as an environment manager that provides a resolver to discover suitable Python binaries and a system for establishing standalone directories with their own binaries and packages to prevent dependency conflicts. The project distinguishes itself through a specialized interpreter resolver that handles version manager shims and architecture requirements. It utilizes read-only image caching and application data caching to accelerate the creation of new environments, and includes a seed tool to control the ins
pyenv-virtualenv is a plugin for pyenv that creates and manages isolated Python virtual environments on Unix-like systems. It functions as an environment orchestrator that extends the core version switching system to provide project isolation. The tool automates the activation and switching of Python environments based on the current working directory. It also includes a bridge for managing and interacting with Conda environments through the pyenv interface. The project covers the full lifecycle of environment management, including the creation, listing, and deletion of isolated environments
Glide is a Go dependency management tool that fetches, pins, and vendors external packages to enable reproducible builds across environments. It stores project-specific copies of Go packages in a vendor directory, isolating dependencies per project to avoid version conflicts, and supports fetching packages from Git, Mercurial, Bazaar, and Subversion repositories. The tool resolves dependency versions using semantic versioning ranges and operators, and generates a lock file that records exact commit IDs for all transitive dependencies. Glide distinguishes itself with an interactive version wiz
CocoaPods is a dependency manager for Swift and Objective-C projects that integrates third-party libraries via configuration files. It serves as a project workspace orchestrator, coordinating the build process and linking external dependencies through centralized workspace configurations. To ensure environment consistency across different development machines, it employs a manifest-based version locking system. The project provides a version-controlled library specification registry for managing and distributing metadata and source paths for reusable code modules. It includes tools for extern
pyinfra is an agentless infrastructure automation framework that turns declarative Python code into idempotent shell commands to manage servers, containers, and local machines over SSH without requiring any pre-installed software on target hosts. It operates by comparing the desired state of a system against its current state, using a dry-run simulation mode to preview changes and a fact-based conditional execution engine to gather host attributes at runtime and control which operations run. The tool compiles Python operations into optimized shell commands and executes them in parallel across
Miniforge is a minimal installer for the Conda package management system that provides access to community-maintained software channels. It serves as a lightweight tool for setting up isolated software environments and distributing pre-compiled binary packages to ensure cross-platform compatibility. The project enables the installation of a minimal environment and facilitates the migration of package channels from vendor repositories to community-driven distributions. It allows users to retrieve and manage software packages built by a community to extend the available tools in a local environ
npm-check-updates is a command line utility and programmatic module used to check for newer versions of npm packages and update project manifest files. It functions as a registry client and semantic version manager that upgrades package constraints to the latest releases. The tool distinguishes itself by including supply chain security features, such as a release cooldown period and package ownership tracking, to prevent the adoption of unstable or malicious new releases. It also provides a programmatic API for integrating dependency checks and upgrades directly into custom scripts. Broad ca
pipx is a manager for installing and running Python command-line applications in isolated environments. It serves as a tool installer and virtual environment wrapper that automates the creation of dedicated environments for each application to prevent dependency conflicts. The system provides the ability to execute Python packages in either permanent installations or temporary transient environments. It maps executable entry points from these isolated environments into a shared global directory, allowing for direct command-line access while keeping underlying dependencies separated. The tool
This project provides a full Python interpreter compiled to WebAssembly, enabling the execution of Python code and scientific libraries directly within web browsers and server-side environments. By bridging the gap between language runtimes, it allows developers to run computational tasks, manage packages, and perform data analysis in client-side environments without requiring a backend server. The platform distinguishes itself through a comprehensive foreign function interface that enables bidirectional data exchange, object proxying, and function calling between Python and JavaScript. It in
Homebrew is a command-line package management tool designed to automate the installation, configuration, and maintenance of software on local development environments. It functions as a cross-platform software distributor, enabling users to install tools from pre-compiled binary archives or source code without requiring administrative privileges. By managing complex dependency trees and versioning, it ensures that software remains consistent and compatible across different system architectures. The project distinguishes itself through a declarative approach to system configuration, allowing u
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
This project provides a comprehensive framework for securing the software supply chain within the Node.js ecosystem. It focuses on mitigating risks associated with third-party dependencies by implementing technical controls and governance policies designed to prevent malicious code injection and ensure the integrity of the development environment. The guide distinguishes itself by offering specific hardening techniques for package management, such as disabling automatic execution of lifecycle scripts and enforcing strict registry-scoped dependency routing to prevent dependency confusion. It e
Bun is a high-performance runtime environment designed to execute JavaScript and TypeScript applications with minimal latency and high throughput. Built on a native core implemented in Zig, it provides a unified execution engine that leverages JavaScriptCore for efficient memory management and low-latency startup. The project functions as an all-in-one toolchain, integrating a native bundler, transpiler, package manager, and test runner into a single command-line interface. What distinguishes Bun is its focus on native system integration and developer productivity. It features a high-performa