Releases: prefix-dev/pixi
v0.24.0 - 2024-06-12
β¨ Highlights
- You can now run in a more isolated environment on
unix
machines, usingpixi run --clean-env TASK_NAME
. - You can new easily clean your environment with
pixi clean
or the cache withpixi clean cache
π Details
Added
- Add
pixi clean
command by @ruben-arts in #1325 - Add
--clean-env
flag to tasks and run command by @ruben-arts in #1395 - Add
description
field totask
by @jjjermiah in #1479 - Add pixi file to the environment to add pixi specific details by @ruben-arts in #1495
Changed
- Project environment cli by @baszalmstra in #1433
- Update task list console output by @vigneshmanick in #1443
- Upgrade uv by @tdejager in #1436
- Sort packages in
list_global_packages
by @dhirschfeld in #1458 - Added test for special chars wheel filename by @tdejager in #1454
Documentation
- Improve multi env tasks documentation by @ruben-arts in #1494
Fixed
- Use the activated environment when running a task by @tdejager in #1461
- Fix authentication pypi-deps for download from lockfile by @tdejager in #1460
- Display channels correctly in
pixi info
by @ruben-arts in #1459 - Render help for
--frozen
by @ruben-arts in #1468 - Don't record purl for non conda-forge channels by @nichmor in #1451
- Use best_platform to verify the run platform by @ruben-arts in #1472
- Creation of parent dir of symlink by @ruben-arts in #1483
pixi install --all
output missing newline by @vigneshmanick in #1487- Don't error on already existing dependency by @ruben-arts in #1449
- Remove debug true in release by @ruben-arts in #1477
New Contributors
- @dhirschfeld made their first contribution in #1458
v0.23.0 - 2024-05-13
β¨ Highlights
- This release adds two new commands
pixi config
andpixi update
pixi config
allows you toedit
,set
,unset
,append
,prepend
andlist
your local/global or system configuration.pixi update
re-solves the full lockfile or usepixi update PACKAGE
to only updatePACKAGE
, making sure your project is using the latest versions that the manifest allows for.
π Details
Added
- Add
pixi config
command by @chawyehsu in #1339 - Add
pixi list --explicit
flag command by @jjjermiah in #1403 - Add
[activation.env]
table for environment variables by @ruben-arts in #1156 - Allow installing multiple envs, including
--all
at once by @tdejager in #1413 - Add
pixi update
command to re-solve the lockfile by @baszalmstra in #1431 (fixes 20 π) - Add
detached-environments
to the config, move environments outside the project folder by @ruben-arts in #1381 (fixes 11 π)
Changed
- Use the gateway to fetch repodata by @baszalmstra in #1307
- Switch to compressed mapping by @nichmor in #1335
- Warn on pypi conda clobbering by @nichmor in #1353
- Align
remove
arguments withadd
by @olivier-lacroix in #1406 - Add backward compat logic for older lock files by @nichmor in #1425
Documentation
- Fix small screen by removing getting started section. by @ruben-arts in #1393
- Improve caching docs by @ruben-arts in #1422
- Add example, python library using gcp upload by @tdejager in #1380
- Correct typos with
--no-lockfile-update
. by @tobiasraabe in #1396
Fixed
- Trim channel url when filter packages_for_prefix_mapping by @zen-xu in #1391
- Use the right channels when upgrading global packages by @olivier-lacroix in #1326
- Fish prompt display looks wrong in tide by @tfriedel in #1424
- Use local mapping instead of remote by @nichmor in #1430
Refactor
- Remove unused fetch_sparse_repodata by @olivier-lacroix in #1411
- Remove project level method that are per environment by @olivier-lacroix in #1412
- Update lockfile functionality for reusability by @baszalmstra in #1426
New Contributors
- @tfriedel made their first contribution in #1424
- @jjjermiah made their first contribution in #1403
- @tobiasraabe made their first contribution in #1396
v0.22.0 -2024-05-13
[0.22.0] - 2024-05-13
β¨ Highlights
- Support for source pypi dependencies through the cli:
pixi add --pypi 'package @ package.whl'
, perfect for adding just build wheels to your environment in CI.pixi add --pypi 'package_from_git @ git+https://github.com/org/package.git'
, to add a package from a git repository.pixi add --pypi 'package_from_source @ file:///path/to/source/package' --editable
, to add a package from a local path.
π Details
Added
Documentation
- Update
install
cli doc by @vigneshmanick in #1336 - Replace empty default example with no-default-feature by @beenje in #1352
- Document the add & remove cli behaviour with pyproject.toml manifest by @olivier-lacroix in #1338
- Add environment activation to GitHub actions docs by @pavelzw in #1371
- Clarify in CLI that run can also take commands by @twrightsman in #1368
Fixed
- Automated update of install script in pixi.sh by @ruben-arts in #1351
- Wrong description on
pixi project help
by @notPlancha in #1358 - Don't need a python interpreter when not having
pypi
dependencies. by @ruben-arts in #1366 - Don't error on not editable not path by @ruben-arts in #1365
- Align shell-hook cli with shell by @ruben-arts in #1364
- Only write prefix file if needed by @ruben-arts in #1363
Refactor
- Lock-file resolve functionality in separated modules by @tdejager in #1337
- Use generic for RepoDataRecordsByName and PypiRecordsByName by @olivier-lacroix in #1341
New Contributors
- @twrightsman made their first contribution in #1368
- @notPlancha made their first contribution in #1358
- @vigneshmanick made their first contribution in #1336
v0.21.1 - 2024-05-07
π Details
Fixed
- Use read timeout, not global timeout by @wolfv in #1329
- Channel priority logic by @ruben-arts in #1332
v0.21.0 - 06-05-2024
β¨ Highlights
- This release adds support for configuring PyPI settings globally, to use alternative PyPI indexes and load credentials with keyring.
- We now support cross-platform running, for
osx-64
onosx-arm64
andwasm
environments. - There is now a
no-default-feature
option to simplify usage of environments.
π Details
Added
- Add pypi config for global local config file + keyring support by @wolfv in #1279
- Allow for cross-platform running, for
osx-64
onosx-arm64
andwasm
environments by @wolfv in #1020
Changed
- Add
no-default-feature
option to environments by @olivier-lacroix in #1092 - Add
/etc/pixi/config.toml
to global configuration search paths by @pavelzw in #1304 - Change global config fields to kebab-case by @tdejager in #1308
- Show all available task with
task list
by @hoxbro in #1286 - Allow to emit activation environment variables as JSON by @borchero in #1317
- Use locked pypi packages as preferences in the pypi solve to get minimally updating lock files by @ruben-arts in #1320
- Allow to upgrade several global packages at once by @olivier-lacroix in #1324
Documentation
- Typo in tutorials python by @carschandler in #1297
- Python Tutorial: Dependencies, PyPI, Order, Grammar by @JesperDramsch in #1313
Fixed
- Schema version and add it to tbump by @ruben-arts in #1284
- Make integration test fail in ci and fix ssh issue by @ruben-arts in #1301
- Automate adding install scripts to the docs by @ruben-arts in #1302
- Do not always request for prefix mapping by @nichmor in #1300
- Align CLI aliases and add missing by @ruben-arts in #1316
- Alias
depends_on
todepends-on
by @ruben-arts in #1310 - Add error if channel or platform doesn't exist on remove by @ruben-arts in #1315
- Allow spec in
pixi q
instead of only name by @ruben-arts in #1314 - Remove dependency on sysroot for linux by @ruben-arts in #1319
- Fix linking symlink issue, by updating to the latest
rattler
by @baszalmstra in #1327
Refactor
- Use IndexSet instead of Vec for collections of unique elements by @olivier-lacroix in #1289
- Use generics over PyPiDependencies and CondaDependencies by @olivier-lacroix in #1303
New Contributors
- @borchero made their first contribution in #1317
- @JesperDramsch made their first contribution in #1313
- @hoxbro made their first contribution in #1286
- @carschandler made their first contribution in #1297
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