wala/ML

Missing cases for importing scripts from package initialization code

開放

#210 建立於 2024年7月22日

 (0 則留言) (0 個反應) (0 位負責人)Java (17 個分叉)auto 404
PYTHONPATHenhancementhelp wanted

倉庫指標

星標
 (27 顆星)
PR 合併指標
 (PR 指標待抓取)

描述

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.

貢獻者指南