akhilputhiry commented on issue #2419: URL: https://github.com/apache/polaris/issues/2419#issuecomment-3407400593
Thanks for sharing the thoughts @binarycat0 and @HonahX I have been testing this our for one of my use case and I faced the issue which is why I commented here at the first place Steps to reproduce ``` git clone https://github.com/apache/polaris.git make client-build cd client/python/dist pip install ./polaris-1.2.0.tar.gz ``` Error ``` root@21585f04a6a8:/# pip install /tmp/polaris-1.2.0.tar.gz Processing /tmp/polaris-1.2.0.tar.gz Installing build dependencies ... done Getting requirements to build wheel ... done Preparing metadata (pyproject.toml) ... done Collecting boto3<1.41.0,>=1.40.6 (from polaris==1.2.0) Downloading boto3-1.40.52-py3-none-any.whl.metadata (6.7 kB) Collecting pydantic<2.12.0,>=2.0.0 (from polaris==1.2.0) Downloading pydantic-2.11.10-py3-none-any.whl.metadata (68 kB) Collecting python-dateutil>=2.8.2 (from polaris==1.2.0) Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl.metadata (8.4 kB) Collecting typing-extensions>=4.7.1 (from polaris==1.2.0) Downloading typing_extensions-4.15.0-py3-none-any.whl.metadata (3.3 kB) Collecting urllib3<3.0.0,>=1.25.3 (from polaris==1.2.0) Downloading urllib3-2.5.0-py3-none-any.whl.metadata (6.5 kB) Collecting botocore<1.41.0,>=1.40.52 (from boto3<1.41.0,>=1.40.6->polaris==1.2.0) Downloading botocore-1.40.52-py3-none-any.whl.metadata (5.7 kB) Collecting jmespath<2.0.0,>=0.7.1 (from boto3<1.41.0,>=1.40.6->polaris==1.2.0) Downloading jmespath-1.0.1-py3-none-any.whl.metadata (7.6 kB) Collecting s3transfer<0.15.0,>=0.14.0 (from boto3<1.41.0,>=1.40.6->polaris==1.2.0) Downloading s3transfer-0.14.0-py3-none-any.whl.metadata (1.7 kB) Collecting annotated-types>=0.6.0 (from pydantic<2.12.0,>=2.0.0->polaris==1.2.0) Downloading annotated_types-0.7.0-py3-none-any.whl.metadata (15 kB) Collecting pydantic-core==2.33.2 (from pydantic<2.12.0,>=2.0.0->polaris==1.2.0) Downloading pydantic_core-2.33.2.tar.gz (435 kB) Installing build dependencies ... done Getting requirements to build wheel ... done Installing backend dependencies ... done Preparing metadata (pyproject.toml) ... done Collecting typing-inspection>=0.4.0 (from pydantic<2.12.0,>=2.0.0->polaris==1.2.0) Downloading typing_inspection-0.4.2-py3-none-any.whl.metadata (2.6 kB) Collecting six>=1.5 (from python-dateutil>=2.8.2->polaris==1.2.0) Downloading six-1.17.0-py2.py3-none-any.whl.metadata (1.7 kB) Downloading boto3-1.40.52-py3-none-any.whl (139 kB) Downloading botocore-1.40.52-py3-none-any.whl (14.1 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 14.1/14.1 MB 23.5 MB/s 0:00:00 Downloading jmespath-1.0.1-py3-none-any.whl (20 kB) Downloading pydantic-2.11.10-py3-none-any.whl (444 kB) Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB) Downloading s3transfer-0.14.0-py3-none-any.whl (85 kB) Downloading urllib3-2.5.0-py3-none-any.whl (129 kB) Downloading annotated_types-0.7.0-py3-none-any.whl (13 kB) Downloading six-1.17.0-py2.py3-none-any.whl (11 kB) Using cached typing_extensions-4.15.0-py3-none-any.whl (44 kB) Downloading typing_inspection-0.4.2-py3-none-any.whl (14 kB) Building wheels for collected packages: polaris, pydantic-core Building wheel for polaris (pyproject.toml) ... error error: subprocess-exited-with-error × Building wheel for polaris (pyproject.toml) did not run successfully. │ exit code: 1 ╰─> [66 lines of output] Preparing spec directory... Source spec directory not found, using existing spec directory. Deleting old tests... Test directory /tmp/pip-req-build-tf3tcvqb/test does not exist, skipping test cleanup. Traceback (most recent call last): File "/tmp/pip-req-build-tf3tcvqb/generate_clients.py", line 328, in <module> main() ~~~~^^ File "/tmp/pip-req-build-tf3tcvqb/generate_clients.py", line 324, in main build() ~~~~~^^ File "/tmp/pip-req-build-tf3tcvqb/generate_clients.py", line 303, in build generate_polaris_management_client() ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/tmp/pip-req-build-tf3tcvqb/generate_clients.py", line 133, in generate_polaris_management_client subprocess.check_call( ~~~~~~~~~~~~~~~~~~~~~^ [ ^ ...<18 lines>... stderr=subprocess.DEVNULL, ^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/local/lib/python3.14/subprocess.py", line 419, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['openapi-generator-cli', 'generate', '-i', '/tmp/pip-req-build-tf3tcvqb/spec/polaris-management-service.yml', '-g', 'python', '-o', '/tmp/pip-req-build-tf3tcvqb', '--additional-properties=packageName=polaris.management', '--additional-properties=apiNamePrefix=polaris', '--additional-properties=pythonVersion=3.10', '--additional-properties=generateSourceCodeOnly=true', '--skip-validate-spec', '--ignore-file-override', '/tmp/pip-req-build-tf3tcvqb/.openapi-generator-ignore', '--global-property=apiDocs=false,modelDocs=false,modelTests=false,apiTests=false']' returned non-zero exit status 1. Traceback (most recent call last): File "/usr/local/lib/python3.14/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 389, in <module> main() ~~~~^^ File "/usr/local/lib/python3.14/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 373, in main json_out["return_val"] = hook(**hook_input["kwargs"]) ~~~~^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.14/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 280, in build_wheel return _build_backend().build_wheel( ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ wheel_directory, config_settings, metadata_directory ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/tmp/pip-build-env-hm0wpel9/overlay/lib/python3.14/site-packages/poetry/core/masonry/api.py", line 58, in build_wheel return WheelBuilder.make_in( ~~~~~~~~~~~~~~~~~~~~^ poetry, ^^^^^^^ ...<2 lines>... config_settings=config_settings, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/tmp/pip-build-env-hm0wpel9/overlay/lib/python3.14/site-packages/poetry/core/masonry/builders/wheel.py", line 95, in make_in wb.build(target_dir=directory) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/tmp/pip-build-env-hm0wpel9/overlay/lib/python3.14/site-packages/poetry/core/masonry/builders/wheel.py", line 134, in build self._build(zip_file) ~~~~~~~~~~~^^^^^^^^^^ File "/tmp/pip-build-env-hm0wpel9/overlay/lib/python3.14/site-packages/poetry/core/masonry/builders/wheel.py", line 183, in _build self._run_build_script(self._package.build_script) ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/tmp/pip-build-env-hm0wpel9/overlay/lib/python3.14/site-packages/poetry/core/masonry/builders/wheel.py", line 304, in _run_build_script subprocess.check_call([self.executable.as_posix(), build_script]) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.14/subprocess.py", line 419, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['/usr/local/bin/python3.14', 'generate_clients.py']' returned non-zero exit status 1. [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for polaris Building wheel for pydantic-core (pyproject.toml) ... error error: subprocess-exited-with-error × Building wheel for pydantic-core (pyproject.toml) did not run successfully. │ exit code: 1 ╰─> [98 lines of output] Running `maturin pep517 build-wheel -i /usr/local/bin/python3.14 --compatibility off` Python reports SOABI: cpython-314-aarch64-linux-gnu Computed rustc target triple: aarch64-unknown-linux-gnu Installation directory: /root/.cache/puccinialin Rustup already downloaded Installing rust to /root/.cache/puccinialin/rustup warn: It looks like you have an existing rustup settings file at: warn: /root/.rustup/settings.toml warn: Rustup will install the default toolchain as specified in the settings file, warn: instead of the one inferred from the default host triple. info: profile set to 'minimal' info: default host triple is aarch64-unknown-linux-gnu warn: Updating existing toolchain, profile choice will be ignored info: syncing channel updates for 'stable-aarch64-unknown-linux-gnu' info: default toolchain set to 'stable-aarch64-unknown-linux-gnu' Checking if cargo is installed cargo 1.90.0 (840b83a10 2025-07-30) 📦 Including license file `LICENSE` 🍹 Building a mixed python/rust project 🔗 Found pyo3 bindings 🐍 Found CPython 3.14 at /usr/local/bin/python3.14 📡 Using build options features, bindings from pyproject.toml Compiling proc-macro2 v1.0.86 Compiling unicode-ident v1.0.12 Compiling target-lexicon v0.13.2 Compiling python3-dll-a v0.2.13 Compiling once_cell v1.19.0 Compiling stable_deref_trait v1.2.0 Compiling autocfg v1.3.0 Compiling writeable v0.5.5 Compiling litemap v0.7.3 Compiling libc v0.2.155 Compiling heck v0.5.0 Compiling num-traits v0.2.19 Compiling icu_locid_transform_data v1.5.0 Compiling version_check v0.9.5 Compiling pyo3-build-config v0.24.1 Compiling smallvec v1.14.0 Compiling quote v1.0.36 Compiling icu_properties_data v1.5.0 Compiling syn v2.0.82 Compiling rustversion v1.0.17 Compiling memoffset v0.9.1 Compiling utf16_iter v1.0.5 Compiling static_assertions v1.1.0 Compiling icu_normalizer_data v1.5.0 Compiling cfg-if v1.0.0 Compiling radium v0.7.0 Compiling memchr v2.7.4 Compiling utf8_iter v1.0.4 Compiling write16 v1.0.0 Compiling lexical-util v1.0.6 Compiling num-integer v0.1.46 Compiling ahash v0.8.11 Compiling pyo3-macros-backend v0.24.1 Compiling pyo3-ffi v0.24.1 Compiling pyo3 v0.24.1 Compiling tap v1.0.1 Compiling serde v1.0.218 Compiling wyz v0.5.1 Compiling lexical-parse-integer v1.0.5 error: failed to run custom build command for `pyo3-ffi v0.24.1` Caused by: process didn't exit successfully: `/tmp/pip-install-wvt5x89u/pydantic-core_9034316f2f3049b68265731242e8e6d1/target/release/build/pyo3-ffi-28058e6af613ccbe/build-script-build` (exit status: 1) --- stdout cargo:rustc-check-cfg=cfg(Py_LIMITED_API) cargo:rustc-check-cfg=cfg(Py_GIL_DISABLED) cargo:rustc-check-cfg=cfg(PyPy) cargo:rustc-check-cfg=cfg(GraalPy) cargo:rustc-check-cfg=cfg(py_sys_config, values("Py_DEBUG", "Py_REF_DEBUG", "Py_TRACE_REFS", "COUNT_ALLOCS")) cargo:rustc-check-cfg=cfg(pyo3_disable_reference_pool) cargo:rustc-check-cfg=cfg(pyo3_leak_on_drop_without_reference_pool) cargo:rustc-check-cfg=cfg(Py_3_7) cargo:rustc-check-cfg=cfg(Py_3_8) cargo:rustc-check-cfg=cfg(Py_3_9) cargo:rustc-check-cfg=cfg(Py_3_10) cargo:rustc-check-cfg=cfg(Py_3_11) cargo:rustc-check-cfg=cfg(Py_3_12) cargo:rustc-check-cfg=cfg(Py_3_13) cargo:rustc-check-cfg=cfg(Py_3_14) cargo:rerun-if-env-changed=PYO3_CROSS cargo:rerun-if-env-changed=PYO3_CROSS_LIB_DIR cargo:rerun-if-env-changed=PYO3_CROSS_PYTHON_VERSION cargo:rerun-if-env-changed=PYO3_CROSS_PYTHON_IMPLEMENTATION cargo:rerun-if-env-changed=PYO3_PRINT_CONFIG cargo:rerun-if-env-changed=PYO3_USE_ABI3_FORWARD_COMPATIBILITY --- stderr error: the configured Python interpreter version (3.14) is newer than PyO3's maximum supported version (3.13) = help: please check if an updated version of PyO3 is available. Current version: 0.24.1 = help: set PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1 to suppress this check and build anyway using the stable ABI warning: build failed, waiting for other jobs to finish... 💥 maturin failed Caused by: Failed to build a native library through cargo Caused by: Cargo build finished with "exit status: 101": `env -u CARGO PYO3_BUILD_EXTENSION_MODULE="1" PYO3_ENVIRONMENT_SIGNATURE="cpython-3.14-64bit" PYO3_PYTHON="/usr/local/bin/python3.14" PYTHON_SYS_EXECUTABLE="/usr/local/bin/python3.14" "cargo" "rustc" "--features" "pyo3/extension-module" "--message-format" "json-render-diagnostics" "--manifest-path" "/tmp/pip-install-wvt5x89u/pydantic-core_9034316f2f3049b68265731242e8e6d1/Cargo.toml" "--release" "--lib" "--crate-type" "cdylib"` Rust not found, installing into a temporary directory Error: command ['maturin', 'pep517', 'build-wheel', '-i', '/usr/local/bin/python3.14', '--compatibility', 'off'] returned non-zero exit status 1 [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for pydantic-core Failed to build polaris pydantic-core error: failed-wheel-build-for-install × Failed to build installable wheels for some pyproject.toml based projects ╰─> polaris, pydantic-core ``` On debugging further I noted that the `generate_clients.py` will get executed during packaging time as well as installation time -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
