wala/ML

Missing cases for importing scripts from package initialization code

Ouverte

#210 ouverte le 22 juil. 2024

 (0 commentaire) (0 réaction) (0 personne assignée)Java (17 forks)auto 404
PYTHONPATHenhancementhelp wanted

Métriques du dépôt

Stars
 (27 étoiles)
Métriques de merge PR
 (Métriques PR en attente)

Description

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.

Guide contributeur