30 open-source projects similar to pypa/virtualenv, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Virtualenv alternative.
Pipenv is a Python dependency manager and virtual environment manager that ensures reproducible environments across different systems. It functions as a lockfile resolver, generating deterministic lockfiles from high-level dependency constraints to prevent version drift. The tool integrates project workflow automation by loading environment variables and executing custom project scripts. It also includes security auditing capabilities to scan installed packages for known vulnerabilities. The system covers a broad range of capabilities including dependency version locking, package installatio
Positron is a data science integrated development environment and AI-powered code editor designed for polyglot development, specifically supporting Python and R. It functions as a remote compute workspace that separates the user interface from the execution kernel via SSH or container integration. The environment features a deep integration of large language models that provide context-aware suggestions and automated data analysis by accessing real-time interpreter state, in-memory objects, and plot outputs. It distinguishes itself through a polyglot runtime bridge that enables cross-language
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
Setuptools is a Python package build tool and distribution framework used to bundle code into distributable archives. It functions as a project metadata manager, allowing for the declarative definition of project identity, versioning, and dependencies. The toolkit distinguishes itself by providing an extension compiler for C and C++ source files and a plugin architecture that uses entry points to enable runtime discovery of functionality. It also supports development environment tooling, such as editable installs that link source code directly to the environment to allow immediate changes wit
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
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
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
Pipx is a system for installing, running, and managing isolated Python applications and their corresponding virtual environments. It functions as an application installer for Python command line tools, a manager for listing and upgrading those tools, and a runner for executing packages in temporary environments. The tool ensures that every installed package resides in its own dedicated virtual environment to prevent dependency conflicts. It automatically adds the binaries of installed applications to the system path and enables the execution of tools within ephemeral environments that are del
Pex is a Python application bundler and isolated environment manager. It packages programs and their entire dependency trees into single executable files to simplify deployment across different environments. The tool functions as a portable executable creator by bundling multiple platform-specific distributions into a single file. This ensures that a program can run across different operating systems by mapping target platforms to compatible binary distributions. The system provides capabilities for dependency management and isolated execution. It can launch scripts or interpreters within te
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
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
uv is a high-performance Python package manager and project build tool designed to handle dependency resolution, virtual environment orchestration, and Python interpreter management. It functions as a comprehensive workspace orchestrator, enabling developers to manage complex, multi-package repositories and ensure reproducible builds across different platforms. The tool distinguishes itself through its use of a global, content-addressable cache and hard-link-based environment provisioning, which allow for near-instant environment creation and minimal disk usage. It employs a high-performance
python-mode is a Vim IDE plugin that provides an integrated toolset for Python development. It incorporates a debugging interface for managing execution breakpoints and inspecting program state, a documentation browser for retrieving official language symbols, and a system for static analysis and automated structural refactoring. The project features a dedicated environment manager that detects and utilizes project-specific virtual environments to ensure correct library and interpreter resolution. It integrates external tools such as PyLint and Rope to identify code errors and perform project
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
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
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
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 is a collection of scripts and configuration files designed to automate the deployment of developer toolsets, big data tools, and system-wide dotfiles. It serves as a provisioning system for installing languages, data analysis tools, and system dependencies across diverse programming stacks. The suite provides specialized automation for macOS developer onboarding and the setup of Python data science workflows. It includes dedicated installers for distributed processing engines like Spark and Hadoop, as well as environments for web and mobile development. The system covers a broa
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
This project is a command-line tool designed to manage multiple isolated language runtime versions on a single development machine. It enables users to install, switch between, and maintain different runtime versions, ensuring that project-specific requirements are met without conflicting with system-wide software. The tool distinguishes itself through a shim-based execution environment that intercepts system calls and dynamically routes them to the correct runtime version based on the current directory. By traversing the file system hierarchy to locate configuration files, it automatically a
Claude-engineer is an autonomous software engineering agent and command-line interface for interacting with the Claude 3.5 Sonnet model. It functions as an AI code editor that writes code, manages local files, and executes terminal commands to automate technical workflows. The system features a self-evolving tool framework that allows the agent to design and implement its own functional scripts to expand its capabilities during a session. It utilizes a sandboxed Python executor to run scripts for data analysis and complex computations in a secure remote environment. The project covers a broa
Rye is a comprehensive Python toolchain manager, package manager, and virtual environment orchestrator. It provides a unified system for installing Python runtimes, resolving dependencies, and coordinating isolated environments across different projects. The project distinguishes itself through workspace management capabilities that coordinate dependencies and builds across multiple libraries within a single multi-package project structure. It further enables the global installation of Python tools into sandboxed environments, making them accessible system-wide without manual environment acti
ptpython is a programmable Python interactive shell and development console. It functions as an enhanced REPL for executing Python code and managing runtime state, featuring support for an asynchronous event loop that allows for top-level await statements. The environment is highly customizable, offering pluggable keybinding schemes and adjustable interface appearances. It provides a programmable interface that can be embedded into other applications to facilitate runtime debugging and live state inspection. The shell includes a suite of developer tools for interactive coding, such as automa
Pixi is a conda environment manager that creates reproducible, lock-file-backed environments with cross-platform support and multi-language dependency resolution. It combines package management from both conda-forge and PyPI simultaneously, coordinating their dependency graphs to prevent conflicts, while pinning every transitive dependency to exact versions in a cross-platform lock file for bit-for-bit identical environments across machines. The project distinguishes itself by also functioning as a cross-platform task runner that executes user-defined commands and multi-step pipelines inside
This project is a comprehensive guide for Python development and application deployment. It provides standardized patterns for coding standards, environment configuration, and the management of language runtimes and package managers across multiple operating systems. The guide features a taxonomic mapping of libraries and third-party tools, organizing curated solutions to match specific technical problems. It establishes preferred tools and patterns for developers while offering alternative options based on project requirements. Coverage extends to the full development lifecycle, including d
Spyder is a scientific integrated development environment designed for scientific computing and interactive Python programming. It functions as a static analysis code editor and an interactive Python console, providing a specialized environment for writing and analyzing code for science and engineering. The platform distinguishes itself as an extensible development tool, utilizing a modular plugin architecture that allows for the addition of custom features or the embedding of core components into other software. It features a dedicated debugger and profiler for tracing code execution and mea
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
ptpython is an enhanced interactive Python REPL and asynchronous console built on the prompt-toolkit library. It provides a customizable command-line interface for executing Python code with support for multiline editing, autocompletion, and syntax highlighting. The environment supports top-level await statements and asynchronous execution via an integrated event loop. It allows for extensive interface customization, including configurable key bindings for Vi or Emacs navigation and personalized color schemes. The shell includes capabilities for real-time syntax validation and the execution
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
This project is a high-performance static type checker and comprehensive development toolkit for Python. It functions as a core analysis engine that identifies type inconsistencies and enforces code correctness, while simultaneously providing a language server implementation to deliver real-time diagnostics and intelligence directly within development environments. The tool distinguishes itself through a parallelized execution engine that maximizes performance across large-scale codebases and monorepo structures. It supports gradual type adoption, allowing developers to integrate type checkin