Skip to content

Commit 252b64f

Browse files
committed
Python: Migrate from iceberg to iceberg-python
0 parents  commit 252b64f

File tree

170 files changed

+171835
-0
lines changed

Some content is hidden

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

170 files changed

+171835
-0
lines changed

.asf.yaml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
#
2+
# Licensed to the Apache Software Foundation (ASF) under one
3+
# or more contributor license agreements. See the NOTICE file
4+
# distributed with this work for additional information
5+
# regarding copyright ownership. The ASF licenses this file
6+
# to you under the Apache License, Version 2.0 (the
7+
# "License"); you may not use this file except in compliance
8+
# with the License. You may obtain a copy of the License at
9+
#
10+
# http://www.apache.org/licenses/LICENSE-2.0
11+
#
12+
# Unless required by applicable law or agreed to in writing,
13+
# software distributed under the License is distributed on an
14+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15+
# KIND, either express or implied. See the License for the
16+
# specific language governing permissions and limitations
17+
# under the License.
18+
#
19+
20+
# The format of this file is documented at
21+
# https://cwiki.apache.org/confluence/display/INFRA/Git+-+.asf.yaml+features
22+
23+
github:
24+
description: "Apache PyIceberg"
25+
homepage: https://py.iceberg.apache.org/
26+
labels:
27+
- iceberg
28+
- apache
29+
- hacktoberfest
30+
- pyiceberg
31+
features:
32+
wiki: true
33+
issues: true
34+
projects: true
35+
collaborators: # Note: the number of collaborators is limited to 10
36+
- ajantha-bhat
37+
ghp_branch: gh-pages
38+
ghp_path: ~
39+
40+
notifications:
41+
42+
43+
pullrequests: [email protected]
44+
jira_options: link label link label
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
---
2+
name: Iceberg Bug report 🐞
3+
description: Problems, bugs and issues with Apache Iceberg
4+
labels: ["kind:bug"]
5+
body:
6+
- type: dropdown
7+
attributes:
8+
label: Apache Iceberg version
9+
description: What Apache Iceberg version are you using?
10+
multiple: false
11+
options:
12+
- "1.3.1 (latest release)"
13+
- "1.3.0"
14+
- "1.2.1"
15+
- "1.2.0"
16+
- "1.1.0"
17+
- "1.0.0"
18+
- "0.14.1"
19+
- "0.14.0"
20+
- "0.13.1"
21+
- "0.13.0"
22+
- "0.12.1"
23+
- "0.12.0"
24+
- "0.11.1"
25+
- "0.11.0"
26+
- "main (development)"
27+
validations:
28+
required: false
29+
- type: dropdown
30+
attributes:
31+
label: Query engine
32+
description: Which query engine?
33+
multiple: false
34+
options:
35+
- Spark
36+
- Trino
37+
- Starburst
38+
- Snowflake
39+
- Dremio
40+
- Starrocks
41+
- Doris
42+
- EMR
43+
- Athena
44+
- PrestoDB
45+
- Flink
46+
- Impala
47+
- Hive
48+
- Other
49+
validations:
50+
required: false
51+
- type: textarea
52+
attributes:
53+
label: Please describe the bug 🐞
54+
description: >
55+
Please describe the problem, what to expect, and how to reproduce.
56+
Feel free to include stacktraces and the Iceberg catalog configuration.
57+
You can include files by dragging and dropping them here.
58+
validations:
59+
required: true
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
---
2+
name: Iceberg Improvement / Feature Request
3+
description: New features with Apache Iceberg
4+
labels: ["kind:feature request"]
5+
body:
6+
- type: textarea
7+
attributes:
8+
label: Feature Request / Improvement
9+
description: Please describe the feature and elaborate on the use case and motivation behind it
10+
validations:
11+
required: true
12+
- type: dropdown
13+
attributes:
14+
label: Query engine
15+
description: Which query engine?
16+
multiple: false
17+
options:
18+
- Spark
19+
- Trino
20+
- Starburst
21+
- Snowflake
22+
- Dremio
23+
- Starrocks
24+
- Doris
25+
- EMR
26+
- Athena
27+
- PrestoDB
28+
- Flink
29+
- Impala
30+
- Hive
31+
- Other
32+
validations:
33+
required: false
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
name: Iceberg Question
3+
description: Questions around Apache Iceberg
4+
labels: ["kind:question"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: "Feel free to ask your question on [Slack](https://join.slack.com/t/apache-iceberg/shared_invite/zt-1znkcg5zm-7_FE~pcox347XwZE3GNfPg) as well."
9+
- type: textarea
10+
attributes:
11+
label: Query engine
12+
description: Which query engine (Flink, Spark, EMR, etc) are you using?
13+
- type: textarea
14+
attributes:
15+
label: Question
16+
description: What is your question?
17+
validations:
18+
required: true

.github/dependabot.yml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
#
2+
# Licensed to the Apache Software Foundation (ASF) under one
3+
# or more contributor license agreements. See the NOTICE file
4+
# distributed with this work for additional information
5+
# regarding copyright ownership. The ASF licenses this file
6+
# to you under the Apache License, Version 2.0 (the
7+
# "License"); you may not use this file except in compliance
8+
# with the License. You may obtain a copy of the License at
9+
#
10+
# http://www.apache.org/licenses/LICENSE-2.0
11+
#
12+
# Unless required by applicable law or agreed to in writing,
13+
# software distributed under the License is distributed on an
14+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15+
# KIND, either express or implied. See the License for the
16+
# specific language governing permissions and limitations
17+
# under the License.
18+
#
19+
20+
version: 2
21+
updates:
22+
- package-ecosystem: "pip"
23+
directory: "/python/"
24+
schedule:
25+
interval: "weekly"
26+
day: "sunday"
27+
open-pull-requests-limit: 5
28+
- package-ecosystem: "github-actions"
29+
directory: "/"
30+
schedule:
31+
interval: "weekly"
32+
day: "sunday"
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
#
2+
# Licensed to the Apache Software Foundation (ASF) under one
3+
# or more contributor license agreements. See the NOTICE file
4+
# distributed with this work for additional information
5+
# regarding copyright ownership. The ASF licenses this file
6+
# to you under the Apache License, Version 2.0 (the
7+
# "License"); you may not use this file except in compliance
8+
# with the License. You may obtain a copy of the License at
9+
#
10+
# http://www.apache.org/licenses/LICENSE-2.0
11+
#
12+
# Unless required by applicable law or agreed to in writing,
13+
# software distributed under the License is distributed on an
14+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15+
# KIND, either express or implied. See the License for the
16+
# specific language governing permissions and limitations
17+
# under the License.
18+
#
19+
20+
name: "Python Docs"
21+
on:
22+
workflow_dispatch:
23+
24+
concurrency:
25+
group: ${{ github.workflow }}-${{ github.ref }}
26+
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
27+
28+
jobs:
29+
docs:
30+
runs-on: ubuntu-22.04
31+
32+
steps:
33+
- uses: actions/checkout@v4
34+
- uses: actions/setup-python@v4
35+
with:
36+
python-version: ${{ matrix.python }}
37+
- name: Install
38+
working-directory: ./mkdocs
39+
run: pip install -r requirements.txt
40+
- name: Build
41+
working-directory: ./mkdocs
42+
run: mkdocs build --strict
43+
- name: Copy
44+
working-directory: ./mkdocs
45+
run: mv ./site /tmp/site
46+
- name: Push changes to gh-pages branch
47+
run: |
48+
git checkout --orphan gh-pages-tmp
49+
git rm --quiet -rf .
50+
cp -r /tmp/site/* .
51+
git config --global user.name 'GitHub Actions'
52+
git config --global user.email '[email protected]'
53+
echo "py.iceberg.apache.org" > CNAME
54+
git add --all
55+
git commit -m 'Publish Python docs'
56+
git push -f origin gh-pages-tmp:gh-pages || true

.github/workflows/python-ci.yml

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
#
2+
# Licensed to the Apache Software Foundation (ASF) under one
3+
# or more contributor license agreements. See the NOTICE file
4+
# distributed with this work for additional information
5+
# regarding copyright ownership. The ASF licenses this file
6+
# to you under the Apache License, Version 2.0 (the
7+
# "License"); you may not use this file except in compliance
8+
# with the License. You may obtain a copy of the License at
9+
#
10+
# http://www.apache.org/licenses/LICENSE-2.0
11+
#
12+
# Unless required by applicable law or agreed to in writing,
13+
# software distributed under the License is distributed on an
14+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15+
# KIND, either express or implied. See the License for the
16+
# specific language governing permissions and limitations
17+
# under the License.
18+
#
19+
20+
name: "Python CI"
21+
on:
22+
push:
23+
branches:
24+
- 'main'
25+
26+
concurrency:
27+
group: ${{ github.workflow }}-${{ github.ref }}
28+
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
29+
30+
jobs:
31+
lint-and-test:
32+
runs-on: ubuntu-22.04
33+
strategy:
34+
matrix:
35+
python: ['3.8', '3.9', '3.10', '3.11']
36+
37+
steps:
38+
- uses: actions/checkout@v4
39+
- name: Install poetry
40+
working-directory: ./python
41+
run: make install-poetry
42+
- uses: actions/setup-python@v4
43+
with:
44+
python-version: ${{ matrix.python }}
45+
cache: poetry
46+
cache-dependency-path: poetry.lock
47+
- name: Install
48+
working-directory: ./python
49+
run: make install-dependencies
50+
- name: Linters
51+
working-directory: ./python
52+
run: make lint
53+
- name: Tests
54+
working-directory: ./python
55+
run: make test-coverage
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
#
2+
# Licensed to the Apache Software Foundation (ASF) under one
3+
# or more contributor license agreements. See the NOTICE file
4+
# distributed with this work for additional information
5+
# regarding copyright ownership. The ASF licenses this file
6+
# to you under the Apache License, Version 2.0 (the
7+
# "License"); you may not use this file except in compliance
8+
# with the License. You may obtain a copy of the License at
9+
#
10+
# http://www.apache.org/licenses/LICENSE-2.0
11+
#
12+
# Unless required by applicable law or agreed to in writing,
13+
# software distributed under the License is distributed on an
14+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15+
# KIND, either express or implied. See the License for the
16+
# specific language governing permissions and limitations
17+
# under the License.
18+
#
19+
20+
name: "Python Integration"
21+
on:
22+
push:
23+
branches:
24+
- 'main'
25+
26+
concurrency:
27+
group: ${{ github.workflow }}-${{ github.ref }}
28+
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
29+
30+
jobs:
31+
integration-test:
32+
runs-on: ubuntu-20.04
33+
34+
steps:
35+
- uses: actions/checkout@v4
36+
with:
37+
fetch-depth: 2
38+
- name: Install
39+
run: make install
40+
- name: Run integration tests
41+
run: make test-integration
42+
- name: Show debug logs
43+
if: ${{ failure() }}
44+
run: docker-compose -f python/dev/docker-compose.yml logs

0 commit comments

Comments
 (0)