Releases: prefix-dev/pixi
v0.17.1 - 2024-03-21
β¨ Highlights
A quick bug-fix release for pixi list
.
π Details
Documentation
Fixed
- Remove the need for a python interpreter in
pixi list
by @baszalmstra in #1033
v0.17.0
β¨ Highlights
- This release greatly improves
pixi global
commands, thanks to @chawyehsu! - We now support global (or local) configuration for pixi's own behavior, including mirrors, and OCI registries.
- We support channel mirrors for corporate environments!
- Faster
task
execution thanks to caching π Tasks that already executed successfully can be skipped based on the hash of theinputs
andoutputs
. - PyCharm and GitHub Actions integration thanks to @pavelzw β read more about it in the docs!
π Details
Added
- Add citation file by @ruben-arts in #908
- Add a pixi badge by @ruben-arts in #961
- Add deserialization of pypi source dependencies from toml by @ruben-arts and @wolfv in #895 #984
- Implement mirror and OCI settings by @wolfv in #988
- Implement
inputs
andoutputs
hash based task skipping by @wolfv in #933
Changed
- Refined global upgrade commands by @chawyehsu in #948
- Global upgrade supports matchspec by @chawyehsu in #962
- Improve
pixi search
with platform selection and making limit optional by @wolfv in #979 - Implement global config options by @wolfv in #960 #1015 #1019
- Update auth to use rattler cli by @kassoulait by @ruben-arts in #986
Documentation
- Remove cache: true from setup-pixi by @pavelzw in #950
- Add GitHub Actions documentation by @pavelzw in #955
- Add PyCharm documentation by @pavelzw in #974
- Mention
watch_file
in direnv usage by @pavelzw in #983 - Add tip to help users when no PROFILE file exists by @ruben-arts in #991
- Move yaml comments into mkdocs annotations by @pavelzw in #1003
- Fix --env and extend actions examples by @ruben-arts in #1005
- Add Wflow to projects built with pixi by @Hofer-Julian in #1006
- Removed
linenums
to avoid buggy visualization by @ruben-arts in #1002 - Fix typos by @pavelzw in #1016
Fixed
- Pypi dependencies not being removed by @tdejager in #952
- Permissions for lint pr by @ruben-arts in #852
- Install Windows executable with
install.sh
in Git Bash by @jdblischak in #966 - Proper scanning of the conda-meta folder for
json
entries by @wolfv in #971 - Global shim scripts for Windows by @wolfv in #975
- Correct fish prompt by @wolfv in #981
- Prefix_file rename by @ruben-arts in #959
- Conda transitive dependencies of pypi packages are properly extracted by @baszalmstra in #967
- Make tests more deterministic and use single * for glob expansion by @wolfv in #987
- Create conda-meta/history file by @pavelzw in #995
- Pypi dependency parsing was too lenient by @wolfv in #984
- Add reactivation of the environment in pixi shell by @wolfv in #982
- Add
tool
to strict json schema by @ruben-arts in #969
New Contributors
- @jdblischak made their first contribution in #966
- @kassoulait made their first contribution in #986
v0.16.1
π Details
Fixed
- Parse lockfile matchspecs lenient, fixing bug introduced in
0.16.0
by @ruben-arts in #951
v0.16.0
β¨ Highlights
π Details
Added
- Add tcsh install support by @obust in #898
- Add user agent to pixi http client by @baszalmstra in #892
- Add a schema for the pixi.toml by @ruben-arts in #936
Changed
- Switch from rip to uv by @tdejager in #863
- Move uv options into context by @tdejager in #911
- Add Deltares projects to Community.md by @Hofer-Julian in #920
- Upgrade to uv 0.1.16, updated for changes in the API by @tdejager in #935
Fixed
- Made the uv re-install logic a bit more clear by @tdejager in #894
- Avoid duplicate pip dependency while importing environment.yaml by @sumanth-manchala in #890
- Handle custom channels when importing from env yaml by @sumanth-manchala in #901
- Pip editable installs getting uninstalled by @renan-r-santos in #902
- Highlight pypi deps in pixi list by @sumanth-manchala in #907
- Default to the default environment if possible by @ruben-arts in #921
- Switching channels by @baszalmstra in #923
- Use correct name of the channel on adding by @ruben-arts in #928
- Turn back on jlap for faster repodata fetching by @ruben-arts in #937
- Remove dists site-packages's when python interpreter changes by @tdejager in #896
New Contributors
- @obust made their first contribution in #898
- @renan-r-santos made their first contribution in #902
v0.15.2
π Details
Changed
- Add more info to a failure of activation by @ruben-arts in #873
Fixed
- Improve global list UX when there is no global env dir created by @sumanth-manchala in #865
- Update rattler to
v0.19.0
by @AliPiccioniQC in #885 - Error on
pixi run
if platform is not supported by @ruben-arts in #878
New Contributors
- @sumanth-manchala made their first contribution in #865
- @AliPiccioniQC made their first contribution in #885
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