@@ -18,7 +18,7 @@ the `conda/mamba` setup and refer to the comment related to `arm64`
18
18
architectures.
19
19
:::
20
20
21
- ## Conda/Mamba
21
+ ## Conda/Mamba/Pixi
22
22
23
23
### Support matrix [ ^ conda-callout ]
24
24
@@ -45,6 +45,10 @@ managers = {
45
45
"name": "Mamba",
46
46
"url": "https://github.com/mamba-org/mamba",
47
47
},
48
+ "pixi": {
49
+ "name": "Pixi",
50
+ "url": "https://pixi.sh/latest/",
51
+ },
48
52
}
49
53
50
54
for manager, params in managers.items():
@@ -58,7 +62,10 @@ for manager, params in managers.items():
58
62
print(f"1. Install `gh`")
59
63
print()
60
64
print(" ```sh")
61
- print(f" {manager} install -c conda-forge gh")
65
+ if manager == "conda" or manager == "mamba":
66
+ print(f" {manager} install -c conda-forge gh")
67
+ elif manager == "pixi":
68
+ print(f" {manager} global install gh")
62
69
print(" ```")
63
70
print()
64
71
print(f"1. Fork and clone the ibis repository:")
@@ -67,37 +74,48 @@ for manager, params in managers.items():
67
74
print(" gh repo fork --clone --remote ibis-project/ibis")
68
75
print(" ```")
69
76
print()
70
- print(f"1. Create a Conda environment using `environment.yml`")
77
+ print(f"1. Create a {name} environment using `environment.yml`")
71
78
print()
72
79
print(" ```sh")
73
80
print(" cd ibis")
74
- print(f" {manager} env create --file conda/environment.yml")
81
+ if manager == "conda" or manager == "mamba":
82
+ print(f" {manager} env create --file conda/environment.yml")
83
+ elif manager == "pixi":
84
+ print(f" {manager} init --import conda/environment.yml")
75
85
print(" ```")
76
86
print()
77
- if manager == "conda" or manager == "mamba":
78
- print()
79
- print(
80
- " If you're using arm64 architecture (Mac M1/M2), use "
81
- "`conda/environment-arm64.yml` for setting up a dev environment for all the "
82
- "backends that are possible to install excluding Flink; use "
83
- "`conda/environment-arm64-flink.yml` for setting up a dev environment for all "
84
- "the backends that are possible to install including Flink. The reason to have "
85
- "two separate environments is because `apache-flink` forces `pyarrow` to "
86
- "downgrade to 11.0, which causes conflicts in other backends."
87
- )
87
+ print(
88
+ " If you're using arm64 architecture (Mac M1/M2), use "
89
+ "`conda/environment-arm64.yml` for setting up a dev environment for all the "
90
+ "backends that are possible to install excluding Flink; use "
91
+ "`conda/environment-arm64-flink.yml` for setting up a dev environment for all "
92
+ "the backends that are possible to install including Flink. The reason to have "
93
+ "two separate environments is because `apache-flink` forces `pyarrow` to "
94
+ "downgrade to 11.0, which causes conflicts in other backends."
95
+ )
96
+ print()
97
+ if manager == "pixi":
98
+ print(" ::: {.callout-note}")
99
+ print(" This command will initialize a `pixi.toml` file and also modify ")
100
+ print(" the `.gitignore` to prevent Pixi configuration from being added to ")
101
+ print(" `git`.")
102
+ print(" :::")
88
103
print()
89
104
print(f"1. Activate the environment")
90
105
print()
91
106
print(" ```sh")
92
- print(f" {manager} activate ibis-dev")
107
+ if manager == "conda" or manager == "mamba":
108
+ print(f" {manager} activate ibis-dev")
109
+ elif manager == "pixi":
110
+ print(f" {manager} shell")
93
111
print(" ```")
94
112
print()
95
113
print(
96
114
f"1. Install your local copy of `ibis` into the {manager.capitalize()} environment"
97
115
)
98
116
print()
99
117
print(" ```sh")
100
- print(" pip install -e .")
118
+ print(" uv pip install -e .")
101
119
print(" ```")
102
120
print()
103
121
```
0 commit comments