diff --git a/.github/workflows/python-ci-docs.yml b/.github/workflows/python-ci-docs.yml index 6b3fc7f4b2..db7b02668c 100644 --- a/.github/workflows/python-ci-docs.yml +++ b/.github/workflows/python-ci-docs.yml @@ -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 run: make docs-build - name: Run linters diff --git a/.github/workflows/python-release-docs.yml b/.github/workflows/python-release-docs.yml index 1706ab96fe..40cb300746 100644 --- a/.github/workflows/python-release-docs.yml +++ b/.github/workflows/python-release-docs.yml @@ -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 diff --git a/Makefile b/Makefile index ac213d8475..032832c8b0 100644 --- a/Makefile +++ b/Makefile @@ -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 # ======================== # Configuration Variables # ======================== @@ -149,14 +156,11 @@ 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 # ======================== # Experimentation @@ -164,14 +168,11 @@ docs-build: ## Build the static documentation site ##@ 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 -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 @@ -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 diff --git a/mkdocs/README.md b/mkdocs/README.md index 271025a726..f20a2ed152 100644 --- a/mkdocs/README.md +++ b/mkdocs/README.md @@ -22,6 +22,5 @@ The pyiceberg docs are stored in `docs/`. ## Running docs locally ```sh -make docs-install make docs-serve ```