30 open-source projects similar to pyenv-win/pyenv-win, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Pyenv Win alternative.
rbenv is a Ruby version manager and shell environment manager designed to install, switch between, and manage multiple versions of the Ruby programming language. It functions as a project runtime isolator and an extensible versioning framework that ensures the correct Ruby binaries are executed based on the current context. The system uses a shim-based command interception model to resolve the active version before delegating execution to the binary. It allows for locking specific Ruby versions and environment variables to individual directories, ensuring project environment isolation. The ar
rbenv is a Ruby version manager and shell shim environment manager. It allows for the installation of multiple Ruby versions on a single machine and coordinates the selection of the active version based on the current directory or shell session. The tool functions as an extensible command line framework that intercepts executable calls using shell shims. These shims route requests to the selected language version, ensuring environment isolation by storing binaries in independent directories. The system includes capabilities for language runtime administration, including the ability to downlo
pyenv is a Python version manager and runtime orchestrator that allows for the installation and switching of multiple Python versions on a single machine without affecting the system installation. It functions as a shell-based version controller that manages binaries through shims to redirect executable calls to specific versions. The tool is a plugin-extensible system, allowing users to add custom subcommands and logic via shell script plugins. This architecture enables the extension of the command line interface through a dedicated plugins directory. It provides capabilities for side-by-si
nvm is a Node.js version manager implemented as a POSIX bash script. It serves as a shell environment manager and runtime orchestrator for installing, switching, and managing multiple versions of the Node.js runtime on POSIX systems. The tool allows for the automation of runtime switching by reading configuration files in project directories to select the required version. It supports the management of long-term support releases and the migration of global packages between different installed versions of the runtime. The project covers broader capabilities including runtime management throug
Vfox is a command-line utility designed to manage multiple programming language runtimes and development tools on a single machine. It provides a unified interface for installing, switching, and configuring software versions across different operating systems, ensuring consistent development environments. The project distinguishes itself through a modular, plugin-based architecture that allows for the integration of diverse language runtimes and utilities beyond built-in defaults. It utilizes a combination of shim-based execution, symlink management, and dynamic shell-hook environment injecti
Gvm is a Go version manager, environment orchestrator, and dependency isolator. It provides a system for installing, removing, and switching between different versions of the Go programming language on a single machine. The tool manages native dependencies and creates isolated package sets to prevent version conflicts between different project environments. It uses environment variable overlays and directory isolation to link native code without modifying the host operating system. The software covers the full language lifecycle, including remote version cataloging, active version switching,
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
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
pyenv-installer is a set of Unix shell installation scripts designed to automate the deployment and removal of the pyenv Python version manager and its associated plugins. It provides a system for installing and switching between multiple versions of the Python interpreter on a single machine without affecting the system Python. The tool utilizes a bootstrap script to handle source acquisition via Git and manages the creation of a hidden directory structure in the user home folder. It automates shell environment configuration by injecting path variables and initialization hooks into shell pro
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
rustup is a programming language toolchain manager that automates the installation, versioning, and configuration of the Rust compiler and its associated build tools. It serves as a toolchain installer and version manager, enabling the deployment of the language ecosystem across different operating systems. The system manages multiple compiler versions across stable, beta, and nightly release channels, allowing users to switch between these versions to meet different environment requirements. It also functions as a cross-compilation manager by installing pre-compiled standard libraries to bui
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
Volta is a cross-platform toolchain orchestrator and JavaScript toolchain manager. It functions as a version manager for Node.js and related package managers, allowing for the installation and coordination of multiple runtimes across a system. The project operates as a project-based version switcher, automatically detecting and switching to the required tool versions based on the current directory. This ensures environment consistency across different developer machines by resolving versions through project configuration.
n is a command line version manager and binary manager for the Node.js runtime environment. It functions as a runtime environment switcher, allowing for the installation and management of multiple Node.js versions to maintain compatibility across different projects. The tool orchestrates the downloading and caching of Node.js binaries from official or custom distribution mirrors. It enables switching between installed versions via a command line interface or interactive menu, providing the ability to execute scripts using specific versions from a local cache without performing a full system i
SDKMAN is a command-line utility for installing, tracking, and managing multiple versions of software development kits on Unix systems. It functions as a software installer and environment manager that automates the downloading and configuration of development tools for Linux and macOS. The tool enables the installation of parallel SDK versions on a single system and provides the capability to toggle between them to change the active environment for a shell session. It specifically facilitates the setup of Java development environments, including the management of various Java Development Kit
This project is an open-source 3D game engine designed for building high-fidelity games, simulations, and cinematic environments. It functions as a robotics simulation platform with native integration for ROS 2 to model robot controllers and sensors. The engine features a multi-threaded Forward+ physically based renderer that supports hardware-accelerated ray tracing and global illumination. The system is built on a modular extension architecture using Gems to add or replace features without modifying core binaries. It includes a native SDK for AWS cloud integration, enabling IAM authenticati
Corepack is a Node.js package manager orchestrator and deterministic tool installer. It manages and enforces specific versions of package managers to ensure consistent environments across different machines, developers, and continuous integration systems. The project uses executable wrapper shims to intercept commands, allowing it to automatically download and run the correct tool version based on project configuration. It provides an offline binary provisioner that prepares package manager binaries into tarball archives for deployment in air-gapped environments. The system handles semantic
XcodesApp is a management utility for controlling Apple development toolsets. It serves as a version manager and runtime installer used to download, install, and switch between multiple versions of Xcode and their associated platform runtimes. The tool provides a way to browse available versions, release notes, and system compatibility requirements from official release channels. It utilizes accelerated connections to download specific versions of the development environment and its corresponding operating system runtimes and hardware variants. Users can assign a specific installed version a
Hatch is a unified tool for managing Python environments, building packages, scaffolding projects, and installing Python versions. It provides a single command-line interface for automating common development workflows, including running scripts, tests, and static analysis with automatic dependency resolution and configuration. The tool manages project settings, dependencies, and build instructions through a declarative TOML configuration file, ensuring reproducibility across environments. It creates and manages isolated virtual environments across all major shells, installs and manages multi
This project is a command-line tool designed to manage multiple versions of programming language runtimes and development tools on a single machine. It provides a unified interface for installing and switching between different versions of software, ensuring that specific tool versions are consistently applied across various development environments. The system distinguishes itself through a modular, plugin-driven architecture that allows for the integration of new languages and tools via external scripts. It utilizes a shim-based execution mechanism that intercepts command calls, automatical
This project is a Maven plugin that integrates Node.js and npm build processes into the Java build lifecycle. It acts as a build orchestrator and environment manager, allowing the execution of npm scripts and frontend task runners during a Java project's build process. The plugin manages the downloading and extraction of specific Node.js and npm binaries into local project directories. This ensures consistent, cross-platform build environments by resolving binaries based on the host operating system and CPU architecture without modifying the global system state. It provides orchestration for
Phpbrew is a PHP version manager and build tool used to compile and manage multiple versions of PHP from source within a local user directory. It provides a self-contained development environment that allows for installing and switching between different language versions without requiring root access. The system distinguishes itself by using a variant-driven build configuration, allowing users to compile binaries with specific feature sets, flags, and custom configuration options. It also functions as an extension manager that downloads, compiles, and activates third-party extensions from re
Devilbox is a containerized development environment that provides a reproducible suite of web servers, databases, and language runtimes managed through a unified configuration. It functions as a Docker-based local development stack for LAMP and MEAN software stacks and as a manager for switching between different versions of these services to match specific project requirements. The system distinguishes itself by automating local network orchestration. It includes a Docker-based virtual host manager that automatically maps local directories to custom domains and a local DNS and SSL orchestrat
This project is an instructional user guide and software development workflow tutorial designed to help users master a professional integrated development environment. It provides educational content and step-by-step instructions for optimizing coding productivity and navigating development tools across various language versions. The material specifically covers the configuration of Java-centric environments, including setting up the operating system, managing dependencies, and tuning memory settings. It offers detailed guidance on utilizing professional tools to streamline development proces
Pinokio is a specialized toolset for discovering, launching, and managing verified open-source AI projects. It functions as an automated browser and orchestrator that downloads, configures, and runs complex machine learning projects through a simplified graphical interface. The system utilizes a curated application launcher that executes reviewed and frozen scripts to ensure software integrity and stability. It manages dependencies through a script-based environment manager that organizes software into isolated local directories to prevent conflicts with the global system environment. The pl
This project is a step-by-step guide for setting up a complete programming environment on a new Mac. It walks through configuring Git with identity and credential caching, installing and managing software through the Homebrew package manager, and customizing the terminal with Oh My Zsh, fuzzy finders, and keyboard shortcuts. The guide also covers setting up JetBrains IDEs with shared key mappings and plugins, and installing development language runtimes for Node, Python, C++, Ruby, Go, and Java. The guide differentiates itself by providing a structured onboarding checklist that covers the ful
This project is a cross-platform dotfiles collection and shell configuration framework designed to standardize development environments across Unix and Windows. It provides a set of version-controlled configuration files and environment settings for text editors, terminal multiplexers, and interactive command line interfaces. The collection functions as a symlink configuration manager, linking settings to the home directory to maintain synchronization across multiple machines. It includes a productivity framework for terminal workflow optimization, incorporating tools for fuzzy finding, direc
Laragon is a portable web server suite and WAMP stack manager that provides a self-contained local development environment. It enables the bootstrapping of web applications through the orchestration of web servers, databases, and language runtimes on a single machine. The project is distinguished by its registry-free portable mode, allowing the entire development stack to be moved between drives or computers without re-installation. It features automated virtual host mapping and SSL certificate generation for local domains, as well as a local tunneling gateway to expose projects via public UR
This project is a Vim configuration framework and development environment that transforms the basic text editor into a full-featured integrated development environment. It provides a curated set of settings and a comprehensive plugin suite to support professional software development workflows. The environment includes specialized tools for polyglot code execution and project navigation, allowing users to run source files in multiple languages via single keystrokes and locate files using fuzzy searching. It also integrates version control workflows, enabling the management of Git operations a