Skip to content
Open
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
2 changes: 0 additions & 2 deletions .github/workflows/python-ci-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,6 @@ jobs:
python-version: 3.12
- name: Install UV
uses: astral-sh/setup-uv@v7
- name: Install
run: make docs-install
- name: Build docs
Copy link
Contributor

Choose a reason for hiding this comment

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

Now install is included with build step

run: make docs-build
- name: Run linters
Expand Down
2 changes: 0 additions & 2 deletions .github/workflows/python-release-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,6 @@ jobs:
python-version: ${{ matrix.python }}
- name: Install UV
uses: astral-sh/setup-uv@v7
- name: Install docs
run: make docs-install
- name: Build docs
run: make docs-build
- name: Copy
Expand Down
27 changes: 15 additions & 12 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,13 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
.PHONY: help install install-uv check-license lint \
test test-integration test-integration-setup test-integration-exec test-integration-cleanup test-integration-rebuild \
test-s3 test-adls test-gcs test-coverage coverage-report \
docs-serve docs-build notebook notebook-infra \
clean uv-lock uv-lock-check

.DEFAULT_GOAL := help
Copy link
Contributor

Choose a reason for hiding this comment

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

nit: non blocking but add a space after this

# ========================
# Configuration Variables
# ========================
Expand Down Expand Up @@ -149,29 +156,23 @@ coverage-report: ## Combine and report coverage

##@ Documentation

docs-install: ## Install docs dependencies (included in default groups)
uv sync $(PYTHON_ARG) --group docs

docs-serve: ## Serve local docs preview (hot reload)
uv run $(PYTHON_ARG) mkdocs serve -f mkdocs/mkdocs.yml --livereload
uv run $(PYTHON_ARG) --group docs mkdocs serve -f mkdocs/mkdocs.yml --livereload

docs-build: ## Build the static documentation site
uv run $(PYTHON_ARG) mkdocs build -f mkdocs/mkdocs.yml --strict
uv run $(PYTHON_ARG) --group docs mkdocs build -f mkdocs/mkdocs.yml --strict
Copy link
Contributor

Choose a reason for hiding this comment

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

the docs group are in the projects default group here:

[tool.uv]
default-groups = [
"dev",
"docs",
]

Seems like we can lighten up the base for install!


# ========================
# Experimentation
# ========================

##@ Experimentation

notebook-install: ## Install notebook dependencies
uv sync $(PYTHON_ARG) --all-extras --group notebook

notebook: notebook-install ## Launch notebook for experimentation
uv run jupyter lab --notebook-dir=notebooks
notebook: ## Launch notebook for experimentation
uv run $(PYTHON_ARG) --all-extras --group notebook jupyter lab --notebook-dir=notebooks
Copy link
Contributor

Choose a reason for hiding this comment

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

nice catch with python_arg


notebook-infra: notebook-install test-integration-setup ## Launch notebook with integration test infra (Spark, Iceberg Rest Catalog, object storage, etc.)
uv run jupyter lab --notebook-dir=notebooks
notebook-infra: test-integration-setup ## Launch notebook with integration test infra (Spark, Iceberg Rest Catalog, object storage, etc.)
uv run $(PYTHON_ARG) --all-extras --group notebook jupyter lab --notebook-dir=notebooks

# ===================
# Project Maintenance
Expand All @@ -189,6 +190,8 @@ clean: ## Remove build artifacts and caches
@find . -name "*.pyo" -exec echo Deleting {} \; -delete
@echo "Cleaning up Jupyter notebook checkpoints..."
@find . -name ".ipynb_checkpoints" -exec echo Deleting {} \; -exec rm -rf {} +
@echo "Cleaning up coverage files..."
@rm -rf .coverage .coverage.* htmlcov/ coverage.xml
@echo "Cleanup complete."

uv-lock: ## Regenerate uv.lock file from pyproject.toml
Expand Down
1 change: 0 additions & 1 deletion mkdocs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,5 @@ The pyiceberg docs are stored in `docs/`.
## Running docs locally

```sh
make docs-install
make docs-serve
```