Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Add detached-environments to the config, so users can move the environments out of the project folder. #1381

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
6f305a2
misc: add name to info
ruben-arts May 13, 2024
77f5984
feat: add target-environments-dir
ruben-arts May 13, 2024
8e88411
fix: tests
ruben-arts May 14, 2024
14aef42
test: extended the tests with an installation in a target folder
ruben-arts May 14, 2024
6e74e9a
docs: document the new config option and refactor the whole config do…
ruben-arts May 14, 2024
350151b
test: fix for windows
ruben-arts May 14, 2024
38a1d1a
Merge branch 'main' into feature/target_environments_dir
ruben-arts May 14, 2024
2f19e71
misc: Add more warnings for the user
ruben-arts May 14, 2024
6f68a9c
feat: add symlink if possible/needed
ruben-arts May 14, 2024
0db24ea
fix: windows build
ruben-arts May 14, 2024
20cb5e7
fix: compile on win
ruben-arts May 14, 2024
db67310
Merge branch 'main' into feature/target_environments_dir
ruben-arts May 14, 2024
d5ca37b
fix: docs build
ruben-arts May 14, 2024
4d3a260
fix: test on win
ruben-arts May 15, 2024
ee87067
misc: dbg ci
ruben-arts May 15, 2024
5dfc35e
fix: test on win, canonicalize path
ruben-arts May 15, 2024
6029526
Update tests/install_tests.rs
ruben-arts May 15, 2024
88c02d0
Update tests/install_tests.rs
ruben-arts May 15, 2024
2ea5f14
docs: clearify the environments affected by target env dir
ruben-arts May 16, 2024
cca6ac0
Update docs/reference/pixi_configuration.md
ruben-arts May 16, 2024
4dec0e9
Update docs/reference/pixi_configuration.md
ruben-arts May 16, 2024
0dafb10
Update src/config.rs
ruben-arts May 16, 2024
3a0ccb6
Update docs/reference/pixi_configuration.md
ruben-arts May 16, 2024
4a2fa40
Update docs/reference/pixi_configuration.md
ruben-arts May 16, 2024
5a83bb0
misc: cleanup and improve code
ruben-arts May 16, 2024
35301fe
feat: write warning file to windows machines instead of the symlink
ruben-arts May 16, 2024
64a9d7c
misc: improve ux on target dir feature for windows
ruben-arts May 16, 2024
fc12286
fix: unix side of the warning system for symlinking
ruben-arts May 16, 2024
1470500
Merge branch 'main' into feature/target_environments_dir
ruben-arts May 22, 2024
994c979
fix: show warning on unknown field
ruben-arts May 22, 2024
9f634c0
docs: fix build
ruben-arts May 22, 2024
038867a
misc: fix docstrings
ruben-arts May 22, 2024
7b6ec35
wip: renaming to detached-environments
ruben-arts May 23, 2024
3b1d097
misc: cleanup and add tests
ruben-arts May 23, 2024
d13e978
fix: tests
ruben-arts May 24, 2024
ebeec73
fix: also move solve groups
ruben-arts May 24, 2024
c53b713
docs: update documentation
ruben-arts May 24, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
10 changes: 10 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,7 @@ reqwest-retry = "0.5.0"
self-replace = "1.3.7"
serde = "1.0.198"
serde-untagged = "0.1.5"
serde_ignored = "0.1.10"
serde_json = "1.0.116"
serde_with = { version = "3.7.0", features = ["indexmap"] }
serde_yaml = "0.9.34"
Expand Down
6 changes: 3 additions & 3 deletions docs/advanced/authentication.md
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ The JSON should follow the following format:

Note: if you use a wildcard in the host, any subdomain will match (e.g. `*.prefix.dev` also matches `repo.prefix.dev`).

Lastly you can set the authentication override file in the [global configuration file](./global_configuration.md).
Lastly you can set the authentication override file in the [global configuration file](./../reference/pixi_configuration.md).

## PyPI authentication
Currently, we support the following methods for authenticating against PyPI:
Expand All @@ -122,7 +122,7 @@ To enable this use the CLI flag `--pypi-keyring-provider` which can either be se
pixi install --pypi-keyring-provider subprocess
```

This option can also be set in the global configuration file under [pypi-config](./global_configuration.md#pypi-configuration).
This option can also be set in the global configuration file under [pypi-config](./../reference/pixi_configuration.md#pypi-configuration).

#### Installing keyring
To install keyring you can use pixi global install:
Expand Down Expand Up @@ -191,7 +191,7 @@ gcloud artifacts print-settings python --project=<project> --repository=<reposit
```

#### Installing your environment
To actually install either configure your [Global Config](./global_configuration.md#pypi-configuration), or use the flag:
To actually install either configure your [Global Config](../reference/pixi_configuration.md#pypi-config), or use the flag:
```shell
pixi install --pypi-keyring-provider subprocess
```
Expand Down
4 changes: 2 additions & 2 deletions docs/advanced/explain_info_command.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,11 +83,11 @@ The size of the previously mentioned "Cache dir" in Mebibytes.
## Project info

Everything below `Project` is info about the project you're currently in.
This info is only available if your path has a [manifest file](../reference/configuration.md).
This info is only available if your path has a [manifest file](../reference/project_configuration.md).

### Manifest file

The path to the [manifest file](../reference/configuration.md) that describes the project.
The path to the [manifest file](../reference/project_configuration.md) that describes the project.

### Last updated

Expand Down
155 changes: 0 additions & 155 deletions docs/advanced/global_configuration.md

This file was deleted.

2 changes: 1 addition & 1 deletion docs/advanced/pyproject_toml.md
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ As pixi takes the conda dependencies over the pypi dependencies.

## Optional dependencies

If your python project includes groups of optional dependencies, pixi will automatically interpret them as [pixi features](../reference/configuration.md#the-feature-table) of the same name with the associated `pypi-dependencies`.
If your python project includes groups of optional dependencies, pixi will automatically interpret them as [pixi features](../reference/project_configuration.md#the-feature-table) of the same name with the associated `pypi-dependencies`.

You can add them to pixi environments manually, or use `pixi init` to setup the project, which will create one environment per feature. Self-references to other groups of optional dependencies are also handled.

Expand Down
2 changes: 1 addition & 1 deletion docs/features/advanced_tasks.md
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ To add a task to run the `bar.py` file, use:
pixi task add bar "python bar.py" --cwd scripts
```

This will add the following line to [manifest file](../reference/configuration.md):
This will add the following line to [manifest file](../reference/project_configuration.md):

```toml title="pixi.toml"
[tasks]
Expand Down
4 changes: 2 additions & 2 deletions docs/features/lockfile.md
Original file line number Diff line number Diff line change
Expand Up @@ -104,8 +104,8 @@ Running the following commands will check and automatically update the lock file

All the commands that support the interaction with the lock file also include some lock file usage options:

- `--frozen`: install the environment as defined in the lock file, doesn't update `pixi.lock` if it isn't up-to-date with [manifest file](../reference/configuration.md). It can also be controlled by the `PIXI_FROZEN` environment variable (example: `PIXI_FROZEN=true`).
- `--locked`: only install if the `pixi.lock` is up-to-date with the [manifest file](../reference/configuration.md)[^1]. It can also be controlled by the `PIXI_LOCKED` environment variable (example: `PIXI_LOCKED=true`). Conflicts with `--frozen`.
- `--frozen`: install the environment as defined in the lock file, doesn't update `pixi.lock` if it isn't up-to-date with [manifest file](../reference/project_configuration.md). It can also be controlled by the `PIXI_FROZEN` environment variable (example: `PIXI_FROZEN=true`).
- `--locked`: only install if the `pixi.lock` is up-to-date with the [manifest file](../reference/project_configuration.md)[^1]. It can also be controlled by the `PIXI_LOCKED` environment variable (example: `PIXI_LOCKED=true`). Conflicts with `--frozen`.

!!! Note "Syncing the lock file with the manifest file"
The lock file is always matched with the whole configuration in the manifest file.
Expand Down