caketop / python-starlark-go

🐍 Python bindings for starlark-go 🐍
https://python-starlark-go.readthedocs.io/
Apache License 2.0
19 stars 8 forks source link

starlark-go supports json.encode/decode, but python-starlark-go does not. #192

Open torbsorb opened 1 year ago

torbsorb commented 1 year ago

Starlark code:

as_json = json.encode('{"key1": 1, "key2": 2}')
print(as_json)

When you run this with starlark_go it works as expected. It prints:

{"key1": 1, "key2": 2}

However, if you do the same with python-starlark-go, then you get

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
starlark_go.errors.ResolveError: <expr>:1:11: undefined: json

Minimal reproducer in Python:

from starlark_go import Starlark

s = Starlark()
s.exec('''as_json = json.encode('{"key1": 1, "key2": 2}')''')
s.eval("as_json")
jordemort commented 1 year ago

Thanks for the report! I plan to add this in a future release, but I still haven't decided how I want to implement imports