Skip to content
Merged
Show file tree
Hide file tree
Changes from 7 commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
1a5e954
Pixi for docs and tests
abkfenris Feb 17, 2026
d4e76b9
RTD fix
abkfenris Feb 17, 2026
dcf8823
start adding rust deps with pixi
li-em Feb 18, 2026
8bd8ffa
add deps needed for rust tests, and uv for the develop task
li-em Feb 18, 2026
00a4a35
add mypy and pre-commit to dev env
li-em Feb 18, 2026
d15ac3f
use pixi in code-quality GHA
li-em Feb 18, 2026
b2eb4a4
fix rtd with new develop task
li-em Feb 18, 2026
3eaf430
Move docs build to just, replace netcdf4 with h5netcdf, pin ruff to 0…
jbusecke Feb 19, 2026
1d9995c
Update docs
jbusecke Feb 19, 2026
7af04e1
Update gha and rtd
jbusecke Feb 19, 2026
3c2b42b
remove install and use single pixi run command for the build
jbusecke Feb 19, 2026
15a456d
add maturin init to rtd
jbusecke Feb 19, 2026
0d78dc3
Add pixi shell alt + example how to pass args to ruff
jbusecke Feb 19, 2026
df49b86
Merge branch 'main' into li-em/pixi
jbusecke Feb 19, 2026
70f5aa8
remove pixi.lock from root
li-em Feb 19, 2026
5e0f773
Switch pixi environment -> default
jbusecke Feb 19, 2026
3bb06f8
use default env in code quality ci
jbusecke Feb 19, 2026
e81d949
Merge branch 'main' into li-em/pixi
jbusecke Feb 19, 2026
0512488
Get rid of the init task
jbusecke Feb 19, 2026
660e93e
restore tools.python in rtd
jbusecke Feb 19, 2026
d1f137a
fix pixi lock file
jbusecke Feb 19, 2026
5a7baf7
revert h5netcdf to netcdf4
jbusecke Feb 19, 2026
9f502d6
add netcdf to pixi dependencies to avoid issues on mac
jbusecke Feb 19, 2026
a51485d
limit python to <3.14
li-em Feb 19, 2026
2ae1a43
Pixi for docs and tests
abkfenris Feb 17, 2026
ea7f374
RTD fix
abkfenris Feb 17, 2026
5a30b4e
start adding rust deps with pixi
li-em Feb 18, 2026
df2f232
add deps needed for rust tests, and uv for the develop task
li-em Feb 18, 2026
9a34dfb
add mypy and pre-commit to dev env
li-em Feb 18, 2026
de52fc8
use pixi in code-quality GHA
li-em Feb 18, 2026
c2842bf
fix rtd with new develop task
li-em Feb 18, 2026
f3bad91
Move docs build to just, replace netcdf4 with h5netcdf, pin ruff to 0…
jbusecke Feb 19, 2026
b5b9675
Update docs
jbusecke Feb 19, 2026
ba57c29
Update gha and rtd
jbusecke Feb 19, 2026
f850896
remove install and use single pixi run command for the build
jbusecke Feb 19, 2026
2824c7f
add maturin init to rtd
jbusecke Feb 19, 2026
0bf0d6d
Add pixi shell alt + example how to pass args to ruff
jbusecke Feb 19, 2026
7f88afb
remove pixi.lock from root
li-em Feb 19, 2026
12ae552
Switch pixi environment -> default
jbusecke Feb 19, 2026
e6237b4
use default env in code quality ci
jbusecke Feb 19, 2026
a421257
Get rid of the init task
jbusecke Feb 19, 2026
6c72e76
restore tools.python in rtd
jbusecke Feb 19, 2026
8d073eb
fix pixi lock file
jbusecke Feb 19, 2026
37a3fa5
revert h5netcdf to netcdf4
jbusecke Feb 19, 2026
324c437
add netcdf to pixi dependencies to avoid issues on mac
jbusecke Feb 19, 2026
c546350
limit python to <3.14
li-em Feb 19, 2026
52f1926
uncomment netcdf4
li-em Feb 19, 2026
5db366f
Merge branch 'li-em/pixi' of https://github.com/earth-mover/icechunk …
jbusecke Feb 19, 2026
729ee6e
Merge branch 'main' into li-em/pixi
jbusecke Feb 24, 2026
97d11c6
Merge branch 'li-em/pixi' of https://github.com/earth-mover/icechunk …
jbusecke Feb 24, 2026
88aa9cc
update pixi.lock
jbusecke Feb 24, 2026
94b614e
Remove pixi.lock binary
jbusecke Feb 24, 2026
8c1bc04
use prek instead of pre-commit, add cargo-nextest
li-em Feb 24, 2026
9f7701c
Merge branch 'main' into li-em/pixi
li-em Feb 24, 2026
308c0a5
Merge branch 'main' into li-em/pixi
li-em Feb 25, 2026
eb281d4
Merge branch 'main' into li-em/pixi
li-em Feb 25, 2026
f10e926
Merge branch 'main' into li-em/pixi
jbusecke Feb 25, 2026
1e037df
minor tweaks
jbusecke Feb 25, 2026
28623f8
Some macos special sauce
jbusecke Feb 25, 2026
b065baf
Fix pre-commit
jbusecke Feb 26, 2026
1190888
Added docs and just --list explainer + locally passing all python tests
jbusecke Feb 26, 2026
fb85f5b
Fix callout
jbusecke Feb 26, 2026
6beeb52
Merge branch 'main' into li-em/pixi
jbusecke Feb 26, 2026
8f6b3ca
Merge branch 'main' into li-em/pixi
jbusecke Feb 26, 2026
db1209b
remove DYLD_LIBRARY_PATH shenanigans from the pixi config
jbusecke Feb 26, 2026
5b1b8e2
fix code quality
jbusecke Feb 26, 2026
8f20cbc
Update lockfile
jbusecke Feb 26, 2026
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
35 changes: 13 additions & 22 deletions .github/workflows/code-quality.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ env:
RUSTFLAGS: "-D warnings -W unreachable-pub -W bare-trait-objects"
RUSTUP_MAX_RETRIES: 10
RUST_CHANNEL: '1.91.0'
PIXI_VERSION: "v0.63.2"

jobs:
code-quality:
Expand All @@ -33,20 +34,20 @@ jobs:
with:
ref: ${{ github.event.pull_request.head.sha }}

- name: Install Just
run: sudo snap install --edge --classic just

- name: Install Rust toolchain
run: |
rustup update --no-self-update ${{ env.RUST_CHANNEL }}
rustup component add --toolchain ${{ env.RUST_CHANNEL }} rustfmt rust-src clippy
rustup default ${{ env.RUST_CHANNEL }}

- name: Cache Dependencies
uses: Swatinem/rust-cache@v2
with:
key: ${{ env.RUST_CHANNEL }}
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Must fix this, rust channel doesn't make much sense anymore

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@claude adapt this to the proposed changes within pixi


- uses: prefix-dev/setup-pixi@v0.9.4
with:
pixi-version: ${{ env.PIXI_VERSION }}
cache: true
activate-environment: true
environments: >-
dev
manifest-path: icechunk-python/pyproject.toml

- name: Run formatting checks
run: |
just format --check
Expand All @@ -59,20 +60,10 @@ jobs:
run: |
just doctest

- name: Install uv
uses: astral-sh/setup-uv@v7
with:
enable-cache: true

- name: Python mypy type checking
shell: bash
working-directory: icechunk-python
run: |
uv run --all-groups mypy python tests
just mypy

- name: Run pre-commit checks (skip Rust)
uses: pre-commit/action@v3.0.1
with:
extra_args: --all-files
env:
SKIP: rust-pre-commit-fast,rust-pre-commit,rust-pre-commit-ci
run: |
just py-pre-commit
20 changes: 10 additions & 10 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,16 @@ version: 2
build:
os: ubuntu-24.04
tools:
python: "mambaforge-latest"
python: "latest"

jobs:
create_environment:
- asdf plugin add pixi
- asdf install pixi latest
- asdf global pixi latest
install:
- which mamba
- cd icechunk-python && maturin build && pip install "$(ls ../target/wheels/*.whl | head -n 1)" && pip install --group docs && cd docs
- mamba list
# - cd icechunk-python && maturin develop && cd ../docs

conda:
environment: icechunk-python/docs/doc-env.yml
mkdocs:
configuration: icechunk-python/docs/mkdocs.yml
- pixi install -m icechunk-python -e docs
- pixi run -m icechunk-python -e docs develop
build:
html:
- pixi run -m icechunk-python docs-build --site-dir $READTHEDOCS_OUTPUT/html
12 changes: 12 additions & 0 deletions Justfile
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,18 @@ pre-commit-python:
bench-compare *args:
pytest-benchmark compare --group=group,func,param --sort=fullname --columns=median --name=short {{args}}

ruff-format *args:
ruff format

ruff *args:
ruff check --show-fixes icechunk-python/ {{args}}

mypy *args:
cd icechunk-python && mypy python tests {{args}}

py-pre-commit $SKIP="rust-pre-commit-fast,rust-pre-commit,rust-pre-commit-ci" *args:
pre-commit run --all-files

create-deepak-env name:
mamba create -y -n icechunk-{{name}} python=3.12 ipykernel ipdb
mamba activate icechunk-{{name}}
Expand Down
2 changes: 2 additions & 0 deletions icechunk-python/.gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# SCM syntax highlighting & preventing 3-way merges
pixi.lock merge=binary linguist-language=YAML linguist-generated=true -diff
3 changes: 3 additions & 0 deletions icechunk-python/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -78,3 +78,6 @@ docs/_build/
.mypy_cache/

.benchmarks/
# pixi environments
.pixi/*
!.pixi/config.toml
10 changes: 2 additions & 8 deletions icechunk-python/docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,23 +21,17 @@ This repository uses [uv](https://docs.astral.sh/uv/) to manage dependencies.
From the `icechunk-python` directory:

```bash
# Install icechunk with docs dependencies
uv sync --group docs

# Start the MkDocs development server
cd ../docs
uv run mkdocs serve
pixi run docs-serve
```

> [!TIP]
> You can use the optional `--dirty` flag to only rebuild changed files, although you may need to restart if you make changes to `mkdocs.yaml`.

### Building

From the `docs` directory:

```bash
uv run mkdocs build
pixi run docs-build
```

Builds output to: `docs/.site` directory.
Expand Down
11 changes: 0 additions & 11 deletions icechunk-python/docs/doc-env.yml

This file was deleted.

40 changes: 2 additions & 38 deletions icechunk-python/docs/docs/contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -314,55 +314,19 @@ pre-commit run rust-pre-commit-ci --hook-stage manual

The documentation is built with [MkDocs](https://www.mkdocs.org/) using [Material for MkDocs](https://squidfunk.github.io/mkdocs-material/).

**System dependencies**: Install Cairo graphics library for image processing:

=== "macOS"

```bash
brew install cairo
```

If `mkdocs` fails to find Cairo, set the library path:

```bash
export DYLD_FALLBACK_LIBRARY_PATH=/opt/homebrew/lib
```

You can add this to your `~/.zshrc` to make it permanent.

=== "Ubuntu/Debian"

```bash
sudo apt-get install libcairo2-dev
```

=== "Fedora/RHEL"

```bash
sudo dnf install cairo-devel
```

From the `icechunk-python` directory:

```bash
# Install icechunk with docs dependencies
uv sync --group docs

# Start the MkDocs development server
cd docs
uv run mkdocs serve
pixi run docs-serve
```

!!! note "Use `--livereload` for file watching"
Due to a [Click 8.3.x bug](https://github.com/mkdocs/mkdocs/issues/4032), file watching may not work without the `--livereload` flag. Always use `mkdocs serve --livereload` to ensure automatic rebuilds when you edit files.

The development server will start at `http://127.0.0.1:8000` with live reload enabled.

**Build static site**:

```bash
cd docs
uv run mkdocs build
pixi run docs-build
```

This builds the site to `docs/.site` directory.
Expand Down
Loading