Skip to content

Commit cbbbba8

Browse files
committed
docs(contribute): include instructures to use Pixi
1 parent abe378b commit cbbbba8

File tree

1 file changed

+35
-17
lines changed

1 file changed

+35
-17
lines changed

docs/contribute/01_environment.qmd

Lines changed: 35 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ the `conda/mamba` setup and refer to the comment related to `arm64`
1818
architectures.
1919
:::
2020

21-
## Conda/Mamba
21+
## Conda/Mamba/Pixi
2222

2323
### Support matrix [^conda-callout]
2424

@@ -45,6 +45,10 @@ managers = {
4545
"name": "Mamba",
4646
"url": "https://github.com/mamba-org/mamba",
4747
},
48+
"pixi": {
49+
"name": "Pixi",
50+
"url": "https://pixi.sh/latest/",
51+
},
4852
}
4953
5054
for manager, params in managers.items():
@@ -58,7 +62,10 @@ for manager, params in managers.items():
5862
print(f"1. Install `gh`")
5963
print()
6064
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")
6269
print(" ```")
6370
print()
6471
print(f"1. Fork and clone the ibis repository:")
@@ -67,37 +74,48 @@ for manager, params in managers.items():
6774
print(" gh repo fork --clone --remote ibis-project/ibis")
6875
print(" ```")
6976
print()
70-
print(f"1. Create a Conda environment using `environment.yml`")
77+
print(f"1. Create a {name} environment using `environment.yml`")
7178
print()
7279
print(" ```sh")
7380
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")
7585
print(" ```")
7686
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(" :::")
88103
print()
89104
print(f"1. Activate the environment")
90105
print()
91106
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")
93111
print(" ```")
94112
print()
95113
print(
96114
f"1. Install your local copy of `ibis` into the {manager.capitalize()} environment"
97115
)
98116
print()
99117
print(" ```sh")
100-
print(" pip install -e .")
118+
print(" uv pip install -e .")
101119
print(" ```")
102120
print()
103121
```

0 commit comments

Comments
 (0)