Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
19 changes: 9 additions & 10 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,15 @@ 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
build:
html:
- pixi run -m icechunk-python docs-build --site-dir $READTHEDOCS_OUTPUT/html
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
12,260 changes: 12,260 additions & 0 deletions icechunk-python/pixi.lock

Large diffs are not rendered by default.

27 changes: 27 additions & 0 deletions icechunk-python/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -185,3 +185,30 @@ ban-relative-imports = "all"

[project.scripts]
icechunk = "icechunk._icechunk_python:cli_entrypoint"

[tool.pixi.workspace]
channels = ["conda-forge"]
platforms = ["osx-arm64", "linux-64", "linux-aarch64", "win-64"]

[tool.pixi.pypi-dependencies]
icechunk = { path = ".", editable = true }

[tool.pixi.feature.docs.dependencies]
cairo = ">=1.18.4,<2"

[tool.pixi.feature.docs.tasks]
docs-serve = "mkdocs serve -f docs/mkdocs.yml --livereload"
docs-build = "mkdocs build -f docs/mkdocs.yml"

[tool.pixi.feature.test.dependencies]
netcdf4 = ">=1.7.4,<2"

[tool.pixi.feature.test.tasks]
pytest = "pytest"

[tool.pixi.environments]
default = { solve-group = "default" }
benchmark = { features = ["benchmark"], solve-group = "default" }
dev = { features = ["dev"], solve-group = "default" }
docs = { features = ["docs"], solve-group = "default" }
test = { features = ["test"], solve-group = "default" }
Loading