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-side installation by building specific versions from source. Version management includes the ability to activate runtimes globally or on a per-project basis, the simultaneous activation of multiple versions, and the removal of installed runtimes.