# Python creates a variable "CookieMonster" with value "OmNomNom"
# Kumquat's modding layer sees the variable creation and stores variable "CookieMonster" with value "OmNomNom" for Angelscript and Lua.
# Lua calls for a variable by the name of "CookieMonster", and Kumquat's already rendered value is put into the script as "OmNomNom" for which Lua's scripting calls to re-value "Cookie".
# Kumquat's modding layer sees the re-value and restores variable "CookieMonster" with value "Cookie" for AngelScript and Python.
# AngelScript calls for variable "CookieMonster" and clears it.
# Kumquat's modding layer sees the removal of "CookieMonster" and removes it from Python and Lua.
Generally you cannot share values this simply. In python, for example, all 'values' are objects, and you will have to have C++ import/export protocol for each class, including those created by users in their scripts, which is not as trivial as it sounds (dynamic class/object mutations, closures, __getattribute__, __metaclass__ etc)
Usually engine provides some API to the script, which accepts either simple types or predefined objects, and otherwise leaves script to itself, not trying to touch its internal objects.
Also, I dont think there is a point in having Lua if you have Python. Its only advantage over python is its lightweigthness, but in your scenario python will have to be compiled in engine and loaded anyway, so it does not matter.
Also, whatever they do with other languages they should not put python code in non-standard containers with 'tags'. Even simple python code usually takes several modules and importing is tied to filesystem and file extensions.