Releases: prefix-dev/pixi
v0.13.0
0.13.0 - 2024-02-01
โจ Highlights
This release is pretty crazy in amount of features! The major ones are:
- We added support for multiple environments. ๐ Checkout the documentation
- We added support for
sdist
installation, which greatly improves the amount of packages that can be installed from PyPI. ๐
Important
Renaming of PIXI_PACKAGE_*
variables:
PIXI_PACKAGE_ROOT -> PIXI_PROJECT_ROOT
PIXI_PACKAGE_NAME -> PIXI_PROJECT_NAME
PIXI_PACKAGE_MANIFEST -> PIXI_PROJECT_MANIFEST
PIXI_PACKAGE_VERSION -> PIXI_PROJECT_VERSION
PIXI_PACKAGE_PLATFORMS -> PIXI_ENVIRONMENT_PLATFORMS
Check documentation here: https://pixi.sh/environment/
Important
The .pixi/env/
folder has been moved to accommodate multiple environments.
If you only have one environment it is now named .pixi/envs/default
.
๐ Details
Added
-
Add support for multiple environment:
- Update to rattler lock v4 by @baszalmstra in #698
- Multi-env installation and usage by @baszalmstra in #721
- Update all environments in the lock-file when requesting an environment by @baszalmstra in #711
- Run tasks in the env they are defined by @baszalmstra in #731
polarify
use-case as an example by @ruben-arts in #735- Make environment name parsing strict by @ruben-arts in #673
- Use named environments (only "default" for now) by @ruben-arts in #674
- Use task graph instead of traversal by @baszalmstra in #725
- Multi env documentation by @ruben-arts in #703
pixi info -e/--environment
option by @ruben-arts in #676pixi channel add -f/--feature
option by @ruben-arts in #700pixi channel remove -f/--feature
option by @ruben-arts in #706pixi remove -f/--feature
option by @ruben-arts in #680pixi task list -e/--environment
option by @ruben-arts in #694pixi task remove -f/--feature
option by @ruben-arts in #694pixi install -e/--environment
option by @ruben-arts in #722
-
Support for sdists in
pypi-dependencies
by @tdejager in #664 -
Add pre-release support to
pypi-dependencies
by @tdejager in #716 -
Support adding dependencies for project's unsupported platforms by @orhun in #668
-
Use env variable to configure locked, frozen and color by @hadim in #726
-
Add
PIXI_NO_PATH_UPDATE
for PATH update suppression by @chawyehsu in #692 -
Set the cache directory by @ruben-arts in #683
Changed
- Use consistent naming for tests module by @orhun in #678
- Install pixi and add to the path in docker example by @ruben-arts in #743
- Simplify the deserializer of
PyPiRequirement
by @orhun in #744 - Use
tabwriter
instead ofcomfy_table
by @baszalmstra in #745 - Document environment variables by @ruben-arts in #746
Fixed
- Quote part of the task that has brackets (
[ or ]
) by @JafarAbdi in #677 - Package clobber and
__pycache__
removal issues by @wolfv in #573 - Non-global reqwest client by @tdejager in #693
- Fix broken pipe error during search by @orhun in #699
- Make
pixi search
result correct by @chawyehsu in #713 - Allow the tasks for all platforms to be shown in
pixi info
by @ruben-arts in #728 - Flaky tests while installing pypi dependencies by @baszalmstra in #732
- Linux install script by @mariusvniekerk in #737
- Download wheels in parallel to avoid deadlock by @baszalmstra in #752
New Contributors
- @JafarAbdi made their first contribution in #677
- @mariusvniekerk made their first contribution in #737
v0.12.0
โจ Highlights
- Some great community contributions,
pixi global upgrade
,pixi project version
commands, aPIXI_HOME
variable. - A ton of refactor work to prepare for the multi-environment feature.
- Note that there are no extra environments created yet, but you can just specify them in the
pixi.toml
file already. - Next we'll build the actual environments.
- Note that there are no extra environments created yet, but you can just specify them in the
๐ Details
Added
- Add
global upgrade
command to pixi by @trueleo in #614 - Add configurable
PIXI_HOME
by @chawyehsu in #627 - Add
--pypi
option topixi remove
by @marcelotrevisani in #602 - PrioritizedChannels to specify channel priority by @ruben-arts in #658
- Add
project version {major,minor,patch}
CLIs by @hadim in #633
Changed
- Refactored project model using targets, features and environments by @baszalmstra in #616
- Move code from
Project
toEnvironment
by @baszalmstra in #630 - Refactored
system-requirements
from Environment by @baszalmstra in #632 - Extract
activation.scripts
into Environment by @baszalmstra in #659 - Extract
pypi-dependencies
from Environment by @baszalmstra in #656 - De-serialization of
features
andenvironments
by @ruben-arts in #636
Fixed
- Make install.sh also work with wget if curl is not available by @wolfv in #644
- Use source build for rattler by @ruben-arts
- Check for pypi-dependencies before amending the pypi purls by @ruben-arts in #661
- Don't allow the use of reflinks by @ruben-arts in #662
Removed
- Remove windows and unix system requirements by @baszalmstra in #635
Documentation
- Document the channel logic by @ruben-arts in #610
- Update the instructions for installing on Arch Linux by @orhun in #653
- Update Community.md by @KarelZe in #654
- Replace contributions.md with contributing.md and make it more standardized by @ruben-arts in #649
- Remove
windows
andunix
system requirements by @baszalmstra in #635 - Add
CODE_OF_CONDUCT.md
by @ruben-arts in #648 - Removed remaining .ps1 references by @bahugo in #643
New Contributors
- @marcelotrevisani made their first contribution in #602
- @trueleo made their first contribution in #614
- @bahugo made their first contribution in #643
- @KarelZe made their first contribution in #654
Full Changelog: v0.11.0...v0.12.0
v0.11.1
v0.11.0
โจ Highlights
- Lots of important and preparations for the pypi
sdist
and multi environment feature - Lots of new contributors that help
pixi
improve!
๐ Details
Added
- Add new commands for
pixi project {version|channel|platform|description}
by @hadim in #579 - Add dependabot.yml by @pavelzw in #606
Changed
winget-releaser
gets correct identifier by @ruben-arts in #561- Task run code by @baszalmstra in #556
- No ps1 in activation scripts by @ruben-arts in #563
- Changed some names for clarity by @tdejager in #568
- Change font and make it dark mode by @ruben-arts in #576
- Moved pypi installation into its own module by @tdejager in #589
- Move alpha to beta feature and toggle it off with env var by @ruben-arts in #604
- Improve UX activation scripts by @ruben-arts in #560
- Add sanity check by @tdejager in #569
- Refactor manifest by @ruben-arts in #572
- Improve search by @Johnwillliam in #578
- Split pypi and conda solve steps by @tdejager in #601
Fixed
- Save file after lockfile is correctly updated by @ruben-arts in #555
- Limit the number of concurrent solves by @baszalmstra in #571
- Use project virtual packages in add command by @msegado in #609
- Improved mapped dependency by @ruben-arts in #574
Documentation
- Change font and make it dark mode by @ruben-arts in #576
- typo: no ps1 in activation scripts by @ruben-arts in #563
- Document adding CUDA to
system-requirements
by @ruben-arts in #595 - Multi env proposal documentation by @ruben-arts in #584
- Fix multiple typos in configuration.md by @SeaOtocinclus in #608
- Add multiple machines from one project example by @pavelzw in #605
New Contributors
- @hadim made their first contribution in #579
- @msegado made their first contribution in #609
- @Johnwillliam made their first contribution in #578
- @SeaOtocinclus made their first contribution in #608
Full Changelog: v0.10.0...v0.11.0
v0.10.0
Highlights
- Better
pypi-dependencies
support, now install even more of the pypi packages. pixi add --pypi
command to add a pypi package to your project.
Details
Added
- Use range (
>=1.2.3, <1.3
) when adding requirement, instead of1.2.3.*
by @baszalmstra in #536 - Update
rip
to fix by @tdejager in #543- Better Bytecode compilation (
.pyc
) support by @baszalmstra - Recognize
.data
directoryheaders
by @baszalmstra
- Better Bytecode compilation (
- Also print arguments given to a pixi task by @ruben-arts in #545
- Add
pixi add --pypi
command by @ruben-arts in #539
Fixed
- space in global install path by @ruben-arts in #513
- Glibc version/family parsing by @baszalmstra in #535
- Use
build
andhost
specs while getting the best version by @ruben-arts in #538
Miscellaneous
- docs: add update manual by @ruben-arts in #521
- add lightgbm demo by @partrita in #492
- Update documentation link by @williamjamir in #525
- Update Community.md by @jiaxiyang in #527
- Add
winget
releaser by @ruben-arts in #547 - Custom
rerun-sdk
example, force driven graph ofpixi.lock
by @ruben-arts in #548 - Better document pypi part by @ruben-arts in #546
New Contributors
- @partrita made their first contribution in #492
- @williamjamir made their first contribution in #525
- @jiaxiyang made their first contribution in #527
Full Changelog: v0.9.1...v0.10.0
v0.9.1
Highlights
- PyPI's
scripts
are now fixed. For example: #516
Details
Fixed
- Remove attr (unused) and update all dependencies by @wolfv in #510
- Remove empty folders on python uninstall by @baszalmstra in #512
- Bump
rip
to add scripts by @baszalmstra in #517
Full Changelog: v0.9.0...v0.9.1
v0.9.0
Highlights
- You can now run
pixi remove
,pixi rm
to remove a package from the environment - Fix
pip install -e
issue that was created by releasev0.8.0
: #507
Details
Added
pixi remove
command by @Wackyator in #483
Fixed
- Install entrypoints for
[pypi-dependencies]
@baszalmstra in #508 - Only uninstall pixi installed packages by @baszalmstra in #509
Full Changelog: v0.8.0...v0.9.0
v0.8.0
Highlights
- ๐๐
[pypi-dependencies]
ALPHA RELEASE๐๐, you can now add PyPI dependencies to your pixi project. - UX of
pixi run
has been improved with better errors and showing what task is run.
Note
[pypi-dependencies]
support is still incomplete, missing functionality is listed here: https://github.com/orgs/prefix-dev/projects/6.
Our intent is not to have 100% feature parity with pip
, our goal is that you only need pixi
for both conda and pypi packages alike.
Details
Added
- Bump
rattler
@ruben-arts in #496 - Implement lock-file satisfiability with
pypi-dependencies
by @baszalmstra in #494 - List pixi tasks when
command not found
is returned by @ruben-arts in #488 - Show which command is run as a pixi task by @ruben-arts in #491 && #493
- Add progress info to conda install by @baszalmstra in #470
- Install pypi dependencies (alpha) by @baszalmstra in #452
Fixed
- Add install scripts to
pixi.sh
by @ruben-arts in #458 && #459 && #460 - Fix
RECORD not found
issue by @baszalmstra in #495 - Actually add to the
.gitignore
and give better errors by @ruben-arts in #490 - Support macOS for
pypi-dependencies
by @baszalmstra in #478 - Custom
pypi-dependencies
type by @ruben-arts in #471 pypi-dependencies
parsing errors by @ruben-arts in #479- Progress issues by @baszalmstra in #4
Miscellaneous
- Example:
ctypes
by @liquidcarbon in #441 - Mention the AUR package by @orhun in #464
- Update
rerun
example by @ruben-arts in #489 - Document
pypi-dependencies
by @ruben-arts in #481 - Ignore docs paths on rust workflow by @ruben-arts in #482
- Fix flaky tests, run serially by @baszalmstra in #477
New Contributors
- @liquidcarbon made their first contribution in #441
- @orhun made their first contribution in #464
Full Changelog: v0.7.0...v0.8.0
v0.7.0
Highlights
- Channel priority:
channels = ["conda-forge", "pytorch"]
All packages found in conda-forge will not be taken from pytorch. - Channel specific dependencies:
pytorch = { version="*", channel="pytorch"}
- Autocompletion on
pixi run <TABTAB>
- Moved all pixi documentation into this repo, try it with
pixi run docs
! - Lots of new contributors!
Details
Added
- Bump rattler to its newest version by @ruben-arts in #395
- Some notable changes:
- Add channel priority (If a package is found in the first listed channel it will not be looked for in the other channels).
- Fix JLAP using wrong hash.
- Lockfile forward compatibility error.
- Some notable changes:
- Add nushell support by @wolfv in #360
- Autocomplete tasks on
pixi run
forbash
andzsh
by @ruben-arts in #390 - Add prefix location file to avoid copy error by @ruben-arts in #422
- Channel specific dependencies
python = { version = "*" channel="conda-forge" }
by @ruben-arts in #439
Changed
project.version
as optional field in thepixi.toml
by @ruben-arts in #400
Fixed
- Deny unknown fields in
pixi.toml
to help users find errors by @ruben-arts in #396 install.sh
to create dot file if not present by @humphd in #408- Ensure order of repodata fetches by @baszalmstra in #405
- Strip Linux binaries by @baszalmstra in #414
- Sort
task list
by @ruben-arts in #431 - Fix
global install
path on windows by @ruben-arts in #449 - Let
PIXI_BIN_PATH
use backslashes by @Hofer-Julian in #442 - Print more informative error if created file is empty by @traversaro in #447
Docs
- Move to
mkdocs
with all documentation by @ruben-arts in #435 - Fix typing errors by @FarukhS52 in #426
- Add social cards to the pages by @ruben-arts in #445
- Enhance README.md: Added Table of Contents, Grammar Improvements by @adarsh-jha-dev in #421
- Adding conda-auth to community examples by @travishathaway in #433
- Minor grammar correction by @tylere in #406
- Make capitalization of tab titles consistent by @tylere in #407
New Contributors
- @tylere made their first contribution in #406
- @humphd made their first contribution in #408
- @adarsh-jha-dev made their first contribution in #421
- @FarukhS52 made their first contribution in #426
- @travishathaway made their first contribution in #433
- @traversaro made their first contribution in #447
Full Changelog: v0.6.0...v0.7.0
v0.6.0
Highlights
This release fixes some bugs and adds the --cwd
option to the tasks.
Details
Fixed
- Improve shell prompts by @ruben-arts in #385 #388
- Change
--frozen
logic to error when there is no lockfile by @ruben-arts in #373 - Don't remove the '.11' from 'python3.11' binary file name by @ruben-arts in #366
Changed
- Update
rerun
example to v0.9.1 by @ruben-arts in #389
Added
- Add the current working directory (
--cwd
) inpixi tasks
by @ruben-arts in #380
Full Changelog: v0.5.0...v0.6.0