File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -9,6 +9,12 @@ def jl_name(name):
99 return name
1010
1111
12+ def py_name (name ):
13+ if name .endswith ('!' ):
14+ return name [:- 1 ] + '_b'
15+ return name
16+
17+
1218class JuliaAPI (object ):
1319
1420 def __init__ (self , eval_str , set_var ):
@@ -35,6 +41,21 @@ def __getattr__(self, name):
3541 else :
3642 return self .__julia .eval (jl_name (name ))
3743
44+ @property
45+ def __all__ (self ):
46+ names = self .__julia .eval ("names(Main)" )
47+ return list (map (py_name , names ))
48+
49+ def __dir__ (self ):
50+ if sys .version_info .major == 2 :
51+ names = set ()
52+ else :
53+ names = set (super (JuliaNameSpace , self ).__dir__ ())
54+ names .update (self .__all__ )
55+ return list (names )
56+ # Override __dir__ method so that completing member names work
57+ # well in Python REPLs like IPython.
58+
3859
3960instruction_template = """
4061
You can’t perform that action at this time.
0 commit comments