bytecodealliance / bytecodealliance/componentize-py

pydantic support

オープン
#137 コメント 6 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Rust
スター
277
フォーク
51
平均マージ
12時間 10分
マージ済み PR(30日)
10

説明

did anyone try pydantic with componentize-py?

I ran into this issue and was told to raise an issue here.

I am not able to compile the code to a wasm binary
error:
```
(.venv) (base) wasm/component-reconciler - (result) > just build-guest-python
/opt/homebrew/bin/uv
==> building python guest component...
Traceback (most recent call last):
File "/Users/henderiw/.cache/uv/archive-v0/_oAvmxPnx7MxwA070F1Ji/bin/componentize-py", line 10, in
sys.exit(script())
~~~~~~^^
AssertionError: Traceback (most recent call last):
File "/0/rec.py", line 3, in
from apis.topo.v1alpha1.topology_types import Topology
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/0/apis/topo/v1alpha1/topology_types.py", line 1, in
from pydantic import BaseModel, Field, ValidationError, model_validator
File "/1/pydantic/__init__.py", line 421, in __getattr__
module = import_module(module_name, package=package)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/python/importlib/__init__.py", line 90, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/1/pydantic/main.py", line 29, in
import pydantic_core
File "/1/pydantic_core/__init__.py", line 6, in
from ._pydantic_core import (
ModuleNotFoundError: No module named 'pydantic_core._pydantic_core'

Caused by:
ModuleNotFoundError: No module named 'pydantic_core._pydantic_core'
```


I installed the modules in my venv
(.venv) (base) wasm/component-reconciler - (result) > uv pip show typing-extensions
Name: typing-extensions
Version: 4.12.2
Location: /Users/henderiw/code/wasm/component-reconciler/.venv/lib/python3.11/site-packages
Requires:
Required-by: pydantic, pydantic-core
(.venv) (base) wasm/component-reconciler - (result) >
(.venv) (base) wasm/component-reconciler - (result) > uv pip show pydantic_core
Name: pydantic-core
Version: 2.27.2
Location: /Users/henderiw/code/wasm/component-reconciler/.venv/lib/python3.11/site-packages
Requires: typing-extensions
Required-by: pydantic
Not sure what is going on? (edited)

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

まず、参照されている `rec.py` と `apis/topo/v1alpha1/topology_types.py` の import を使って、issue の `just build-guest-python` コマンドを再現します。`componentize-py` が `pydantic_core._pydantic_core` をどのようにパッケージ化またはロードするかを追跡します。pydantic ベースの guest が正常にコンパイルできるか、またはサポートされる制限が明確に確立されれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
python, wasm
領域
build-system, tooling
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
25/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。