function PythonScript(code)
{

	Group.call(this);
	
	this.type = "PythonScript";
	this.name = "script";

	/**
	 * Python code attached to the script.
	 * 
	 * It only has acess to the data provided as parameter in each method.
	 * - initialize(obj, scene, program, keyboard, mouse) 
	 *    - Called on app initialization, its called after all children elements are initialized, its safe to apply operations on other objects inside this method.
	 *  - update(delta, obj, scene, program, keyboard, mouse)
	 *    - Called on every frame after rendering
	 *  - dispose(obj, scene, program, keyboard, mouse)
	 *    - Called when disposing the program
	 *  - onMouseOver(intersections, obj, scene, program, keyboard, mouse)
	 *    - Called on every frame if mouse is on top of one of the script children
	 *    - Receives an intersections array as argument.
	 *  - onResize(x, y, obj, scene, program, keyboard, mouse)
	 *    - Called every time the window is resized
	 *    - Receives width and height as parameters
	 *  - onAppData(data, obj, scene, program, keyboard, mouse)
	 *    - Called when receiving data sent by the host website
	 * 
	 * @property code
	 * @type {string}
	 */
	this.code = code !== undefined ? code : PythonScript.DEFAULT;

	/**
	 * Compiled function used during runtime.
	 *
	 * This varible gets created using the compileCode() function called automatically on initalization.
	 *
	 * @attribute script
	 * @type {Function}
	 */
	this.script = {};

	/**
	 * Reference to the program object.
	 *
	 * Can be used to access other scenes, get resources and objects.
	 *
	 * @property program
	 * @type {Program}
	 */
	this.program = null;

	/**
	 * Reference to the scene where the script is placed.
	 *
	 * Can be used to interact with other objects.
	 *
	 * @property scene
	 * @type {Scene}
	 */
	this.scene = null;
}
Python scripts are similar to Script object by are written using the Python programming language.

Support for Python is provided using the Brython (https://github.com/brython-dev/brython) transpiler.

It is not possible to include external python code and libraries to the script.

@class PythonScript
@extends {Script}
@param {string} code Code to be used by this script
@module Script