# pkgxdev/pkgx

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/pkgxdev-pkgx).**

9,699 stars · 1,381 forks · Rust · apache-2.0

## Links

- GitHub: https://github.com/pkgxdev/pkgx
- Homepage: https://pkgx.sh
- awesome-repositories: https://awesome-repositories.com/repository/pkgxdev-pkgx.md

## Topics

`environment-manager` `package-manager` `package-runner`

## Description

pkgx is a cross-platform tool orchestrator and portable package runner that enables the execution of specific software versions without requiring permanent installation on the host system. It functions as a multi-ecosystem package wrapper, providing a unified interface to launch tools and managers from various language ecosystems.

The project serves as an ephemeral environment provider and script dependency manager, allowing users to declare and automatically inject required software versions into scripts via a shebang line. This allows for the bootstrapping of temporary shells and containers with exact toolsets for specific tasks, ensuring reproducible automated pipelines.

Its broader capabilities include package discovery and version inspection through remote registries, the management of isolated package caches, and the creation of project-specific virtual environments. It also supports the execution of software within container images for total isolation from the host operating system.

## Tags

### Development Tools & Productivity

- [Multi-Ecosystem Package Wrappers](https://awesome-repositories.com/f/development-tools-productivity/multi-ecosystem-package-wrappers.md) — Functions as a multi-ecosystem package wrapper providing a unified interface to launch tools from various language ecosystems.
- [On-Demand Tool Execution](https://awesome-repositories.com/f/development-tools-productivity/on-demand-tool-execution.md) — Enables the execution of specific software versions without requiring permanent installation on the host system.
- [Reproducible](https://awesome-repositories.com/f/development-tools-productivity/build-pipelines/reproducible.md) — Ensures consistent utility versions across platforms to maintain deterministic behavior in automated build and test workflows.
- [Command Execution](https://awesome-repositories.com/f/development-tools-productivity/command-execution.md) — Executes local system commands within isolated environments by injecting specific environment variables and package dependencies. ([source](https://docs.pkgx.sh/pkgx/pkgx.md))
- [Ecosystem Runner Orchestration](https://awesome-repositories.com/f/development-tools-productivity/ecosystem-tooling/ecosystem-runner-orchestration.md) — Launches package managers from various language ecosystems to start their respective software tools. ([source](https://cdn.jsdelivr.net/gh/pkgxdev/pkgx@main/README.md))
- [Isolated Execution Environments](https://awesome-repositories.com/f/development-tools-productivity/isolated-execution-environments.md) — Runs specific software versions in isolated package environments without modifying the host system's global state. ([source](https://docs.pkgx.sh/readme.md))
- [Ephemeral Execution Environments](https://awesome-repositories.com/f/development-tools-productivity/isolated-execution-environments/ephemeral-execution-environments.md) — Initializes temporary execution contexts by fetching remote tools to run commands on systems lacking a local runner.
- [Environment Variable Injection](https://awesome-repositories.com/f/development-tools-productivity/isolated-execution-environments/ephemeral-execution-environments/environment-variable-injection.md) — Provides the ability to inject necessary headers, libraries, and tools into a command execution environment using additional packages. ([source](https://docs.pkgx.sh/pkgx/pkgx.md))
- [Multi-Language Script Runners](https://awesome-repositories.com/f/development-tools-productivity/multi-language-script-runners.md) — Provides a unified interface to launch tools and managers from diverse language ecosystems within a single workflow.
- [Installation Isolation](https://awesome-repositories.com/f/development-tools-productivity/package-installers/installation-isolation.md) — Creates isolated installation directories to provide distinct virtual environments for different projects. ([source](https://docs.pkgx.sh/pkgx/pkgx.md))
- [Dependency-Aware Runtime Environments](https://awesome-repositories.com/f/development-tools-productivity/platform-script-execution/dynamic-script-execution-environments/dependency-aware-runtime-environments.md) — Dynamically resolves and provides necessary software packages and language dependencies at runtime when executing scripts. ([source](https://docs.pkgx.sh/scripts))
- [Portable Package Runners](https://awesome-repositories.com/f/development-tools-productivity/portable-package-runners.md) — Executes specific software versions without permanent installation by managing isolated environments on the fly.
- [Script Dependency Managers](https://awesome-repositories.com/f/development-tools-productivity/script-dependency-managers.md) — Automatically injects required software versions into scripts via shebang lines to ensure reproducible execution.
- [Standalone Process Execution](https://awesome-repositories.com/f/development-tools-productivity/standalone-process-execution.md) — Runs specific versions of tools as standalone processes without requiring permanent installation on the host system. ([source](https://docs.pkgx.sh/))
- [Session Environment Variable Exporters](https://awesome-repositories.com/f/development-tools-productivity/terminal-environment-variables/session-environment-variable-exporters.md) — Modifies shell environment variables to make specific tool versions available to the current session. ([source](https://docs.pkgx.sh/appendix/deeper-dives/conceptual-overview.md))
- [Remote Repository Querying](https://awesome-repositories.com/f/development-tools-productivity/dependency-managers/package-metadata-querying/remote-repository-querying.md) — Provides utilities for querying remote package indexes to discover available software versions and distributions. ([source](https://docs.pkgx.sh/appendix/packaging/pantry-api.md))
- [Shell Environment Configurations](https://awesome-repositories.com/f/development-tools-productivity/development-environment-management/environment-provisioning-configuration/developer-environment-tooling/shell-environment-configurations.md) — Exports the necessary shell environment variables for specific software versions to be inherited by other sessions. ([source](https://docs.pkgx.sh/pkgx/pkgx.md))
- [Environment Dependency Composition](https://awesome-repositories.com/f/development-tools-productivity/environment-dependency-composition.md) — Injects additional software dependencies into a script environment to enable multiple distinct tools to function together. ([source](https://docs.pkgx.sh/pkgx/scripting.md))
- [Installation Automation Tools](https://awesome-repositories.com/f/development-tools-productivity/installation-automation-tools.md) — Simplifies the deployment of software with complex installation requirements into a single automated command. ([source](https://docs.pkgx.sh/readme.md))
- [Package Caches](https://awesome-repositories.com/f/development-tools-productivity/package-caches.md) — Manages isolated local caches of downloaded packages to prevent version conflicts across projects.
- [Package Discovery](https://awesome-repositories.com/f/development-tools-productivity/package-discovery.md) — Facilitates searching and inspecting available software packages and specific version numbers from remote registries. ([source](https://cdn.jsdelivr.net/gh/pkgxdev/pkgx@main/README.md))
- [Version Inspection Tools](https://awesome-repositories.com/f/development-tools-productivity/package-managers/version-inspection-tools.md) — Includes utilities for inspecting available versions of a specific package to identify the correct release for execution. ([source](https://docs.pkgx.sh/pkgx/pkgx.md))
- [Package Search Utilities](https://awesome-repositories.com/f/development-tools-productivity/package-search-utilities.md) — Ships a command-line interface for searching and discovering available software packages from remote registries. ([source](https://docs.pkgx.sh/pkgx/pkgx.md))
- [Virtual Environment Managers](https://awesome-repositories.com/f/development-tools-productivity/virtual-environment-managers.md) — Creates isolated environments for project-specific toolsets and dependencies using shell-based configurations. ([source](https://docs.pkgx.sh/readme.md))

### Part of an Awesome List

- [Portable Environment Builders](https://awesome-repositories.com/f/awesome-lists/devtools/portable-shell-environments/portable-environment-builders.md) — Initializes temporary environments by fetching remote tools to run commands without requiring a local runner installation. ([source](https://docs.pkgx.sh/pkgx/scripting.md))

### DevOps & Infrastructure

- [Cross-Platform Orchestration Tools](https://awesome-repositories.com/f/devops-infrastructure/cross-platform-orchestration-tools.md) — Orchestrates consistent software versions across different operating systems to ensure reproducible automated pipelines.
- [Shell Path Overlays](https://awesome-repositories.com/f/devops-infrastructure/environment-variables/shell-path-overlays.md) — Dynamically modifies shell environment paths to make specific tool versions available without permanent installation.
- [Ephemeral Package Distribution](https://awesome-repositories.com/f/devops-infrastructure/portable-application-distribution/ephemeral-package-distribution.md) — Executes remote commands to temporarily install and run required packages without creating permanent local installations. ([source](https://docs.pkgx.sh/scripts))
- [Remote Index Querying](https://awesome-repositories.com/f/devops-infrastructure/configuration-management/file-based-configuration/project-metadata-specifications/library-metadata-indexing/remote-index-querying.md) — Retrieves software versions and distribution details by querying a remote structured index over the network.
- [Container Command Execution](https://awesome-repositories.com/f/devops-infrastructure/container-command-execution.md) — Executes software tools within container environments to ensure complete isolation from the host operating system.
- [Containerized Task Execution](https://awesome-repositories.com/f/devops-infrastructure/container-deployment/containerized-task-execution.md) — Executes specific software versions within container images to ensure total isolation from the host operating system. ([source](https://docs.pkgx.sh/pkgx/installing-pkgx.md))
- [Cross-Platform Execution](https://awesome-repositories.com/f/devops-infrastructure/cross-platform-deployment-targets/cross-platform-execution.md) — Runs specific software versions across different operating systems to ensure consistent behavior in automated pipelines. ([source](https://docs.pkgx.sh/installing-w/out-brew))
- [Dependency Declarations](https://awesome-repositories.com/f/devops-infrastructure/dependency-management/configuration-declaration-formats/dependency-declarations.md) — Allows scripts to explicitly declare necessary tools from open-source ecosystems for automatic resolution. ([source](https://docs.pkgx.sh/readme.md))
- [Environment Provisioning Tools](https://awesome-repositories.com/f/devops-infrastructure/environment-provisioning-tools.md) — Provides mechanisms to standardize development toolchains through configuration files. ([source](https://docs.pkgx.sh/appendix/deeper-dives/c++.md))
- [Toolchain Version Standardization](https://awesome-repositories.com/f/devops-infrastructure/toolchain-version-standardization.md) — Enforces consistent utility versions across different platforms to prevent discrepancies in automated build and test workflows. ([source](https://docs.pkgx.sh/pkgx/installing-pkgx.md))

### Programming Languages & Runtimes

- [Version-Specific Execution](https://awesome-repositories.com/f/programming-languages-runtimes/cli-script-execution/version-specific-execution.md) — Executes scripts with a designated software version using a shebang without requiring a pre-installed tool. ([source](https://docs.pkgx.sh/pkgx/scripting.md))
- [Language Ecosystems and Tooling](https://awesome-repositories.com/f/programming-languages-runtimes/language-ecosystems-tooling.md) — Acts as a unified wrapper for launching package managers and tools across multiple programming language ecosystems.
- [Shebang-Based Execution](https://awesome-repositories.com/f/programming-languages-runtimes/shebang-based-execution.md) — Parses script header lines to automatically resolve and load required software packages before execution.
- [Shebang Dependency Injection](https://awesome-repositories.com/f/programming-languages-runtimes/shebang-based-execution/shebang-dependency-injection.md) — Loads specific tool versions into a script environment via the shebang line to ensure reproducible execution. ([source](https://cdn.jsdelivr.net/gh/pkgxdev/pkgx@main/README.md))
