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

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


The following commit(s) were added to refs/heads/main by this push:
     new 59cdf33d fix: Add Cython build step to Makefile (#2869)
59cdf33d is described below

commit 59cdf33d75cc726c92ca4fa0c7b0ad1e16f8f30a
Author: geruh <[email protected]>
AuthorDate: Sun Dec 28 12:00:38 2025 -0800

    fix: Add Cython build step to Makefile (#2869)
    
    # Rationale for this change
    
    Currently, uv sync is building the Cython extensions on first install.
    After running `make clean` (which deletes .so files), subsequent uv sync
    does not rebuild them, causing:
    
    ```
      ModuleNotFoundError: No module named 'pyiceberg.avro.decoder_fast'
    ```
    
    This seems to be related to some known uv behavior:
    https://github.com/astral-sh/uv/issues/12399. The `--reinstall` flag
    forces uv to rebuild the package and its extensions.
    
    > Note: CI works because it always starts fresh. Local dev breaks after
    make clean.
    
    ## Are these changes tested?
    
    `make clean && make test`
    
    ## Are there any user-facing changes?
    
    new make target
---
 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index f1f7874e..85d77438 100644
--- a/Makefile
+++ b/Makefile
@@ -70,7 +70,7 @@ setup-venv: ## Create virtual environment
        uv venv $(PYTHON_ARG)
 
 install-dependencies: setup-venv ## Install all dependencies including extras
-       uv sync $(PYTHON_ARG) --all-extras
+       uv sync $(PYTHON_ARG) --all-extras --reinstall
 
 install: install-uv install-dependencies ## Install uv and dependencies
 

Reply via email to