{"id":13474915,"url":"https://github.com/prefix-dev/pixi","last_synced_at":"2025-10-20T02:31:56.488Z","repository":{"id":173875927,"uuid":"633817517","full_name":"prefix-dev/pixi","owner":"prefix-dev","description":"Package management made easy","archived":false,"fork":false,"pushed_at":"2025-05-13T13:45:03.000Z","size":84103,"stargazers_count":4398,"open_issues_count":536,"forks_count":279,"subscribers_count":23,"default_branch":"main","last_synced_at":"2025-05-14T22:05:06.526Z","etag":null,"topics":["conda","conda-environment","conda-packages","package-management","package-manager","package-manager-tool","python-virtual-environment","rust","rust-lang"],"latest_commit_sha":null,"homepage":"https://pixi.sh","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/prefix-dev.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-04-28T10:51:16.000Z","updated_at":"2025-05-14T16:38:06.000Z","dependencies_parsed_at":"2023-10-11T16:25:23.887Z","dependency_job_id":"ac01be4b-7e8e-4463-a171-a10bf023ab8d","html_url":"https://github.com/prefix-dev/pixi","commit_stats":{"total_commits":551,"total_committers":44,"mean_commits":"12.522727272727273","dds":0.5553539019963702,"last_synced_commit":"1efaaa35ec653575dd3096e43158b0bc39bce449"},"previous_names":["prefix-dev/pixi"],"tags_count":90,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prefix-dev%2Fpixi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prefix-dev%2Fpixi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prefix-dev%2Fpixi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prefix-dev%2Fpixi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/prefix-dev","download_url":"https://codeload.github.com/prefix-dev/pixi/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254235687,"owners_count":22036962,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["conda","conda-environment","conda-packages","package-management","package-manager","package-manager-tool","python-virtual-environment","rust","rust-lang"],"created_at":"2024-07-31T16:01:15.933Z","updated_at":"2025-10-20T02:31:56.467Z","avatar_url":"https://github.com/prefix-dev.png","language":"Rust","readme":"\u003ch1\u003e\n  \u003ca href=\"https://github.com/prefix-dev/pixi/\"\u003e\n    \u003cpicture\u003e\n      \u003csource srcset=\"https://github.com/prefix-dev/pixi/assets/4995967/a3f9ff01-c9fb-4893-83c0-2a3f924df63e\" type=\"image/webp\"\u003e\n      \u003csource srcset=\"https://github.com/prefix-dev/pixi/assets/4995967/e42739c4-4cd9-49bb-9d0a-45f8088494b5\" type=\"image/png\"\u003e\n      \u003cimg src=\"https://github.com/prefix-dev/pixi/assets/4995967/e42739c4-4cd9-49bb-9d0a-45f8088494b5\" alt=\"banner\"\u003e\n    \u003c/picture\u003e\n  \u003c/a\u003e\n\u003c/h1\u003e\n\n\u003ch1 align=\"center\"\u003e\n\n![License][license-badge]\n[![Project Chat][chat-badge]][chat-url]\n[![Pixi Badge][pixi-badge]][pixi-url]\n\n\n[license-badge]: https://img.shields.io/badge/license-BSD--3--Clause-blue?style=flat-square\n[chat-badge]: https://img.shields.io/discord/1082332781146800168.svg?label=\u0026logo=discord\u0026logoColor=ffffff\u0026color=7389D8\u0026labelColor=6A7EC2\u0026style=flat-square\n[chat-url]: https://discord.gg/kKV8ZxyzY4\n[pixi-badge]:https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/prefix-dev/pixi/main/assets/badge/v0.json\u0026style=flat-square\n[pixi-url]: https://pixi.sh\n\n\u003c/h1\u003e\n\n# Pixi: Package Management Made Easy\n\n## Overview\n\n`pixi` is a cross-platform, multi-language package manager and workflow tool built on the foundation of the conda ecosystem. It provides developers with an exceptional experience similar to popular package managers like [`cargo`](https://doc.rust-lang.org/cargo/) or [`npm`](https://docs.npmjs.com), but for any language.\n\nDeveloped with ❤️ at [prefix.dev](https://prefix.dev).\n[![Real-time pixi_demo](https://github.com/prefix-dev/pixi/assets/12893423/0fc8f8c8-ac13-4c14-891b-dc613f25475b)](https://asciinema.org/a/636482)\n\n## Highlights\n\n- Supports **multiple languages** including Python, C++, and R using Conda packages. You can find available packages on [prefix.dev](https://prefix.dev).\n- Compatible with all major operating systems: Linux, Windows, macOS (including Apple Silicon).\n- Always includes an up-to-date [**lock file**](https://pixi.sh/latest/workspace/lockfile/).\n- Provides a clean and simple Cargo-like **command-line interface**.\n- Allows you to install tools **per-project** or **system-wide**.\n- Entirely written in **Rust** and built on top of the **[rattler](https://github.com/conda/rattler)** library.\n\n## Getting Started\n\n- ⚡ [Installation](#installation)\n- ⚙️ [Examples](/examples)\n- 📚 [Documentation](https://pixi.sh/)\n- 😍 [Contributing](#contributing)\n- 🔨 [Built using Pixi](#built-using-pixi)\n- 🚀 [GitHub Action](https://github.com/prefix-dev/setup-pixi)\n\n## Status\n\nPixi is ready for production!\nWe are working hard to keep file-format changes compatible with the previous\nversions so that you can rely on Pixi with peace of mind.\n\nSome notable features we envision for upcoming releases are:\n\n- **Build and publish** your project as a Conda package.\n- Support for **dependencies from source**.\n- More powerful \"global installation\" of packages towards a deterministic setup of global packages on multiple machines.\n\n## Installation\n\n`pixi` can be installed on macOS, Linux, and Windows. The provided scripts will automatically download the latest version of `pixi`, extract it, and move the `pixi` binary to `~/.pixi/bin`. If this directory does not exist, the script will create it.\n\n### macOS and Linux\n\nTo install Pixi on macOS and Linux, open a terminal and run the following command:\n\n```bash\ncurl -fsSL https://pixi.sh/install.sh | sh\n# or with brew\nbrew install pixi\n```\n\nThe script will also update your `~/.bashrc` to include `~/.pixi/bin` in your `PATH`, allowing you to invoke the `pixi` command from anywhere.\nYou might need to restart your terminal or source your shell for the changes to take effect.\n\nStarting with macOS Catalina [zsh is the default login shell and interactive shell](https://support.apple.com/en-us/102360). Therefore, you might want to use `zsh` instead of `bash` in the install command:\n\n```zsh\ncurl -fsSL https://pixi.sh/install.sh | zsh\n```\n\nThe script will also update your `~/.zshrc` to include `~/.pixi/bin` in your `PATH`, allowing you to invoke the `pixi` command from anywhere.\n\n### Windows\n\nTo install Pixi on Windows, open a PowerShell terminal (you may need to run it as an administrator) and run the following command:\n\n```powershell\npowershell -ExecutionPolicy ByPass -c \"irm -useb https://pixi.sh/install.ps1 | iex\"\n```\nChanging the [execution policy](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7.4#powershell-execution-policies) allows running a script from the internet.\nCheck the script you would be running with:\n```powershell\npowershell -c \"irm -useb https://pixi.sh/install.ps1 | more\"\n```\n\nThe script will inform you once the installation is successful and add the `~/.pixi/bin` directory to your `PATH`, which will allow you to run the `pixi` command from any location.\nOr with `winget`\n\n```shell\nwinget install prefix-dev.pixi\n```\n\n### Autocompletion\n\nTo get autocompletion follow the instructions for your shell.\nAfterwards, restart the shell or source the shell config file.\n\n#### Bash (default on most Linux systems)\n\nAdd the following to the end of `~/.bashrc`:\n\n```bash\n# ~/.bashrc\n\neval \"$(pixi completion --shell bash)\"\n```\n#### Zsh (default on macOS)\n\nAdd the following to the end of `~/.zshrc`:\n\n\n```zsh\n# ~/.zshrc\n\neval \"$(pixi completion --shell zsh)\"\n```\n\n#### PowerShell (pre-installed on all Windows systems)\n\nAdd the following to the end of `Microsoft.PowerShell_profile.ps1`.\nYou can check the location of this file by querying the `$PROFILE` variable in PowerShell.\nTypically the path is `~\\Documents\\PowerShell\\Microsoft.PowerShell_profile.ps1` or\n`~/.config/powershell/Microsoft.PowerShell_profile.ps1` on -Nix.\n\n```pwsh\n(\u0026 pixi completion --shell powershell) | Out-String | Invoke-Expression\n```\n\n#### Fish\n\nAdd the following to the end of `~/.config/fish/config.fish`:\n\n```fish\n# ~/.config/fish/config.fish\n\npixi completion --shell fish | source\n```\n\n#### Nushell\n\nAdd the following to your Nushell config file (find it by running `$nu.config-path` in Nushell):\n\n```nushell\nmkdir $\"($nu.data-dir)/vendor/autoload\"\npixi completion --shell nushell | save --force $\"($nu.data-dir)/vendor/autoload/pixi-completions.nu\"\n```\n\n#### Elvish\n\nAdd the following to the end of `~/.elvish/rc.elv`:\n\n```elv\n# ~/.elvish/rc.elv\n\neval (pixi completion --shell elvish | slurp)\n```\n\n### Distro Packages\n\n[![Packaging status](https://repology.org/badge/vertical-allrepos/pixi.svg)](https://repology.org/project/pixi/versions)\n\n#### Arch Linux\n\nYou can install `pixi` from the [extra repository](https://archlinux.org/packages/extra/x86_64/pixi/) using [pacman](https://wiki.archlinux.org/title/Pacman):\n\n```shell\npacman -S pixi\n```\n\n#### Alpine Linux\n\n`pixi` is available for [Alpine Edge](https://pkgs.alpinelinux.org/packages?name=pixi\u0026branch=edge). It can be installed via [apk](https://wiki.alpinelinux.org/wiki/Alpine_Package_Keeper) after enabling the [testing repository](https://wiki.alpinelinux.org/wiki/Repositories).\n\n```shell\napk add pixi\n```\n\n## Build/install from source\n\n`pixi` is 100% written in Rust and therefore it can be installed, built and tested with cargo.\nTo start using `pixi` from a source build run:\n\n```shell\ncargo install --locked --git https://github.com/prefix-dev/pixi.git pixi\n```\n\nWe don't publish to `crates.io` anymore, so you need to install it from the repository.\nThe reason for this is that we depend on some unpublished crates which disallows us to publish to `crates.io`.\n\nor when you want to make changes use:\n\n```shell\ncargo build\ncargo test\n```\n\nIf you have any issues building because of the dependency on `rattler` checkout\nit's [compile steps](https://github.com/conda/rattler/tree/main#give-it-a-try)\n\n## Uninstall\n\nTo uninstall, the Pixi binary should be removed.\nDelete `pixi` from the `$PIXI_DIR` which is default to `~/.pixi/bin/pixi`\n\nSo on Linux its:\n\n```shell\nrm ~/.pixi/bin/pixi\n```\n\nand on Windows:\n\n```shell\n$PIXI_BIN = \"$Env:LocalAppData\\pixi\\bin\\pixi\"; Remove-Item -Path $PIXI_BIN\n```\n\nAfter this command you can still use the tools you installed with `pixi`.\nTo remove these as well just remove the whole `~/.pixi` directory and remove the directory from your path.\n\n# Usage\n\nThe cli looks as follows:\n\n```bash\n➜ pixi\nPixi [version 0.50.1] - Developer Workflow and Environment Management for Multi-Platform, Language-Agnostic Workspaces.\n\nPixi is a versatile developer workflow tool designed to streamline the management of your workspace's dependencies, tasks, and environments.\nBuilt on top of the Conda ecosystem, Pixi offers seamless integration with the PyPI ecosystem.\n\nBasic Usage:\n    Initialize pixi for a workspace:\n    $ pixi init\n    $ pixi add python numpy pytest\n\n    Run a task:\n    $ pixi task add test 'pytest -s'\n    $ pixi run test\n\nFound a Bug or Have a Feature Request?\nOpen an issue at: https://github.com/prefix-dev/pixi/issues\n\nNeed Help?\nAsk a question on the Prefix Discord server: https://discord.gg/kKV8ZxyzY4\n\nFor more information, see the documentation at: https://pixi.sh\n\nUsage: pixi [OPTIONS] \u003cCOMMAND\u003e\n\nCommands:\n  add          Adds dependencies to the workspace [aliases: a]\n  auth         Login to prefix.dev or anaconda.org servers to access private channels\n  build        Workspace configuration\n  clean        Cleanup the environments\n  completion   Generates a completion script for a shell\n  config       Configuration management\n  exec         Run a command and install it in a temporary environment [aliases: x]\n  global       Subcommand for global package management actions [aliases: g]\n  info         Information about the system, workspace and environments for the current machine\n  init         Creates a new workspace\n  import       Imports a file into an environment in an existing workspace.\n  install      Install an environment, both updating the lockfile and installing the environment [aliases: i]\n  list         List workspace's packages [aliases: ls]\n  lock         Solve environment and update the lock file without installing the environments\n  reinstall    Re-install an environment, both updating the lockfile and re-installing the environment\n  remove       Removes dependencies from the workspace [aliases: rm]\n  run          Runs task in the pixi environment [aliases: r]\n  search       Search a conda package\n  self-update  Update pixi to the latest version or a specific version\n  shell        Start a shell in a pixi environment, run `exit` to leave the shell [aliases: s]\n  shell-hook   Print the pixi environment activation script\n  task         Interact with tasks in the workspace\n  tree         Show a tree of workspace dependencies [aliases: t]\n  update       The `update` command checks if there are newer versions of the dependencies and updates the `pixi.lock` file and environments accordingly\n  upgrade      Checks if there are newer versions of the dependencies and upgrades them in the lockfile and manifest file\n  upload       Upload a conda package\n  workspace    Modify the workspace configuration file through the command line\n  help         Print this message or the help of the given subcommand(s)\n\nOptions:\n  -V, --version  Print version\n\nGlobal Options:\n  -h, --help           Display help information\n  -v, --verbose...     Increase logging verbosity (-v for warnings, -vv for info, -vvv for debug, -vvvv for trace)\n  -q, --quiet...       Decrease logging verbosity (quiet mode)\n      --color \u003cCOLOR\u003e  Whether the log needs to be colored [env: PIXI_COLOR=] [default: auto] [possible values: always, never, auto]\n      --no-progress    Hide all progress bars, always turned on if stderr is not a terminal [env: PIXI_NO_PROGRESS=]\n```\n\n## Creating a Pixi workspace\n\nInitialize a new workspace and navigate to the workspace directory\n\n```\npixi init myworkspace\ncd myworkspace\n```\n\nAdd the dependencies you want to use\n\n```\npixi add cowpy\n```\n\nRun the installed package in its environment\n\n```bash\npixi run cowpy \"Thanks for using pixi\"\n```\n\nActivate a shell in the environment\n\n```shell\npixi shell\ncowpy \"Thanks for using pixi\"\nexit\n```\n\nCheck out https://pixi.sh/dev/first_workspace/ for a more detailed introduction to workspaces.\n\n## Installing a conda package globally\n\nYou can also globally install conda packages into their own environment.\nThis behavior is similar to [`pipx`](https://github.com/pypa/pipx) or [`condax`](https://github.com/mariusvniekerk/condax).\n\n```bash\npixi global install cowpy\n```\n\n## Use in GitHub Actions\n\nYou can use Pixi in GitHub Actions to install dependencies and run commands.\nIt supports automatic caching of your environments.\n\n```yml\n- uses: prefix-dev/setup-pixi@v0.8.1\n- run: pixi exec cowpy \"Thanks for using pixi\"\n```\n\nSee the [documentation](https://pixi.sh/latest/advanced/github_actions) for more details.\n\n\u003ca name=\"contributing\"\u003e\u003c/a\u003e\n\n## Contributing 😍\n\nWe would absolutely love for you to contribute to Pixi!\nWhether you want to start an issue, fix a bug you encountered, or suggest an\nimprovement, every contribution is greatly appreciated.\n\nIf you're just getting started with our project or stepping into the Rust\necosystem for the first time, we've got your back!\nWe recommend beginning with issues labeled as `good first issue`.\nThese are carefully chosen tasks that provide a smooth entry point into\ncontributing.These issues are typically more straightforward and are a great way\nto get familiar with the project.\n\nGot questions or ideas, or just want to chat? Join our lively conversations on\nDiscord.\nWe're very active and would be happy to welcome you to our\ncommunity. [Join our discord server today!][chat-url]\n\n\u003ca name=\"pixibuilt\"\u003e\u003c/a\u003e\n\n## Built using Pixi\n\nTo see what's being built with `pixi` check out the [Community](/docs/misc/Community.md) page.\n","funding_links":[],"categories":["Rust","rust","Package Managers"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprefix-dev%2Fpixi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprefix-dev%2Fpixi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprefix-dev%2Fpixi/lists"}