Releases: prefix-dev/pixi
v0.20.1 - 2024-04-26
✨ Highlights
- Big improvements on the pypi-editable installs.
📃 Details
Fixed
- Editable non-satisfiable by @baszalmstra in #1251
- Satisfiability with pypi extras by @baszalmstra in #1253
- Change global install activation script permission from 0o744 -> 0o755 by @zen-xu in #1250
- Avoid creating Empty TOML tables by @olivier-lacroix in #1270
- Uses the special-case uv path handling for both built and source by @tdejager in #1263
- Modify test before attempting to write to .bash_profile in install.sh by @bruchim-cisco in #1267
- Parse properly 'default' as environment Cli argument by @olivier-lacroix in #1247
- Apply
schema.json
normalization, add to docs by @bollwyvl in #1265 - Improve absolute path satisfiability by @tdejager in #1252
- Improve parse deno error and make task a required field in the cli by @ruben-arts in #1260
New Contributors
v0.20.0 - 2024-04-19
✨ Highlights
- We now support
env
variables in thetask
definition, these can also be used as default values for parameters in your task which you can overwrite with your shell's env variables.
e.g.task = { cmd = "task to run", env = { VAR="value1", PATH="my/path:$PATH" } }
- We made a big effort on fixing issues and improving documentation!
📃 Details
Added
Changed
- Add
--pyproject
option topixi init
with a pyproject.toml by @olivier-lacroix in #1188 - Upgrade to new uv version 0.1.32 by @tdejager in #1208
Documentation
-
Document
pixi.lock
by @ruben-arts in #1209 -
Document channel
priority
definition by @ruben-arts in #1234 -
Add rust tutorial including openssl example by @ruben-arts in #1155
-
Add JupyterLab integration docs by @renan-r-santos in #1147
-
Add Windows support for PyCharm integration by @pavelzw in #1192
-
Update pypi docs by @Hofer-Julian in #1215
-
Fix order of
--no-deps
when pip installing in editable mode by @glemaitre in #1220 -
Fix frozen documentation by @ruben-arts in #1167
Fixed
- Small typo in list cli by @tdejager in #1169
- Issue with invalid solve group by @baszalmstra in #1190
- Improve error on parsing lockfile by @ruben-arts in #1180
- Replace
_
with-
when creating environments from features by @wolfv in #1203 - Prevent duplicate direct dependencies in tree by @abkfenris in #1184
- Use project root directory instead of task.working_directory for base dir when hashing by @wolfv in #1202
- Do not leak env vars from bat scripts in cmd.exe by @wolfv in #1205
- Make file globbing behave more as expected by @wolfv in #1204
- Fix for using file::// in pyproject.toml dependencies by @tdejager in #1196
- Improve pypi version conversion in pyproject.toml dependencies by @wolfv in #1201
- Update to the latest rattler by @wolfv in #1235
BREAKING
task = { cmd = "task to run", cwd = "folder", inputs = "input.txt", output = "output.txt"}
Whereinput.txt
andoutput.txt
where previously infolder
they are now relative the project root. This changed in: #1202task = { cmd = "task to run", inputs = "input.txt"}
previously searched for allinput.txt
files now only for the ones in the project root. This changed in: #1204
New Contributors
- @glemaitre made their first contribution in #1220
v0.19.1 - 2024-04-11
✨ Highlights
This fixes the issue where pixi would generate broken environments/lockfiles when a mapping for a brand-new version of a package is missing.
📃 Details
v0.19.0 - 2024-04-10
This release has an issue which is improved in v0.19.1
, please update to that!
The improved conda-pypi
mapping we've added can be out of date with conda-forge
resulting in downloading both pypi and conda packages for the latest releases of some of the packages. We're looking into a proper fix. For now we made v0.18.0
the latest
release in GitHub to avoid issues for new users.
✨ Highlights
- This release adds a new
pixi tree
command to show the dependency tree of the project. - Pixi now persists the manifest and environment when activating a shell, so you can use pixi as if you are in that folder while in the shell.
📃 Details
Added
pixi tree
command to show dependency tree by @abkfenris in #1069- Persistent shell manifests by @abkfenris in #1080
- Add to pypi in feature (
pixi add --feature test --pypi package
) by @ruben-arts in #1135 - Use new mapping by @nichmor in #888
--no-progress
to disable all progress bars by @baszalmstra in #1105- Create a table if channel is specified (
pixi add conda-forge::rattler-build
) by @baszalmstra in #1079
Changed
- Add the project itself as an editable dependency by @olivier-lacroix in #1084
- Get
tool.pixi.project.name
fromproject.name
by @olivier-lacroix in #1112 - Create
features
andenvironments
from extras by @olivier-lacroix in #1077 - Pypi supports come out of Beta by @olivier-lacroix in #1120
- Enable to force
PIXI_ARCH
for pixi installation by @beenje in #1129 - Improve tool.pixi.project detection logic by @olivier-lacroix in #1127
- Add purls for packages if adding pypi dependencies by @nichmor in #1148
- Add env name if not default to
tree
andlist
commands by @ruben-arts in #1145
Documentation
- Add MODFLOW 6 to community docs by @Hofer-Julian in #1125
- Addition of ros2 tutorial by @ruben-arts in #1116
- Improve install script docs by @ruben-arts in #1136
- More structured table of content by @tdejager in #1142
Fixed
- Amend syntax in
conda-meta/history
to preventconda.history.History.parse()
error by @jaimergp in #1117 - Fix docker example and include
pyproject.toml
by @tdejager in #1121
New Contributors
v0.18.0 - 2024-04-02
✨ Highlights
- This release adds support for
pyproject.toml
, now pixi reads from the[tool.pixi]
table. - We now support editable PyPI dependencies, and PyPI source dependencies, including
git
,path
, andurl
dependencies.
Tip
These new features are part of the ongoing effort to make pixi more flexible, powerful, and comfortable for the python users.
They are still in progress so expect more improvements on these features soon, so please report any issues you encounter and follow our next releases!
📃 Details
Added
- Support for
pyproject.toml
by @olivier-lacroix in #999 - Support for PyPI source dependencies by @tdejager in #985
- Support for editable PyPI dependencies by @tdejager in #1044
- Build pixi for windows arm by @baszalmstra in #1053
Changed
XDG_CONFIG_HOME
andXDG_CACHE_HOME
compliance by @chawyehsu in #1050- Build pixi for windows arm by @baszalmstra in #1053
- Platform literals by @baszalmstra in #1054
- Fixed error in auth example (CLI docs) by @ytausch in #1076
Documentation
- Add lockfile update description in preparation for pixi update by @ruben-arts in #1073
zsh
may be used for installation on macOS by @pya in #1091- Fix typo in
pixi auth
documentation by @ytausch in #1076
Fixed
- Test failure on riscv64 by @hack3ric in #1045
- Validation test was testing on a wrong pixi.toml by @ruben-arts in #1056
- Pixi list shows path and editable by @baszalmstra in #1100
- Docs ci by @ruben-arts in #1074
- Add error for unsupported pypi dependencies by @baszalmstra in #1052
- Interactively delete environment when it was relocated by @baszalmstra in #1102
- Allow solving for different platforms by @baszalmstra in #1101
- Don't allow extra keys in pypi requirements by @baszalmstra in #1104
- Solve when moving dependency from conda to pypi by @baszalmstra in #1099
New Contributors
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