This is an automated email from the ASF dual-hosted git repository.

xuanwo pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg-rust.git


The following commit(s) were added to refs/heads/main by this push:
     new d3d3127bf add Makefile to bindings/python (#1800)
d3d3127bf is described below

commit d3d3127bf43bd6102acc13dbb064ae4633f8e923
Author: Kevin Liu <[email protected]>
AuthorDate: Wed Oct 29 01:13:18 2025 -0700

    add Makefile to bindings/python (#1800)
    
    ## Which issue does this PR close?
    
    <!--
    We generally require a GitHub issue to be filed for all bug fixes and
    enhancements and this helps us generate change logs for our releases.
    You can link an issue to this PR using the GitHub syntax. For example
    `Closes #123` indicates that this PR will close issue #123.
    -->
    
    - Closes #.
    
    ## What changes are included in this PR?
    
    <!--
    Provide a summary of the modifications in this PR. List the main changes
    such as new features, bug fixes, refactoring, or any other updates.
    -->
    Follow up to #1796
    This PR adds
    ```
    make install
    make build
    make test
    ```
    to `bindings/python/`
    
    ## Are these changes tested?
    
    <!--
    Specify what test covers (unit test, integration test, etc.).
    
    If tests are not included in your PR, please explain why (for example,
    are they covered by existing tests)?
    -->
---
 .github/workflows/bindings_python_ci.yml | 22 +++++++++++++---------
 bindings/python/Makefile                 | 26 ++++++++++++++++++++++++++
 bindings/python/README.md                |  6 +++---
 3 files changed, 42 insertions(+), 12 deletions(-)

diff --git a/.github/workflows/bindings_python_ci.yml 
b/.github/workflows/bindings_python_ci.yml
index 9ea2ac0b9..55e7e5bbd 100644
--- a/.github/workflows/bindings_python_ci.yml
+++ b/.github/workflows/bindings_python_ci.yml
@@ -56,17 +56,21 @@ jobs:
     runs-on: ubuntu-latest
     steps:
       - uses: actions/checkout@v5
+      - uses: astral-sh/setup-uv@v6
+        with:
+          version: "0.9.3"
+          enable-cache: true
       - name: Install tools
         run: |
-          pip install ruff
+          uv tool install ruff
       - name: Check format
         working-directory: "bindings/python"
         run: |
-          ruff format . --diff
+          uvx ruff format . --diff
       - name: Check style
         working-directory: "bindings/python"
         run: |
-          ruff check .
+          uvx ruff check .
 
   test:
     runs-on: ${{ matrix.os }}
@@ -86,15 +90,15 @@ jobs:
           working-directory: "bindings/python"
           command: build
           args: --out dist --sdist
-      - name: Install uv
-        shell: bash
-        run: |
-          python -m pip install uv==0.9.3
+      - uses: astral-sh/setup-uv@v6
+        with:
+          version: "0.9.3"
+          enable-cache: true
       - name: Sync dependencies
         working-directory: "bindings/python"
         shell: bash
         run: |
-          uv sync --group dev --no-install-project
+          make install
       - name: Install built wheel
         working-directory: "bindings/python"
         shell: bash
@@ -104,4 +108,4 @@ jobs:
         working-directory: "bindings/python"
         shell: bash
         run: |
-          uv run --group dev --no-sync pytest
+          make test
diff --git a/bindings/python/Makefile b/bindings/python/Makefile
new file mode 100644
index 000000000..c36a1091d
--- /dev/null
+++ b/bindings/python/Makefile
@@ -0,0 +1,26 @@
+# 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.
+
+
+install:
+       uv sync --group dev --no-install-project
+
+build:
+       uv run maturin develop
+
+test:
+       uv run --no-sync pytest
diff --git a/bindings/python/README.md b/bindings/python/README.md
index a91599d9a..320a9a401 100644
--- a/bindings/python/README.md
+++ b/bindings/python/README.md
@@ -32,17 +32,17 @@ pip install uv==0.9.3
 Set up the development environment:
 
 ```shell
-uv sync --group dev
+make install
 ```
 
 ## Build
 
 ```shell
-uv run --group dev maturin develop
+make build
 ```
 
 ## Test
 
 ```shell
-uv run --group dev pytest
+make test
 ```

Reply via email to