Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
87 commits
Select commit Hold shift + click to select a range
7e66ccb
feat: Add tell() to OutputStream writers (#2998)
geruh Feb 2, 2026
b5118ee
Build: Bump gcsfs from 2025.10.0 to 2026.1.0 (#3003)
dependabot[bot] Feb 7, 2026
33cf6c9
Build: Bump rich from 14.3.1 to 14.3.2 (#3002)
dependabot[bot] Feb 7, 2026
661ff31
Build: Bump prek from 0.3.0 to 0.3.1 (#2999)
dependabot[bot] Feb 7, 2026
e7f77ca
Build: Bump huggingface-hub from 1.3.4 to 1.3.7 (#3000)
dependabot[bot] Feb 7, 2026
bb1f3ef
Build: Bump cachetools from 6.2.5 to 7.0.0 (#3001)
dependabot[bot] Feb 7, 2026
b98de51
infra: upgrade pytest and use pytest_lazy_fixtures (#2978)
kevinjqliu Feb 7, 2026
7d4a8ef
fix: ignore local config during tests (#3006)
geruh Feb 10, 2026
f1e0a91
Build: Bump mypy-boto3-glue from 1.42.25 to 1.42.43 (#3027)
dependabot[bot] Feb 15, 2026
2a68528
Build: Bump fsspec from 2026.1.0 to 2026.2.0 (#3026)
dependabot[bot] Feb 15, 2026
4527bc0
Build: Bump nbconvert from 7.16.6 to 7.17.0 (#3013)
dependabot[bot] Feb 15, 2026
8aecfdb
Build: Bump griffe from 1.15.0 to 2.0.0 (#3014)
dependabot[bot] Feb 15, 2026
02a3e8c
Build: Bump polars from 1.37.1 to 1.38.1 (#3015)
dependabot[bot] Feb 15, 2026
0efe126
Build: Bump tenacity from 9.1.2 to 9.1.4 (#3017)
dependabot[bot] Feb 15, 2026
d39e12f
Build: Bump huggingface-hub from 1.3.7 to 1.4.1 (#3020)
dependabot[bot] Feb 15, 2026
5453c83
Build: Bump mypy-boto3-dynamodb from 1.42.33 to 1.42.41 (#3022)
dependabot[bot] Feb 15, 2026
86c7246
Build: Bump adlfs from 2025.8.0 to 2026.2.0 (#3023)
dependabot[bot] Feb 15, 2026
0124bf2
Build: Bump prek from 0.3.1 to 0.3.2 (#3024)
dependabot[bot] Feb 15, 2026
bbea0f0
fix: Hive catalog test failure on CPython 3.13.12 (#3043)
geruh Feb 15, 2026
284797f
Build: Bump cryptography from 46.0.3 to 46.0.5 (#3034)
dependabot[bot] Feb 15, 2026
1eeae90
docs: release docs improvements (#3030)
kevinjqliu Feb 15, 2026
4ba9a8c
Add catalog properties for Catalog Tests (#2982)
rambleraptor Feb 15, 2026
89a129c
feat: Add Geometry & Geography Types (#2859)
SaymV Feb 15, 2026
7703f8d
infra: set github actions max-parallel to 15 (#3057)
kevinjqliu Feb 17, 2026
7c7f3c7
Build: Bump jupyterlab from 4.5.3 to 4.5.4 (#3056)
dependabot[bot] Feb 17, 2026
6f1f111
Build: Bump azure-identity from 1.25.1 to 1.25.2 (#3055)
dependabot[bot] Feb 17, 2026
cfe82b0
Build: Bump daft from 0.6.14 to 0.7.3 (#3054)
dependabot[bot] Feb 17, 2026
c5fc1ee
Build: Bump google-cloud-bigquery from 3.40.0 to 3.40.1 (#3053)
dependabot[bot] Feb 17, 2026
5603278
Build: Bump prek from 0.3.2 to 0.3.3 (#3052)
dependabot[bot] Feb 17, 2026
3a10172
Build: Bump mkdocs-autorefs from 1.4.3 to 1.4.4 (#3051)
dependabot[bot] Feb 17, 2026
36486c9
Build: Bump cachetools from 7.0.0 to 7.0.1 (#3050)
dependabot[bot] Feb 17, 2026
9de7deb
Build: Bump mkdocstrings-python from 2.0.1 to 2.0.2 (#3021)
dependabot[bot] Feb 17, 2026
48d074c
Build: Bump mkdocstrings from 1.0.2 to 1.0.3 (#3016)
dependabot[bot] Feb 17, 2026
9687d08
fix: Accept all valid http method for IRC's ConfigResponse (#3010)
sumanth-manchala Feb 17, 2026
9c9f160
Add `--prefix` option for REST catalog (#3061)
mrutunjay-kinagi Feb 18, 2026
ec0a451
CI: Add CodeQL workflow for GitHub Actions security scanning (#3060)
kevinjqliu Feb 18, 2026
11af14b
Surface too many requests exception (#3048)
ms32035 Feb 18, 2026
8fe63dc
fix: add Field alias for SetPartitionStatisticsUpdate (#3035)
shiwk Feb 18, 2026
4034455
Fix SSL deactivation using catalog properties (#3012)
MenelikV Feb 18, 2026
8a47d2b
Optimization: Prune manifest in snapshot overwrite operations (#3011)
gabeiglio Feb 20, 2026
d587aab
Add concurrency safety validation checks (#3049)
gabeiglio Feb 20, 2026
251fa3f
infra: simplify Makefile and uv (#2996)
kevinjqliu Feb 20, 2026
44b57fe
Build: Bump werkzeug from 3.1.5 to 3.1.6 (#3071)
dependabot[bot] Feb 20, 2026
6a65772
Build: Bump flask from 3.1.2 to 3.1.3 (#3072)
dependabot[bot] Feb 20, 2026
95f6273
fix: Extract ADLS account_name from URI hostname in FsspecFileIO (#3005)
antonlin1 Feb 20, 2026
cbea824
Fix conftest dependency breaking nightly wheel build (#3078)
kevinjqliu Feb 22, 2026
15577e7
chore: Remove docs from uv default groups (#3073)
geruh Feb 22, 2026
09de790
fix: show helpful error when hive catalog config is missing uri (#3077)
jx2lee Feb 22, 2026
29ca7df
chore(ci): add explicit least-privilege workflow permissions (#3082)
kevinjqliu Feb 25, 2026
d5661ef
Build: Bump actions/stale from 10.1.1 to 10.2.0 (#3086)
dependabot[bot] Feb 25, 2026
b022249
Build: Bump actions/checkout from 4 to 6 (#3087)
dependabot[bot] Feb 25, 2026
feefe18
Build: Bump bodo from 2026.1 to 2026.2 (#3088)
dependabot[bot] Feb 25, 2026
a661e6d
Build: Bump mkdocs-material from 9.7.1 to 9.7.2 (#3089)
dependabot[bot] Feb 25, 2026
03b086c
Build: Bump rich from 14.3.2 to 14.3.3 (#3091)
dependabot[bot] Feb 25, 2026
e2ccfb4
Build: Bump mypy-boto3-dynamodb from 1.42.41 to 1.42.55 (#3092)
dependabot[bot] Feb 25, 2026
6f0e2ad
Build: Bump jupyterlab from 4.5.4 to 4.5.5 (#3093)
dependabot[bot] Feb 25, 2026
2056a8d
Build: Bump mkdocstrings-python from 2.0.2 to 2.0.3 (#3096)
dependabot[bot] Feb 25, 2026
74d2361
Build: Bump ray from 2.53.0 to 2.54.0 (#3075)
dependabot[bot] Feb 25, 2026
4583b4d
Bump version in `iceberg-bug-report.yaml` (#3079)
kevinjqliu Feb 25, 2026
8cc3612
Build: Bump fsspec from 2025.10.0 to 2026.2.0 (#3090)
dependabot[bot] Feb 25, 2026
4173ef7
fix: python version in release docs workflow (#3102)
geruh Feb 26, 2026
3f37f56
chore: use ubuntu-slim for lightweight jobs (#3107)
zhjwpku Feb 27, 2026
7425bc4
Fix pyparsing diagnostic warning on Table import (#3081)
kevinjqliu Feb 27, 2026
8662b9c
Build: Bump actions/download-artifact from 7 to 8 (#3109)
dependabot[bot] Mar 3, 2026
fca548b
Build: Bump huggingface-hub from 1.4.1 to 1.5.0 (#3110)
dependabot[bot] Mar 3, 2026
4e6ca9e
Build: Bump mkdocs-material from 9.7.2 to 9.7.3 (#3111)
dependabot[bot] Mar 3, 2026
8089c1a
Build: Bump daft from 0.6.14 to 0.7.4 (#3112)
dependabot[bot] Mar 3, 2026
8ff9b1b
Build: Bump cachetools from 7.0.1 to 7.0.2 (#3113)
dependabot[bot] Mar 3, 2026
490162c
Build: Bump prek from 0.3.3 to 0.3.4 (#3114)
dependabot[bot] Mar 3, 2026
f2522bb
Build: Bump sqlalchemy from 2.0.46 to 2.0.48 (#3115)
dependabot[bot] Mar 3, 2026
6c5e45c
Build: Bump joserfc from 1.4.2 to 1.6.3 (#3116)
dependabot[bot] Mar 3, 2026
627a5eb
Documentation `s3.profile-name` and `client.profile-name` (#3085)
thomas-pfeiffer Mar 3, 2026
30d987f
docs: more release docs improvements (#3104)
kevinjqliu Mar 4, 2026
0fcbe78
feat(cli): replace REST --prefix with --warehouse (#3080)
kevinjqliu Mar 5, 2026
4880d78
Update slate config for PRs (#3125)
nssalian Mar 6, 2026
ca807ae
Support storage-credentials in REST catalog LoadTableResult (#3042)
rcjverhoef Mar 6, 2026
2ca06f5
feat(rest): add sigv4 retry configuration defaults (#3063)
mrutunjay-kinagi Mar 7, 2026
c5c0993
Add ViewMetadata read support and `create_view` to REST Catalog (#2154)
rambleraptor Mar 7, 2026
3fbe69b
Build: Bump duckdb from 1.4.4 to 1.5.0 (#3139)
dependabot[bot] Mar 10, 2026
5a062ee
Build: Bump cachetools from 7.0.2 to 7.0.5 (#3138)
dependabot[bot] Mar 10, 2026
809e4fb
Build: Bump mmh3 from 5.2.0 to 5.2.1 (#3137)
dependabot[bot] Mar 10, 2026
6865421
Build: Bump mkdocs-material from 9.7.3 to 9.7.4 (#3136)
dependabot[bot] Mar 10, 2026
855997d
Build: Bump google-auth from 2.48.0 to 2.49.0 (#3135)
dependabot[bot] Mar 10, 2026
b392573
Build: Bump huggingface-hub from 1.5.0 to 1.6.0 (#3134)
dependabot[bot] Mar 10, 2026
486254a
Build: Bump prek from 0.3.4 to 0.3.5 (#3133)
dependabot[bot] Mar 10, 2026
ad47b55
Build: Bump pypa/cibuildwheel from 3.3.1 to 3.4.0 (#3132)
dependabot[bot] Mar 10, 2026
ae7349c
try pyiceberg-core 0.9.0rc1
kevinjqliu Mar 11, 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
3 changes: 2 additions & 1 deletion .github/ISSUE_TEMPLATE/iceberg_bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,8 @@ body:
description: What Apache Iceberg version are you using?
multiple: false
options:
- "0.10.0 (latest release)"
- "0.11.0 (latest release)"
- "0.10.0"
- "0.9.1"
- "0.9.0"
- "0.8.1"
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/check-md-link.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,9 @@ on:
- 'mkdocs/**'
workflow_dispatch:

permissions:
contents: read

jobs:
markdown-link-check:
runs-on: ubuntu-latest
Expand Down
54 changes: 54 additions & 0 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#

name: "CodeQL"

on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
schedule:
- cron: '16 4 * * 1'

permissions:
contents: read

jobs:
analyze:
name: Analyze Actions
runs-on: ubuntu-slim
permissions:
contents: read
security-events: write
packages: read

steps:
- name: Checkout repository
uses: actions/checkout@v6

- name: Initialize CodeQL
uses: github/codeql-action/init@v4
with:
languages: actions

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v4
with:
category: "/language:actions"
3 changes: 3 additions & 0 deletions .github/workflows/license_check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,9 @@
name: "Run License Check"
on: pull_request

permissions:
contents: read

jobs:
rat:
runs-on: ubuntu-latest
Expand Down
5 changes: 4 additions & 1 deletion .github/workflows/nightly-pypi-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,9 @@ on:
- cron: "0 0 * * *" # Runs at midnight UTC every day
workflow_dispatch: # Allows manual triggering

permissions:
contents: read

jobs:
set-version:
if: github.repository == 'apache/iceberg-python' # Only run for apache repo
Expand Down Expand Up @@ -71,7 +74,7 @@ jobs:

steps:
- name: Download all the artifacts
uses: actions/download-artifact@v7
uses: actions/download-artifact@v8
with:
merge-multiple: true
path: dist/
Expand Down
8 changes: 7 additions & 1 deletion .github/workflows/pypi-build-artifacts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,15 @@ on:
required: true
type: string

permissions:
contents: read

jobs:
pypi-build-artifacts:
name: Build artifacts for PyPi on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
max-parallel: 15
matrix:
os: [ ubuntu-latest, ubuntu-24.04-arm, windows-latest, macos-15-intel, macos-latest ]

Expand Down Expand Up @@ -62,14 +66,16 @@ jobs:
if: matrix.os == 'ubuntu-latest'

- name: Build wheels
uses: pypa/cibuildwheel@v3.3.1
uses: pypa/cibuildwheel@v3.4.0
with:
output-dir: wheelhouse
config-file: "pyproject.toml"
env:
# Ignore 32 bit architectures
CIBW_ARCHS: "auto64"
CIBW_PROJECT_REQUIRES_PYTHON: ">=3.10,<3.14"
# Keep these in sync with Python CI job `cibw-dev-env-smoke-test`
# in .github/workflows/python-ci.yml to catch import-time regressions early.
CIBW_BEFORE_TEST: "uv sync --directory {project} --only-group dev --no-install-project"
CIBW_TEST_COMMAND: "uv run --directory {project} pytest tests/avro/test_decoder.py"
# Skip free-threaded (PEP 703) builds until we evaluate decoder_fast support
Expand Down
7 changes: 4 additions & 3 deletions .github/workflows/python-ci-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,17 @@ on:
- 'main'
pull_request:

permissions:
contents: read


concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}

jobs:
docs:
runs-on: ubuntu-latest
runs-on: ubuntu-slim

steps:
- uses: actions/checkout@v6
Expand All @@ -41,8 +44,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
Expand Down
29 changes: 28 additions & 1 deletion .github/workflows/python-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,9 @@ on:
- '!LICENSE'
- '!NOTICE'

permissions:
contents: read

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
Expand All @@ -46,6 +49,7 @@ jobs:
lint-and-unit-test:
runs-on: ubuntu-latest
strategy:
max-parallel: 15
fail-fast: true
matrix:
python: ['3.10', '3.11', '3.12', '3.13']
Expand Down Expand Up @@ -193,9 +197,32 @@ jobs:
- name: Install dependencies
run: uv sync --group dev
- name: Download all coverage artifacts
uses: actions/download-artifact@v7
uses: actions/download-artifact@v8
with:
pattern: coverage-*
merge-multiple: true
- name: Generate coverage report (75%) # Coverage threshold should only increase over time — never decrease it!
run: COVERAGE_FAIL_UNDER=75 make coverage-report

cibw-dev-env-smoke-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-python@v6
with:
python-version: '3.12'
- name: Install UV
uses: astral-sh/setup-uv@v7
with:
enable-cache: true
# Why this exists:
# Catch import-time regressions (e.g., global conftest optional deps)
# in the same dev-only environment used by cibuildwheel wheel tests.
# Keep this in sync with wheel build test setup in
# .github/workflows/pypi-build-artifacts.yml:
# CIBW_BEFORE_TEST: uv sync --directory {project} --only-group dev --no-install-project
# CIBW_TEST_COMMAND: uv run --directory {project} pytest tests/avro/test_decoder.py
- name: Mirror wheel CIBW_BEFORE_TEST
run: uv sync --directory . --only-group dev --no-install-project
- name: Mirror wheel CIBW_TEST_COMMAND
run: uv run --directory . pytest tests/avro/test_decoder.py
9 changes: 6 additions & 3 deletions .github/workflows/python-release-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,23 +21,26 @@ name: "Release Docs"
on:
workflow_dispatch:

permissions:
contents: read

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}

jobs:
docs:
runs-on: ubuntu-latest
permissions:
contents: write

steps:
- uses: actions/checkout@v6
- uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python }}
python-version: 3.12
- 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
3 changes: 3 additions & 0 deletions .github/workflows/python-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,9 @@ on:
type: number
required: true

permissions:
contents: read

jobs:
validate-inputs:
runs-on: ubuntu-latest
Expand Down
19 changes: 14 additions & 5 deletions .github/workflows/stale.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,28 +17,28 @@
# under the License.
#

name: "Close Stale Issues"
name: "Close Stale Issues and PRs"
on:
schedule:
- cron: '0 0 * * *'

permissions:
# All other permissions are set to none
issues: write
pull-requests: write

jobs:
stale:
if: github.repository_owner == 'apache'
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v10.1.1
- uses: actions/stale@v10.2.0
with:
stale-issue-label: 'stale'
# stale issues
stale-issue-label: 'stale,security'
exempt-issue-labels: 'not-stale'
days-before-issue-stale: 180
days-before-issue-close: 14
# Only close stale issues, leave PRs alone
days-before-pr-stale: -1
stale-issue-message: >
This issue has been automatically marked as stale because it has been open for 180 days
with no activity. It will be closed in next 14 days if no further activity occurs. To
Expand All @@ -47,3 +47,12 @@ jobs:
close-issue-message: >
This issue has been closed because it has not received any activity in the last 14 days
since being marked as 'stale'
# stale PRs
stale-pr-label: 'stale'
exempt-pr-labels: 'not-stale,security'
stale-pr-message: 'This pull request has been marked as stale due to 30 days of inactivity. It will be closed in 1 week if no further activity occurs. If you think that''s incorrect or this pull request requires a review, please simply write any comment. If closed, you can revive the PR at any time and @mention a reviewer or discuss it on the dev@iceberg.apache.org list. Thank you for your contributions.'
close-pr-message: 'This pull request has been closed due to lack of activity. This is not a judgement on the merit of the PR in any way. It is just a way of keeping the PR queue manageable. If you think that is incorrect, or the pull request requires review, you can revive the PR at any time.'
days-before-pr-stale: 30
days-before-pr-close: 7
ascending: true
operations-per-run: 200
6 changes: 5 additions & 1 deletion .github/workflows/svn-build-artifacts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,15 @@ on:
required: true
type: string

permissions:
contents: read

jobs:
svn-build-artifacts:
name: Build artifacts for SVN on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
max-parallel: 15
matrix:
os: [ ubuntu-latest, ubuntu-24.04-arm, windows-latest, macos-15-intel, macos-latest ]

Expand All @@ -57,7 +61,7 @@ jobs:
if: matrix.os == 'ubuntu-latest'

- name: Build wheels
uses: pypa/cibuildwheel@v3.3.1
uses: pypa/cibuildwheel@v3.4.0
with:
output-dir: wheelhouse
config-file: "pyproject.toml"
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
# ========================
# 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

# ========================
# 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

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
```
Loading
Loading