Releases: prefix-dev/pixi
v0.15.1
[0.15.1] - 2024-02-26
📃 Details
Added
- Add prefix to project info json output by @baszalmstra in #859
Changed
- New
pixi global list
display format by @chawyehsu in #723 - Add direnv usage by @pavelzw in #845
- Add docker example by @pavelzw in #846
- Install/remove multiple packages globally by @chawyehsu in #854
Fixed
- Prefix file in
init --import
by @ruben-arts in #855 - Environment and feature names in pixi info --json by @baszalmstra in #857
Full Changelog: v0.15.0...v0.15.1
v0.15.0
✨ Highlights
[pypi-dependencies]
now get build in the created environment so it uses the conda installed build tools.pixi init --import env.yml
to import an existing conda environment file.[target.unix.dependencies]
to specify dependencies for unix systems instead of per platform.
Warning
This versions build failed, use v0.15.1
📃 Details
Added
- pass environment variables during pypi resolution and install (#818)
- skip micromamba style selector lines and warn about them (#830)
- add import yml flag (#792)
- check duplicate dependencies (#717)
- (ci) check conventional PR title (#820)
- add
--feature
topixi add
(#803) - add windows, macos, linux and unix to targets (#832)
Fixed
- cache and retry pypi name mapping (#839)
- check duplicates while adding dependencies (#829)
- logic
PIXI_NO_PATH_UPDATE
variable (#822)
Other
v0.14.0
✨ Highlights
We now support solve-groups
in the environments.
This makes it easy to align dependencies between environments without needing to install them all at once.
This is especially useful when you have a test
and a production
environment, and you want to make sure that the dependencies are the same.
[environments]
test = { features = ["prod", "test"], solve-groups = ["group1"] }
prod = { features = ["prod"], solve-groups = ["group1"] }
📃 Details
Added
- Add index field to pypi requirements by @vlad-ivanov-name in #784
- Add
-f
/--feature
to thepixi project platform
command by @ruben-arts in #785 - Warn user when unused features are defined by @ruben-arts in #762
- Disambiguate tasks interactive by @baszalmstra in #766
- Solve groups for conda by @baszalmstra in #783
- Pypi solve groups by @baszalmstra in #802
- Enable reflinks by @baszalmstra in #729
Changed
- Add environment name to the progress by @ruben-arts in #788
- Set color scheme by @ruben-arts in #773
- Update lock on
pixi list
by @ruben-arts in #775 - Use default env if task available in it. by @ruben-arts in #772
- Color environment name in install step by @ruben-arts in #795
Fixed
- Running cuda env and using those tasks. by @ruben-arts in #764
- Check for correct platform in task env creation by @ruben-arts in #759
- Remove using source name by @ruben-arts in #765
- Auto-guessing of the shell in the
shell-hook
by @ruben-arts in #811 sdist
with direct references by @nichmor in #813
Miscellaneous
- Add slim-trees to community projects by @pavelzw in #760
- Add test to default env in polarify example
- Add multiple machine example by @ruben-arts in #757
- Add more documentation on
environments
by @ruben-arts in #790 - Update rip and rattler by @wolfv in #798
- Rattler 0.18.0 by @baszalmstra in #805
- Rip 0.8.0 by @nichmor in #806
- Fix authentication path by @pavelzw in #796
- Initial addition of integration test by @ruben-arts in #804
New Contributors
- @vlad-ivanov-name made their first contribution in #784
- @nichmor made their first contribution in #806
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