Skip to content

Commit 6607718

Browse files
authored
Merge branch 'main' into fix/json-serializable-and-expression
2 parents dd534a8 + 4526d62 commit 6607718

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

59 files changed

+4712
-3269
lines changed

.github/workflows/pypi-build-artifacts.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@ jobs:
4242
- uses: actions/setup-python@v6
4343
with:
4444
python-version: |
45-
3.9
4645
3.10
4746
3.11
4847
3.12
@@ -62,14 +61,14 @@ jobs:
6261
if: startsWith(matrix.os, 'ubuntu')
6362

6463
- name: Build wheels
65-
uses: pypa/[email protected].0
64+
uses: pypa/[email protected].1
6665
with:
6766
output-dir: wheelhouse
6867
config-file: "pyproject.toml"
6968
env:
7069
# Ignore 32 bit architectures
7170
CIBW_ARCHS: "auto64"
72-
CIBW_PROJECT_REQUIRES_PYTHON: ">=3.9,<3.13"
71+
CIBW_PROJECT_REQUIRES_PYTHON: ">=3.10"
7372
CIBW_TEST_REQUIRES: "pytest==7.4.2 moto==5.0.1"
7473
CIBW_TEST_COMMAND: "pytest {project}/tests/avro/test_decoder.py"
7574
# Ignore tests for pypy since not all dependencies are compiled for it

.github/workflows/python-ci-docs.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,3 +45,5 @@ jobs:
4545
run: make docs-install
4646
- name: Build docs
4747
run: make docs-build
48+
- name: Run linters
49+
run: make lint

.github/workflows/python-ci.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ jobs:
4747
runs-on: ubuntu-latest
4848
strategy:
4949
matrix:
50-
python: ['3.9', '3.10', '3.11', '3.12']
50+
python: ['3.10', '3.11', '3.12']
5151

5252
steps:
5353
- uses: actions/checkout@v5
@@ -71,10 +71,13 @@ jobs:
7171
runs-on: ubuntu-latest
7272
strategy:
7373
matrix:
74-
python: ['3.9', '3.10', '3.11', '3.12']
74+
python: ['3.10', '3.11', '3.12']
7575

7676
steps:
7777
- uses: actions/checkout@v5
78+
- uses: actions/setup-python@v6
79+
with:
80+
python-version: ${{ matrix.python }}
7881
- name: Install system dependencies
7982
run: sudo apt-get update && sudo apt-get install -y libkrb5-dev # for kerberos
8083
- name: Install

.github/workflows/stale.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ jobs:
3131
if: github.repository_owner == 'apache'
3232
runs-on: ubuntu-latest
3333
steps:
34-
- uses: actions/stale@v10.0.0
34+
- uses: actions/stale@v10.1.0
3535
with:
3636
stale-issue-label: 'stale'
3737
exempt-issue-labels: 'not-stale'

.github/workflows/svn-build-artifacts.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@ jobs:
4242
- uses: actions/setup-python@v6
4343
with:
4444
python-version: |
45-
3.9
4645
3.10
4746
3.11
4847
3.12
@@ -57,14 +56,14 @@ jobs:
5756
if: startsWith(matrix.os, 'ubuntu')
5857

5958
- name: Build wheels
60-
uses: pypa/[email protected].0
59+
uses: pypa/[email protected].1
6160
with:
6261
output-dir: wheelhouse
6362
config-file: "pyproject.toml"
6463
env:
6564
# Ignore 32 bit architectures
6665
CIBW_ARCHS: "auto64"
67-
CIBW_PROJECT_REQUIRES_PYTHON: ">=3.9,<3.13"
66+
CIBW_PROJECT_REQUIRES_PYTHON: ">=3.10"
6867
CIBW_TEST_REQUIRES: "pytest==7.4.2 moto==5.0.1"
6968
CIBW_TEST_COMMAND: "pytest {project}/tests/avro/test_decoder.py"
7069
# Ignore tests for pypy since not all dependencies are compiled for it

.pre-commit-config.yaml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,12 @@ repos:
3737
hooks:
3838
- id: mypy
3939
args:
40-
[--install-types, --non-interactive, --config=pyproject.toml]
40+
[--config=pyproject.toml]
41+
additional_dependencies:
42+
- types-cachetools
43+
- types-pytest-lazy-fixture
44+
- types-pytz
45+
- types-requests
4146
- repo: https://github.com/igorshubovych/markdownlint-cli
4247
rev: v0.45.0
4348
hooks:

Makefile

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -83,8 +83,8 @@ install: install-poetry install-dependencies ## Install Poetry and dependencies
8383
check-license: ## Check license headers
8484
./dev/check-license
8585

86-
lint: ## Run code linters via pre-commit
87-
$(POETRY) run pre-commit run --all-files
86+
lint: ## Run code linters via prek (pre-commit hooks)
87+
$(POETRY) run prek run -a
8888

8989
# ===============
9090
# Testing Section
@@ -100,10 +100,8 @@ test-integration: test-integration-setup test-integration-exec test-integration-
100100
test-integration-setup: ## Start Docker services for integration tests
101101
docker compose -f dev/docker-compose-integration.yml kill
102102
docker compose -f dev/docker-compose-integration.yml rm -f
103-
docker compose -f dev/docker-compose-integration.yml up -d
104-
sleep 10
105-
docker compose -f dev/docker-compose-integration.yml cp ./dev/provision.py spark-iceberg:/opt/spark/provision.py
106-
docker compose -f dev/docker-compose-integration.yml exec -T spark-iceberg ipython ./provision.py
103+
docker compose -f dev/docker-compose-integration.yml up -d --wait
104+
$(POETRY) run python dev/provision.py
107105

108106
test-integration-exec: ## Run integration tests (excluding provision)
109107
$(TEST_RUNNER) pytest tests/ -m integration $(PYTEST_ARGS)

dev/.rat-excludes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,4 @@ build
44
.git
55
.gitignore
66
poetry.lock
7+
mkdocs/*

dev/Dockerfile

Lines changed: 0 additions & 98 deletions
This file was deleted.

dev/docker-compose-integration.yml

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,8 @@
1717

1818
services:
1919
spark-iceberg:
20-
image: python-integration
2120
container_name: pyiceberg-spark
22-
build: .
21+
build: spark/
2322
networks:
2423
iceberg_net:
2524
depends_on:
@@ -37,6 +36,12 @@ services:
3736
- rest:rest
3837
- hive:hive
3938
- minio:minio
39+
healthcheck:
40+
test: ["CMD", "sh", "-c", "netstat -an | grep 15002 | grep LISTEN"]
41+
interval: 30s
42+
timeout: 10s
43+
retries: 5
44+
start_period: 90s
4045
rest:
4146
image: apache/iceberg-rest-fixture
4247
container_name: pyiceberg-rest
@@ -87,7 +92,7 @@ services:
8792
"
8893
hive:
8994
build: hive/
90-
container_name: hive
95+
container_name: pyiceberg-hive
9196
hostname: hive
9297
networks:
9398
iceberg_net:

0 commit comments

Comments
 (0)