wala/ML

Missing cases for importing scripts from package initialization code

オープン

#210 opened on 2024/07/22

 (0 件のコメント) (0 件のリアクション) (0 人の担当者)Java (17 件のフォーク)auto 404
PYTHONPATHenhancementhelp wanted

Repository metrics

Stars
 (27 個のスター)
PR merge metrics
 (PR metrics pending)

説明

We're missing some cases from #202 where we import scripts containing package initialization code that involve the syntax import A.B.C. It looks like we covered from A.B import C. Consider the following example:

# src/__init__.py
from .module import *

# src/module.py
import tensorflow as tf

def f(a):
    assert isinstance(a, tf.Tensor)

# client.py
from tensorflow import ones
import src

src.f(ones([1, 2]))

We cannot find a CG node for src.module.f. If we change the wildcard in src/__init__.py to explicitly reference f, it still doesn't work.

Regression

I don't think this is a bug. I think we just only handled the wildcard import case in the client.

コントリビューターガイド