# prefix-dev/pixi

**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/prefix-dev-pixi).**

6,416 stars · 436 forks · Rust · bsd-3-clause

## Links

- GitHub: https://github.com/prefix-dev/pixi
- Homepage: https://pixi.sh
- awesome-repositories: https://awesome-repositories.com/repository/prefix-dev-pixi.md

## Topics

`conda` `conda-environment` `conda-packages` `package-management` `package-manager` `package-manager-tool` `python-virtual-environment` `rust` `rust-lang`

## Description

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 isolated project environments on Linux, macOS, and Windows. It provides a workspace manager for handling multiple sub-projects with their own manifests and dependencies within a single repository, and supports installing command-line tools in isolated environments so they are available system-wide without conflicting with project dependencies. A dedicated GitHub Actions action caches and restores conda environments using lock-file hashes to speed up CI workflows.

The tool manages multiple isolated environments within a single manifest, each with its own dependency set for different workflows or tools. It supports initializing new project directories with a manifest file and directory structure from a single command, and allows defining cross-platform commands with arguments, dependencies, working directory, and environment variables that execute in the workspace. Authentication against package registries is supported using tokens, username and password, conda tokens, S3 keys, or keyring.

Documentation covers installation, project initialization, dependency management, environment composition, task execution, CI integration, and global tool installation across all supported platforms.

## Tags

### DevOps & Infrastructure

- [Conda Environment Reproducibility](https://awesome-repositories.com/f/devops-infrastructure/reproducible-environments/conda-environment-reproducibility.md) — Creates reproducible, lock-file-backed conda environments with cross-platform support and multi-language dependency resolution.
- [Dependency Lock Files](https://awesome-repositories.com/f/devops-infrastructure/configuration-management/file-based-configuration/dependency-lock-files.md) — Installs dependencies with frozen or locked flags to ensure reproducible environments from the lock file. ([source](https://pixi.sh/latest/advanced/github_actions))
- [Conda Installers](https://awesome-repositories.com/f/devops-infrastructure/deployment-management/installation-package-management/automated-installers/vpn-installers/conda-installers.md) — Pulls packages from conda-forge or custom channels into the project environment. ([source](https://pixi.sh/))
- [Reproducible Environments](https://awesome-repositories.com/f/devops-infrastructure/reproducible-environments.md) — Creates isolated, lock-file-backed environments that can be exactly recreated on any machine. ([source](https://pixi.sh/))
- [Lock-File Pinning](https://awesome-repositories.com/f/devops-infrastructure/reproducible-environments/lock-file-pinning.md) — Pins every transitive dependency to exact versions in a cross-platform lock file for reproducibility.
- [Automatic Lock-File Regenerations](https://awesome-repositories.com/f/devops-infrastructure/reproducible-environments/lock-file-pinning/automatic-lock-file-regenerations.md) — Automatically regenerates the lock file when the manifest or installed environment falls out of sync. ([source](https://pixi.sh/latest/workspace/lockfile/))
- [Environment Caching](https://awesome-repositories.com/f/devops-infrastructure/ci-cd-pipelines/ephemeral-ci-environments/environment-caching.md) — Ships a dedicated GitHub Actions action that caches and restores conda environments using lock-file hashes. ([source](https://cdn.jsdelivr.net/gh/prefix-dev/pixi@main/README.md))
- [Environment Caching in CI](https://awesome-repositories.com/f/devops-infrastructure/ci-cd-pipelines/ephemeral-ci-environments/environment-caching-in-ci.md) — Provides a GitHub Actions action that caches and restores conda environments using lock-file hashes to speed up CI workflows.
- [Package Installations](https://awesome-repositories.com/f/devops-infrastructure/package-installations.md) — Installs conda packages into their own isolated environment, making them available system-wide. ([source](https://cdn.jsdelivr.net/gh/prefix-dev/pixi@main/README.md))
- [Isolated Global Installations](https://awesome-repositories.com/f/devops-infrastructure/package-installations/isolated-global-installations.md) — Installs conda packages into their own isolated environment, making commands available system-wide. ([source](https://cdn.jsdelivr.net/gh/prefix-dev/pixi@main/README.md))
- [Manifest-Lock Synchronization](https://awesome-repositories.com/f/devops-infrastructure/reproducible-environments/lock-file-pinning/manifest-lock-synchronization.md) — Installs only when the lock file is fully up-to-date with the manifest, failing otherwise. ([source](https://pixi.sh/latest/workspace/lockfile/))

### Part of an Awesome List

- [Task Definitions](https://awesome-repositories.com/f/awesome-lists/devops/tasks-and-scheduling/task-definitions.md) — Defines cross-platform commands in the manifest with arguments, dependencies, working directory, and environment variables. ([source](https://pixi.sh/dev/first_workspace/))
- [Multi-Source Dependency Resolutions](https://awesome-repositories.com/f/awesome-lists/devtools/package-and-dependency-management/multi-source-dependency-resolutions.md) — Installs and coordinates packages from conda-forge and PyPI for Python, C++, Rust, Node.js, and other languages in a single project.
- [Cross-Platform Task Pipelines](https://awesome-repositories.com/f/awesome-lists/devtools/pipeline-and-task-automation/cross-platform-task-pipelines.md) — Defines and runs multi-step command pipelines that work identically on Linux, macOS, and Windows inside the project environment.

### Data & Databases

- [Lock-File-Based Cache Keys](https://awesome-repositories.com/f/data-databases/data-engineering-infrastructure/caching-performance/caching-strategies/cache-key-generators/lock-file-based-cache-keys.md) — Generates cache keys from lock-file content to automatically save and restore environments in CI.

### Development Tools & Productivity

- [Environment-Aware Execution](https://awesome-repositories.com/f/development-tools-productivity/command-line-task-runners/environment-aware-execution.md) — Executes defined tasks or arbitrary commands inside the current workspace environment. ([source](https://pixi.sh/dev/first_workspace/))
- [Manifest-Defined Tasks](https://awesome-repositories.com/f/development-tools-productivity/command-line-task-runners/manifest-defined-tasks.md) — Creates cross-platform, repeatable commands or chains of commands in the manifest to share and run consistently. ([source](https://pixi.sh/dev/first_workspace/))
- [Cross-Platform Development Tools](https://awesome-repositories.com/f/development-tools-productivity/cross-platform-development-tools.md) — Runs identically on Linux, macOS, and Windows, with environment definitions that work across all operating systems. ([source](https://pixi.sh/))
- [Global Tool Isolation](https://awesome-repositories.com/f/development-tools-productivity/dependency-isolation-tools/global-tool-isolation.md) — Installs command-line tools into their own isolated environments, making them system-wide available.
- [Python Package Managers](https://awesome-repositories.com/f/development-tools-productivity/dependency-managers/python-package-managers.md) — Adds Python dependencies from PyPI alongside conda packages using uv integration. ([source](https://pixi.sh/))
- [Multi-Source Package Managers](https://awesome-repositories.com/f/development-tools-productivity/dependency-managers/python-package-managers/multi-source-package-managers.md) — Coordinates dependency resolution and installation from both conda-forge and PyPI simultaneously.
- [Environment Activation](https://awesome-repositories.com/f/development-tools-productivity/environment-activation.md) — Makes all binaries and environment variables from a pixi environment available to subsequent workflow steps. ([source](https://pixi.sh/latest/advanced/github_actions))
- [CI](https://awesome-repositories.com/f/development-tools-productivity/environment-activation/ci.md) — Makes all pixi-installed binaries and environment variables available to subsequent workflow steps. ([source](https://pixi.sh/latest/advanced/github_actions))
- [Environment Caching Utilities](https://awesome-repositories.com/f/development-tools-productivity/environment-caching-utilities.md) — Caches project environments using lock-file hashes to skip reinstallation on cache hits in CI. ([source](https://pixi.sh/latest/advanced/github_actions))
- [Lock-File-Based Environment Caching](https://awesome-repositories.com/f/development-tools-productivity/environment-caching-utilities/lock-file-based-environment-caching.md) — Stores and restores project and global pixi environments using a lock-file-based hash to skip reinstallation. ([source](https://pixi.sh/latest/advanced/github_actions))
- [Multi-Environment Manifests](https://awesome-repositories.com/f/development-tools-productivity/environment-dependency-composition/multi-environment-manifests.md) — Defines multiple isolated environments within a single manifest, each with its own dependency set.
- [Environment Managers](https://awesome-repositories.com/f/development-tools-productivity/environment-managers.md) — Composes several distinct dependency sets in a single manifest file for different workflows. ([source](https://pixi.sh/))
- [Conda](https://awesome-repositories.com/f/development-tools-productivity/environment-managers/conda.md) — Creates reproducible, lock-file-backed conda environments with cross-platform support and multi-language dependency resolution.
- [Multi-Environment Composition](https://awesome-repositories.com/f/development-tools-productivity/environment-managers/multi-environment-composition.md) — Defines multiple isolated environments within a single manifest, each with its own dependency set. ([source](https://pixi.sh/))
- [Isolated Execution Environments](https://awesome-repositories.com/f/development-tools-productivity/isolated-execution-environments.md) — Executes commands or opens interactive shells within the project's isolated environment. ([source](https://pixi.sh/))
- [Package Dependency Management](https://awesome-repositories.com/f/development-tools-productivity/package-dependency-management.md) — Adds packages from conda or PyPI to the workspace manifest, resolving all dependencies and installing them. ([source](https://pixi.sh/dev/first_workspace/))
- [Package Dependency Managers](https://awesome-repositories.com/f/development-tools-productivity/package-dependency-managers.md) — Installs and coordinates packages from conda-forge and PyPI for multiple programming languages. ([source](https://pixi.sh/))
- [Multi-Manifest Workspaces](https://awesome-repositories.com/f/development-tools-productivity/package-managers/dependency/workspace-managers/multi-manifest-workspaces.md) — Manages multiple sub-projects with independent manifests and dependencies within a single repository.
- [Project Task Execution](https://awesome-repositories.com/f/development-tools-productivity/project-task-execution.md) — Executes user-defined scripts or commands inside the project's isolated environment, managing complex pipelines. ([source](https://cdn.jsdelivr.net/gh/prefix-dev/pixi@main/README.md))
- [Cross-Platform Lock Files](https://awesome-repositories.com/f/development-tools-productivity/reproducible-build-environments/deterministic-dependency-locking/cross-platform-lock-files.md) — Produces a single lock file that resolves packages for all platforms, ensuring reproducible installs across operating systems and architectures. ([source](https://pixi.sh/latest/workspace/lockfile/))
- [Cross-Platform](https://awesome-repositories.com/f/development-tools-productivity/task-runners/cross-platform.md) — Executes user-defined commands and multi-step pipelines inside isolated project environments on Linux, macOS, and Windows.
- [Global Installation Managers](https://awesome-repositories.com/f/development-tools-productivity/application-installers/global-installation-managers.md) — Installs command-line tools in isolated environments so they are available system-wide without conflicts. ([source](https://pixi.sh/))
- [Multi-Environment Installers](https://awesome-repositories.com/f/development-tools-productivity/dependency-managers/installation-resolution-utilities/dependency-installers/multi-environment-installers.md) — Installs and caches multiple environments defined in the project manifest, each with its own set of dependencies. ([source](https://pixi.sh/latest/advanced/github_actions))
- [Lock File Updates](https://awesome-repositories.com/f/development-tools-productivity/lock-files/lock-file-updates.md) — Modifies the lock file to reflect manifest changes without altering the installed environment. ([source](https://pixi.sh/latest/workspace/lockfile/))
- [Workspace Scaffolding](https://awesome-repositories.com/f/development-tools-productivity/manifest-driven-dependency-managers/workspace-scaffolding.md) — Creates new project directories with a manifest file and directory structure from a single command.
- [Monorepo Managers](https://awesome-repositories.com/f/development-tools-productivity/monorepo-managers.md) — Manages multiple sub-projects with their own manifests and dependencies within a single repository from a root directory.
- [Multi-Source Dependency Additions](https://awesome-repositories.com/f/development-tools-productivity/package-dependency-management/multi-source-dependency-additions.md) — Adds packages from PyPI alongside conda dependencies, preventing conflicts between the two sources. ([source](https://pixi.sh/dev/first_workspace/))
- [Registry Authentication](https://awesome-repositories.com/f/development-tools-productivity/private-package-registries/registry-authentication.md) — Authenticates against package registries using tokens, username and password, conda tokens, S3 keys, or keyring. ([source](https://pixi.sh/latest/advanced/github_actions))
- [Shell Environment Managers](https://awesome-repositories.com/f/development-tools-productivity/shell-environment-managers.md) — Opens interactive shell sessions configured with the workspace's environment variables and paths. ([source](https://cdn.jsdelivr.net/gh/prefix-dev/pixi@main/README.md))
- [Shell Execution Environments](https://awesome-repositories.com/f/development-tools-productivity/shell-execution-environments.md) — Opens interactive shell sessions inside the project's isolated environment for direct command execution. ([source](https://pixi.sh/))
- [Environment-Aware Command Executions](https://awesome-repositories.com/f/development-tools-productivity/shell-script-execution-engines/custom-run-scripts/environment-aware-command-executions.md) — Executes shell commands or scripts inside the pixi environment using a custom shell wrapper without prefixing each command. ([source](https://pixi.sh/latest/advanced/github_actions))
- [Project Initializers](https://awesome-repositories.com/f/development-tools-productivity/terminal-shell-cli/cli-tooling-frameworks/cli-tooling/project-lifecycle-orchestrators/project-initializers.md) — Creates new project directories with a manifest file and directory structure from a single command. ([source](https://pixi.sh/))
- [Subdirectory Configurations](https://awesome-repositories.com/f/development-tools-productivity/working-directory-configuration/subdirectory-configurations.md) — Runs pixi commands from a specified subdirectory in monorepos where the project is not at the repository root. ([source](https://pixi.sh/latest/advanced/github_actions))
- [Workspace Initialization Templates](https://awesome-repositories.com/f/development-tools-productivity/workspace-initialization-templates.md) — Creates a new project directory with a manifest file ready for managing dependencies and environments. ([source](https://cdn.jsdelivr.net/gh/prefix-dev/pixi@main/README.md))

### Software Engineering & Architecture

- [Multi-Source Dependency Resolution](https://awesome-repositories.com/f/software-engineering-architecture/dependency-graph-resolution/concurrent-dependency-resolution/multi-source-dependency-resolution.md) — Resolves and installs packages from both conda-forge and PyPI simultaneously, coordinating their dependency graphs.
- [Task Execution Engines](https://awesome-repositories.com/f/software-engineering-architecture/task-execution-engines.md) — Runs user-defined multi-step command pipelines as named tasks with dependencies and environment variables.
- [Environment Caching Actions](https://awesome-repositories.com/f/software-engineering-architecture/integration-extensibility/workflow-automation-integrations/ci-cd-integrations/github-actions/environment-caching-actions.md) — Provides a GitHub Actions action that caches and restores conda environments using lock-file hashes to speed up CI workflows.

### Artificial Intelligence & ML

- [Manifest-Defined Pipelines](https://awesome-repositories.com/f/artificial-intelligence-ml/workflow-as-a-tool-exposure/durable-multi-step-orchestrators/manifest-defined-pipelines.md) — Defines and runs complex sequences of commands as named tasks within a project manifest. ([source](https://pixi.sh/))

### Web Development

- [Subdirectory Configurations](https://awesome-repositories.com/f/web-development/monorepo-tooling/subdirectory-configurations.md) — Specifies a subdirectory within a monorepo where the tool should look for manifest files and run commands. ([source](https://pixi.sh/latest/advanced/github_actions))
