Releases: prefix-dev/pixi
Releases Β· prefix-dev/pixi
v0.25.0 - 2024-07-05
β¨ Highlights
pixi exec
command, execute commands in temporary environments, useful for testing in short-lived sessions.- We've bumped the default system-requirements to higher defaults: glibc (2.17 -> 2.28), osx64 (10.15 -> 13.0), osx-arm64 (11.0 -> 13.0). Let us know if this causes any issues. To keep the previous values please use a
system-requirements
table, this is explained here
π Details
Changed
- Bump system requirements by @wolfv in #1553
- Better error when exec is missing a cmd by @tdejager in #1565
- Make exec use authenticated client by @tdejager in #1568
Documentation
- Automatic updating using github actions by @pavelzw in #1456
- Describe the --change-ps1 option for pixi shell by @Yura52 in #1536
- Add some other quantco repos by @pavelzw in #1542
- Add example using
geos-rs
by @Hofer-Julian in #1563
Fixed
- Tiny error in basic_usage.md by @Sjouks in #1513
- Lazy initialize client by @baszalmstra in #1511
- URL typos in rtd examples by @kklein in #1538
- Fix satisfiability for short sha hashes by @tdejager in #1530
- Wrong path passed to dynamic check by @tdejager in #1552
- Don't error if no tasks is available on platform by @hoxbro in #1550
Refactor
- Add to use update code by @baszalmstra in #1508
New Contributors
v0.24.2 - 2024-06-14
v0.24.1 - 2024-06-12
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