Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
69 commits
Select commit Hold shift + click to select a range
406c047
Move xarray badge to top
VeckoTheGecko Sep 12, 2025
f16d02c
DOC: Add Pixi badge
VeckoTheGecko Sep 12, 2025
c4573df
Add pixi environment
VeckoTheGecko Sep 12, 2025
577cf18
Split dependencies into features and define environments
VeckoTheGecko Sep 12, 2025
33d4a14
Copy requriements file to new folder for requirement linting
VeckoTheGecko Sep 12, 2025
2bd8605
Remove testing, 'pip', and 'packaging' dependencies from requirements…
VeckoTheGecko Sep 12, 2025
40f78bc
Remove numpy from environment files
VeckoTheGecko Sep 12, 2025
e59d27d
Add typing task and environment
VeckoTheGecko Sep 12, 2025
618870b
Remove pandas from environment files
VeckoTheGecko Sep 12, 2025
1d8a93c
Remove pre-commit from environment files
VeckoTheGecko Sep 12, 2025
1bbfbe0
Remove typing related packages from environment files
VeckoTheGecko Sep 12, 2025
71f1ce9
Remove 'pacakaging' package from environment files
VeckoTheGecko Sep 12, 2025
b3c3a2a
Remove backend related packages from environment files
VeckoTheGecko Sep 12, 2025
e3781e6
Remove performance related packages from environment files
VeckoTheGecko Sep 12, 2025
47cc4d8
Remove s3 related package from environment files
VeckoTheGecko Sep 12, 2025
c3df274
Remove various packages from environment files and migrate to pixi
VeckoTheGecko Sep 12, 2025
5b20177
Remove 'typing_extensions' package from environment files
VeckoTheGecko Sep 12, 2025
fdaa381
Remove 'rasterio' package from environment files
VeckoTheGecko Sep 12, 2025
1062701
Remove 'distributed' and 'lxml' package from environment files
VeckoTheGecko Sep 12, 2025
72b65da
Remove plotting related packages from environment files
VeckoTheGecko Sep 12, 2025
56f84f1
Remove 'iris' and 'pooch' package from environment files
VeckoTheGecko Sep 12, 2025
e3eaaa8
Remove 'jax' package from environment files
VeckoTheGecko Sep 12, 2025
3d75cbe
Delete bodies of empty environment files
VeckoTheGecko Sep 12, 2025
9f39ee6
Port doc dependencies to pixi.toml
VeckoTheGecko Sep 12, 2025
833c647
Add xarray as source dependency to pixi
VeckoTheGecko Sep 12, 2025
baee394
Add new environments and tasks
VeckoTheGecko Sep 12, 2025
04e667a
Move `test` task to `test` feature
VeckoTheGecko Sep 16, 2025
4a0e692
Move pydap-server to linux dependency
VeckoTheGecko Sep 16, 2025
5048c40
Move cfgrib to pypi dep
VeckoTheGecko Sep 17, 2025
fccd392
Add workflow for caching-pixi-lock
VeckoTheGecko Sep 19, 2025
677c114
Add pixi task: doc
VeckoTheGecko Sep 24, 2025
868f573
Update RTD to use Pixi
VeckoTheGecko Sep 24, 2025
a8d067b
Remove 'run --all-files' from pre-commit task
VeckoTheGecko Sep 24, 2025
10ea078
Add all-but-dask and all-but-numba envs
VeckoTheGecko Sep 24, 2025
066219a
Update cache-pixi-lock
VeckoTheGecko Oct 31, 2025
73875c6
ci.yaml : update set env vars to remove windows section
VeckoTheGecko Oct 31, 2025
33f5eb0
ci.yaml : update set env vars to remove py314 section
VeckoTheGecko Oct 31, 2025
a9c85fc
Update environment name
VeckoTheGecko Oct 31, 2025
5ba5637
Remove solve groups for now
VeckoTheGecko Oct 31, 2025
8141da4
Add testing environments with mypy
VeckoTheGecko Oct 31, 2025
2cb81b9
ci.yaml : Rename strategy 'env' var to 'pixi-env'
VeckoTheGecko Oct 31, 2025
60be388
Add pixi environment for bare-min-and-scipy
VeckoTheGecko Oct 31, 2025
d049e33
Fix pixi environment names in CI
VeckoTheGecko Oct 31, 2025
38379dd
Create `test-all-deps-py313` and `test-all-deps-py311` pixi envs
VeckoTheGecko Oct 31, 2025
04899d7
Fix CI pixi env names
VeckoTheGecko Oct 31, 2025
428c33c
Remove python-version matrix var
VeckoTheGecko Oct 31, 2025
b5b5ab4
Move pixi package section
VeckoTheGecko Oct 31, 2025
4c75594
Add packages to run-dependencies section
VeckoTheGecko Oct 31, 2025
b753cfa
Fix install of pytest-github-actions-annotate-failures
VeckoTheGecko Oct 31, 2025
93215f0
Update pixi-build-python==0.4.0
VeckoTheGecko Oct 31, 2025
31f9537
Enable cross os pixi lockfile fetch
VeckoTheGecko Oct 31, 2025
57dedbe
Remove setup micromamba workflow
VeckoTheGecko Oct 31, 2025
27c4dbb
Remove CONDA_ENV_FILE variable
VeckoTheGecko Oct 31, 2025
388fd1d
Enter pixi shell
VeckoTheGecko Oct 31, 2025
334a9df
setup pixi with needed env
VeckoTheGecko Oct 31, 2025
c93faf6
Update workflow name
VeckoTheGecko Oct 31, 2025
86bcd41
project -> workspace
VeckoTheGecko Oct 31, 2025
ba012ba
Remove annotate pixi feature
VeckoTheGecko Oct 31, 2025
f6b5464
Use "pixi run" instead of "pixi shell"
VeckoTheGecko Oct 31, 2025
28daf62
Add pip to typing feature
VeckoTheGecko Oct 31, 2025
ebdc125
Pin pixi versions
VeckoTheGecko Oct 31, 2025
b07bcae
Update RTD for pixi
VeckoTheGecko Oct 31, 2025
0f3a618
Specify pixi env explicitly
VeckoTheGecko Oct 31, 2025
4764b3d
Add pixi version in cache-pixi-lock cache id
VeckoTheGecko Oct 31, 2025
5f74f12
Fix artifact name
VeckoTheGecko Oct 31, 2025
5c14760
Review - fix pixi env name in CI
VeckoTheGecko Nov 3, 2025
7ef5ace
Add cftime as test dep
VeckoTheGecko Nov 3, 2025
ee72978
Review feedback
VeckoTheGecko Nov 3, 2025
e79d7ef
Migrate CI additional to use Pixi
VeckoTheGecko Nov 3, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,5 @@
doc/whats-new.rst merge=union
# allow installing from git archives
.git_archival.txt export-subst
# SCM syntax highlighting & preventing 3-way merges
pixi.lock merge=binary linguist-language=YAML linguist-generated=true
15 changes: 15 additions & 0 deletions .github/workflows/benchmarks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,10 @@ env:
PR_HEAD_LABEL: ${{ github.event.pull_request.head.label }}

jobs:
cache-pixi-lock:
uses: ./.github/workflows/cache-pixi-lock.yml
benchmark:
needs: cache-pixi-lock
if: ${{ contains( github.event.pull_request.labels.*.name, 'run-benchmark') && github.event_name == 'pull_request' || contains( github.event.pull_request.labels.*.name, 'topic-performance') && github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' }}
name: Linux
runs-on: ubuntu-latest
Expand All @@ -24,6 +27,18 @@ jobs:
with:
fetch-depth: 0

- name: Restore cached pixi lockfile
uses: actions/cache/restore@v4
id: restore-pixi-lock
with:
path: |
pixi.lock
key: ${{ needs.cache-pixi-lock.outputs.cache-id }}
- uses: prefix-dev/setup-pixi@v0.9.0
with:
cache: true
cache-write: ${{ github.event_name == 'push' && github.ref_name == 'main' }}

- name: Set up conda environment
uses: mamba-org/setup-micromamba@v2
with:
Expand Down
52 changes: 52 additions & 0 deletions .github/workflows/cache-pixi-lock.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: Generate and cache Pixi lockfile

on:
workflow_call:
inputs:
pixi-version:
type: string
outputs:
cache-id:
description: "The lock file contents"
value: ${{ jobs.cache-pixi-lock.outputs.cache-id }}

jobs:
cache-pixi-lock:
name: Generate output
runs-on: ubuntu-latest
outputs:
cache-id: ${{ steps.restore.outputs.cache-primary-key }}
steps:
- uses: actions/checkout@v5
with:
fetch-depth: 0
submodules: recursive
- name: Get current date
id: date
run: echo "date=$(date +'%Y-%m-%d')" >> "$GITHUB_OUTPUT"
- uses: actions/cache/restore@v4
id: restore
with:
path: |
pixi.lock
key: ${{ steps.date.outputs.date }}_${{ inputs.pixi-version }}_${{hashFiles('pixi.toml')}}
- uses: prefix-dev/setup-pixi@v0.9.0
if: ${{ !steps.restore.outputs.cache-hit }}
with:
pixi-version: ${{ inputs.pixi-version }}
run-install: false
- name: Run pixi lock
if: ${{ !steps.restore.outputs.cache-hit }}
run: pixi lock
- uses: actions/cache/save@v4
if: ${{ !steps.restore.outputs.cache-hit }}
id: cache
with:
path: |
pixi.lock
key: ${{ steps.restore.outputs.cache-primary-key }}
- name: Upload pixi.lock
uses: actions/upload-artifact@v4
with:
name: pixi-lock
path: pixi.lock
Loading
Loading