Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
66 commits
Select commit Hold shift + click to select a range
cd32f4e
docs: Add link to GitHub release notes (#1394)
manuzhang Dec 4, 2024
df804c4
Bump mypy-boto3-glue from 1.35.65 to 1.35.74 (#1398)
dependabot[bot] Dec 4, 2024
850cd4e
Bump pydantic from 2.10.2 to 2.10.3 (#1403)
dependabot[bot] Dec 5, 2024
a2942fb
Bump mkdocs-material from 9.5.46 to 9.5.47 (#1402)
dependabot[bot] Dec 5, 2024
bad0d99
Build: Don't run CI on unrelated changes
manuzhang Dec 4, 2024
bfc0d9a
Fix lint
manuzhang Dec 5, 2024
e395c8e
5
kevinjqliu Dec 6, 2024
6714257
TEST: adopt new rest catalog image and enable tableExists tests (#1389)
sungwy Dec 7, 2024
8cbaa2b
Bump coverage from 7.6.8 to 7.6.9 (#1413)
dependabot[bot] Dec 7, 2024
1c73b7c
fix warnings from newer versions of dependencies (#1414)
kevinjqliu Dec 7, 2024
1976547
Post 0.8.1 release steps (#1410)
kevinjqliu Dec 7, 2024
d967050
Build: Delete branch automatically on PR merge (#1408)
manuzhang Dec 8, 2024
2c972fa
Add poetry extra for rest-sigv4 dependencies (boto3) (#1415)
paulmech Dec 9, 2024
d82f8f7
Add Alibaba OSS protocol to `PyArrowFileIO` (#1392)
helmiazizm Dec 9, 2024
88c4bad
Add `_missing_` to make `FileFormat` case insensitive (#1411)
jiakai-li Dec 9, 2024
ede363b
Bump mkdocs-material from 9.5.47 to 9.5.48 (#1419)
dependabot[bot] Dec 10, 2024
295ed05
docs: Use `load_catalog` instead (#1406)
Fokko Dec 11, 2024
547d881
docker: The `archive` seems unstable (#1425)
Fokko Dec 11, 2024
a97d13c
Bump mypy-boto3-glue from 1.35.74 to 1.35.80 (#1428)
dependabot[bot] Dec 13, 2024
b34d8dd
Fix `Table.scan` to enable case sensitive argument (#1423)
jiakai-li Dec 16, 2024
b981780
Update StrictProjection tests (#1422)
Fokko Dec 16, 2024
a819cfd
Bump mkdocs-material from 9.5.48 to 9.5.49 (#1437)
dependabot[bot] Dec 17, 2024
7eba022
Bump adlfs from 2024.7.0 to 2024.12.0 (#1436)
dependabot[bot] Dec 17, 2024
54b08ee
Bump moto from 5.0.22 to 5.0.23 (#1435)
dependabot[bot] Dec 17, 2024
b0ea716
Deserialize initial-default and write-default (#1432)
paulcichonski Dec 17, 2024
e15f355
Snapshot: Make manifest-list required (#1385)
Fokko Dec 17, 2024
d8c6c94
Implementing namespace_exists function on the REST Catalog (#1434)
AhmedNader42 Dec 17, 2024
59a18b3
Remove `version` from `docker-compose` (#1438)
Fokko Dec 17, 2024
392c9ce
Bump boto3 from 1.35.36 to 1.35.81 (#1440)
dependabot[bot] Dec 18, 2024
6c1e7cf
`field-id` in NameMapping should be optional (#1426)
barronw Dec 19, 2024
4b3456a
docs: fixed code example. (#1445)
kunnapatt Dec 19, 2024
2529c81
docs: add RESTCatalog-specific headers table (#1446)
EternalDeiwos Dec 19, 2024
952d7c0
Add Support for Dynamic Overwrite (#931)
jqin61 Dec 19, 2024
5b5be31
Bump pydantic from 2.10.3 to 2.10.4 (#1444)
dependabot[bot] Dec 19, 2024
1278e88
Remove support for catalog_name in table identifier string (#963)
sungwy Dec 19, 2024
f2f412b
Bump getdaft from 0.3.15 to 0.4.0 (#1450)
dependabot[bot] Dec 20, 2024
593ee34
Bump moto from 5.0.23 to 5.0.24 (#1451)
dependabot[bot] Dec 20, 2024
efdbcc5
Signer: Make `token` optional (#1447)
Fokko Dec 20, 2024
85b2053
Remove `0.9.0` deprecations (#1448)
kevinjqliu Dec 20, 2024
ab6b190
Remove unneeded partitioning (#1417)
Fokko Dec 20, 2024
dbcf65b
Bump to Poetry 1.8.5 (#1455)
Fokko Dec 20, 2024
5e95b13
Bump fastavro from 1.9.7 to 1.10.0 (#1460)
dependabot[bot] Dec 21, 2024
325c8a5
Bump deptry from 0.21.1 to 0.21.2 (#1459)
dependabot[bot] Dec 21, 2024
9f47077
Build: Bump 3rd party deps (#1454)
Fokko Dec 22, 2024
b450c1c
[infra] Update pyspark java iceberg library to 1.6.0 (#1462)
kevinjqliu Dec 22, 2024
887ea5e
Bump mypy-boto3-glue from 1.35.80 to 1.35.87 (#1468)
dependabot[bot] Dec 24, 2024
0e5086c
Bump jinja2 from 3.1.4 to 3.1.5 (#1467)
dependabot[bot] Dec 24, 2024
edbc169
Bump griffe from 1.5.1 to 1.5.4 (#1474)
dependabot[bot] Dec 27, 2024
f5bdae8
docs: various spelling fixes (#1471)
IndexSeek Dec 27, 2024
6e537e8
Bump coverage from 7.6.9 to 7.6.10 (#1473)
dependabot[bot] Dec 27, 2024
a5be07a
Bump mkdocstrings-python from 1.12.2 to 1.13.0 (#1472)
dependabot[bot] Dec 27, 2024
a926d37
Bump boto3 from 1.35.81 to 1.35.88 (#1476)
dependabot[bot] Dec 28, 2024
e646500
Bump moto from 5.0.24 to 5.0.25 (#1475)
dependabot[bot] Dec 29, 2024
5da1f4d
URL-encode partition field names in file locations (#1457)
smaheshwar-pltr Jan 2, 2025
f7d8a2f
Bump pyparsing from 3.2.0 to 3.2.1 (#1481)
dependabot[bot] Jan 3, 2025
f863c4e
Configure `codespell` in `pre-commit` (#1478)
IndexSeek Jan 3, 2025
acd6f5a
Remove deprecation warnings (#1416)
kevinjqliu Jan 3, 2025
5cd255e
poetry add $(cat mkdocs/requirements.txt | grep -v #) --group dev
kevinjqliu Jan 5, 2025
548c3d0
add `make docs`
kevinjqliu Jan 5, 2025
c99ac5e
update instructions
kevinjqliu Jan 5, 2025
5312c88
strict mode
kevinjqliu Jan 5, 2025
2f82934
make docs-build
kevinjqliu Jan 5, 2025
d76fbb4
docs-serve
kevinjqliu Jan 5, 2025
2eda259
add comment
kevinjqliu Jan 5, 2025
be4e24e
add docs as dep group
kevinjqliu Jan 6, 2025
0692ddf
add make install-poetry
kevinjqliu Jan 6, 2025
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
1 change: 1 addition & 0 deletions .asf.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ github:
required_approving_review_count: 1

required_linear_history: true
del_branch_on_merge: true
features:
wiki: true
issues: true
Expand Down
14 changes: 2 additions & 12 deletions mkdocs/requirements.txt → .codespellrc
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,5 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.

mkdocs==1.6.1
griffe==1.5.1
jinja2==3.1.4
mkdocstrings==0.27.0
mkdocstrings-python==1.12.2
mkdocs-literate-nav==0.6.1
mkdocs-autorefs==1.2.0
mkdocs-gen-files==0.5.0
mkdocs-material==9.5.46
mkdocs-material-extensions==1.3.1
mkdocs-section-index==0.3.9
[codespell]
ignore-words-list = BoundIn,fo,MoR,NotIn,notIn,oT
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.8.0 (latest release)"
- "0.8.1 (latest release)"
- "0.8.0"
- "0.7.1"
- "0.7.0"
- "0.6.1"
Expand Down
6 changes: 5 additions & 1 deletion .github/workflows/check-md-link.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,14 @@ name: Check Markdown links
on:
push:
paths:
- mkdocs/**
- '.github/workflows/check-md-link.yml'
- 'mkdocs/**'
branches:
- 'main'
pull_request:
paths:
- '.github/workflows/check-md-link.yml'
- 'mkdocs/**'

jobs:
markdown-link-check:
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/python-ci-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,12 +36,12 @@ jobs:

steps:
- uses: actions/checkout@v4
- name: Install poetry
run: make install-poetry
- uses: actions/setup-python@v5
with:
python-version: 3.12
- name: Install
working-directory: ./mkdocs
run: pip install -r requirements.txt
- name: Build
working-directory: ./mkdocs
run: mkdocs build --strict
run: make docs-install
- name: Build docs
run: make docs-build
13 changes: 13 additions & 0 deletions .github/workflows/python-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,19 @@ on:
branches:
- 'main'
pull_request:
paths:
- '**' # Include all files and directories in the repository by default.
- '!.github/workflows/**' # Exclude all workflow files
- '.github/workflows/python-ci.yml' # except the current file.
- '!.github/ISSUE_TEMPLATE/**' # Exclude files and directories that don't impact tests or code like templates, metadata, and documentation.
- '!.gitignore'
- '!.asf.yml'
- '!mkdocs/**'
- '!.gitattributes'
- '!README.md'
- '!CONTRIBUTING.md'
- '!LICENSE'
- '!NOTICE'

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
Expand Down
13 changes: 13 additions & 0 deletions .github/workflows/python-integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,19 @@ on:
branches:
- 'main'
pull_request:
paths:
- '**' # Include all files and directories in the repository by default.
- '!.github/workflows/**' # Exclude all workflow files
- '.github/workflows/python-integration.yml' # except the current file.
- '!.github/ISSUE_TEMPLATE/**' # Exclude files and directories that don't impact tests or code like templates, metadata, and documentation.
- '!.gitignore'
- '!.asf.yml'
- '!mkdocs/**'
- '!.gitattributes'
- '!README.md'
- '!CONTRIBUTING.md'
- '!LICENSE'
- '!NOTICE'

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/python-release-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,15 +31,15 @@ jobs:

steps:
- uses: actions/checkout@v4
- name: Install poetry
run: make install-poetry
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python }}
- name: Install
working-directory: ./mkdocs
run: pip install -r requirements.txt
- name: Build
working-directory: ./mkdocs
run: mkdocs build --strict
- name: Install docs
run: make docs-install
- name: Build docs
run: make docs-build
- name: Copy
working-directory: ./mkdocs
run: mv ./site /tmp/site
Expand Down
4 changes: 4 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,10 @@ repos:
# --line-length is set to a high value to deal with very long lines
- --line-length
- '99999'
- repo: https://github.com/codespell-project/codespell
rev: v2.3.0
hooks:
- id: codespell
ci:
autofix_commit_msg: |
[pre-commit.ci] auto fixes from pre-commit.com hooks
Expand Down
13 changes: 11 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,12 @@ help: ## Display this help
install-poetry: ## Install poetry if the user has not done that yet.
@if ! command -v poetry &> /dev/null; then \
echo "Poetry could not be found. Installing..."; \
pip install --user poetry==1.8.4; \
pip install --user poetry==1.8.5; \
else \
echo "Poetry is already installed."; \
fi

install-dependencies: ## Install dependencies including dev and all extras
install-dependencies: ## Install dependencies including dev, docs, and all extras
poetry install --all-extras

install: | install-poetry install-dependencies
Expand Down Expand Up @@ -97,3 +97,12 @@ clean: ## Clean up the project Python working environment
@find . -name "*.pyd" -exec echo Deleting {} \; -delete
@find . -name "*.pyo" -exec echo Deleting {} \; -delete
@echo "Cleanup complete"

docs-install:
poetry install --with docs

docs-serve:
poetry run mkdocs serve -f mkdocs/mkdocs.yml

docs-build:
poetry run mkdocs build -f mkdocs/mkdocs.yml --strict
9 changes: 5 additions & 4 deletions dev/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -36,21 +36,22 @@ ENV PYTHONPATH=$SPARK_HOME/python:$SPARK_HOME/python/lib/py4j-0.10.9.7-src.zip:$
RUN mkdir -p ${HADOOP_HOME} && mkdir -p ${SPARK_HOME} && mkdir -p /home/iceberg/spark-events
WORKDIR ${SPARK_HOME}

# Remember to also update `tests/conftest`'s spark setting
ENV SPARK_VERSION=3.5.3
ENV ICEBERG_SPARK_RUNTIME_VERSION=3.5_2.12
ENV ICEBERG_VERSION=1.6.0
ENV PYICEBERG_VERSION=0.8.0
ENV PYICEBERG_VERSION=0.8.1

RUN curl --retry 3 -s -C - https://archive.apache.org/dist/spark/spark-${SPARK_VERSION}/spark-${SPARK_VERSION}-bin-hadoop3.tgz -o spark-${SPARK_VERSION}-bin-hadoop3.tgz \
RUN curl --retry 5 -s -C - https://dlcdn.apache.org/spark/spark-${SPARK_VERSION}/spark-${SPARK_VERSION}-bin-hadoop3.tgz -o spark-${SPARK_VERSION}-bin-hadoop3.tgz \
&& tar xzf spark-${SPARK_VERSION}-bin-hadoop3.tgz --directory /opt/spark --strip-components 1 \
&& rm -rf spark-${SPARK_VERSION}-bin-hadoop3.tgz

# Download iceberg spark runtime
RUN curl -s https://repo1.maven.org/maven2/org/apache/iceberg/iceberg-spark-runtime-${ICEBERG_SPARK_RUNTIME_VERSION}/${ICEBERG_VERSION}/iceberg-spark-runtime-${ICEBERG_SPARK_RUNTIME_VERSION}-${ICEBERG_VERSION}.jar -Lo iceberg-spark-runtime-${ICEBERG_SPARK_RUNTIME_VERSION}-${ICEBERG_VERSION}.jar \
RUN curl --retry 5 -s https://repo1.maven.org/maven2/org/apache/iceberg/iceberg-spark-runtime-${ICEBERG_SPARK_RUNTIME_VERSION}/${ICEBERG_VERSION}/iceberg-spark-runtime-${ICEBERG_SPARK_RUNTIME_VERSION}-${ICEBERG_VERSION}.jar -Lo iceberg-spark-runtime-${ICEBERG_SPARK_RUNTIME_VERSION}-${ICEBERG_VERSION}.jar \
&& mv iceberg-spark-runtime-${ICEBERG_SPARK_RUNTIME_VERSION}-${ICEBERG_VERSION}.jar /opt/spark/jars

# Download AWS bundle
RUN curl -s https://repo1.maven.org/maven2/org/apache/iceberg/iceberg-aws-bundle/${ICEBERG_VERSION}/iceberg-aws-bundle-${ICEBERG_VERSION}.jar -Lo /opt/spark/jars/iceberg-aws-bundle-${ICEBERG_VERSION}.jar
RUN curl --retry 5 -s https://repo1.maven.org/maven2/org/apache/iceberg/iceberg-aws-bundle/${ICEBERG_VERSION}/iceberg-aws-bundle-${ICEBERG_VERSION}.jar -Lo /opt/spark/jars/iceberg-aws-bundle-${ICEBERG_VERSION}.jar

COPY spark-defaults.conf /opt/spark/conf
ENV PATH="/opt/spark/sbin:/opt/spark/bin:${PATH}"
Expand Down
1 change: 0 additions & 1 deletion dev/docker-compose-azurite.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
version: "3"

services:
azurite:
Expand Down
1 change: 0 additions & 1 deletion dev/docker-compose-gcs-server.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
version: "3"

services:
gcs-server:
Expand Down
3 changes: 1 addition & 2 deletions dev/docker-compose-integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
version: "3"

services:
spark-iceberg:
Expand All @@ -41,7 +40,7 @@ services:
- hive:hive
- minio:minio
rest:
image: tabulario/iceberg-rest
image: apache/iceberg-rest-fixture
container_name: pyiceberg-rest
networks:
iceberg_net:
Expand Down
1 change: 0 additions & 1 deletion dev/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
version: "3"

services:
minio:
Expand Down
20 changes: 11 additions & 9 deletions dev/provision.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,17 @@
from pyiceberg.schema import Schema
from pyiceberg.types import FixedType, NestedField, UUIDType

spark = SparkSession.builder.getOrCreate()
# The configuration is important, otherwise we get many small
# parquet files with a single row. When a positional delete
# hits the Parquet file with one row, the parquet file gets
# dropped instead of having a merge-on-read delete file.
spark = (
SparkSession
.builder
.config("spark.sql.shuffle.partitions", "1")
.config("spark.default.parallelism", "1")
.getOrCreate()
)

catalogs = {
'rest': load_catalog(
Expand Down Expand Up @@ -120,10 +130,6 @@
"""
)

# Partitioning is not really needed, but there is a bug:
# https://github.com/apache/iceberg/pull/7685
spark.sql(f"ALTER TABLE {catalog_name}.default.test_positional_mor_deletes ADD PARTITION FIELD years(dt) AS dt_years")

spark.sql(
f"""
INSERT INTO {catalog_name}.default.test_positional_mor_deletes
Expand Down Expand Up @@ -168,10 +174,6 @@
"""
)

# Partitioning is not really needed, but there is a bug:
# https://github.com/apache/iceberg/pull/7685
spark.sql(f"ALTER TABLE {catalog_name}.default.test_positional_mor_double_deletes ADD PARTITION FIELD years(dt) AS dt_years")

spark.sql(
f"""
INSERT INTO {catalog_name}.default.test_positional_mor_double_deletes
Expand Down
5 changes: 2 additions & 3 deletions mkdocs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ The pyiceberg docs are stored in `docs/`.
## Running docs locally

```sh
pip3 install -r requirements.txt
mkdocs serve
open http://localhost:8000/
make docs-install
make docs-serve
```
1 change: 1 addition & 0 deletions mkdocs/docs/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
- Releases
- [Verify a release](verify-release.md)
- [How to release](how-to-release.md)
- [Release Notes](https://github.com/apache/iceberg-python/releases)
- [Code Reference](reference/)

<!-- markdown-link-check-enable-->
Expand Down
Loading
Loading