5.9 KiB
API Reference
pyodide version 0.1.0
Backward compatibility of the API is not guaranteed at this point.
Python API
pyodide.open_url(url)
Fetches a given url and returns a io.StringIO
to access its contents.
Parameters
name | type | description |
---|---|---|
url | str | the URL to open |
Returns
A io.StringIO
object with the URL contents./
pyodide.eval_code(code, ns)
Runs a string of code. The last part of the string may be an expression, in which case, its value is returned.
This function may be overridden to change how pyodide.runPython
interprets code, for example to perform
some preprocessing on the Python code first.
Parameters
name | type | description |
---|---|---|
code | str | the code to evaluate |
ns | dict | evaluation name space |
Returns
Either the resulting object or None
.
pyodide.as_nested_list(obj)
Converts Javascript nested arrays to Python nested lists. This conversion can not be performed automatically, because Javascript Arrays and Objects can be combined in ways that are ambiguous.
Parameters
name | type | description |
---|---|---|
obj | JS Object | The object to convert |
Returns
The object as nested Python lists.
Javascript API
pyodide.loadPackage(names)
Load a package or a list of packages over the network.
This makes the files for the package available in the virtual filesystem. The package needs to be imported from Python before it can be used.
Parameters
name | type | description |
---|---|---|
names | {String, Array} | package name, or URL. Can be either a single element, or an array. |
messageCallback | function | A callback, called with progress messages. (optional) |
Returns
Loading is asynchronous, therefore, this returns a Promise
.
pyodide.loadedPackages
Array
with loaded packages.
Use Object.keys(pyodide.loadedPackages)
to access the names of the
loaded packages, and pyodide.loadedPackages[package_name]
to access
install location for a particular package_name
.
pyodide.pyimport(name)
Access a Python object from Javascript. The object must be in the global Python namespace.
For example, to access the foo
Python object from Javascript:
var foo = pyodide.pyimport('foo')
Parameters
name | type | description |
---|---|---|
names | String | Python variable name |
Returns
name | type | description |
---|---|---|
object | any | If one of the basic types (string, |
number, boolean, array, object), the | ||
Python object is converted to | ||
Javascript and returned. For other | ||
types, a Proxy object to the Python | ||
object is returned. |
pyodide.globals
An object whose attributes are members of the Python global namespace. This is a
more convenient alternative to pyodide.pyimport
.
For example, to access the foo
Python object from Javascript:
pyodide.globals.foo
pyodide.repr(obj)
Gets the Python's string representation of an object.
This is equivalent to calling repr(obj)
in Python.
Parameters
name | type | description |
---|---|---|
obj | any | Input object |
Returns
name | type | description |
---|---|---|
str_repr | String | String representation of the input object |
pyodide.runPython(code)
Runs a string of code. The last part of the string may be an expression, in which case, its value is returned.
Parameters
name | type | description |
---|---|---|
code | String | Python code to evaluate |
Returns
name | type | description |
---|---|---|
jsresult | any | Result, converted to Javascript |
pyodide.runPythonAsync(code, messageCallback)
Runs Python code, possibly asynchronously loading any known packages that the code chunk imports.
For example, given the following code chunk
import numpy as np
x = np.array([1, 2, 3])
pyodide will first call pyodide.loadPackage(['numpy'])
, and then run the code
chunk, returning the result. Since package fetching must happen asynchronously,
this function returns a Promise
which resolves to the output. For example, to
use:
pyodide.runPythonAsync(code, messageCallback)
.then((output) => handleOutput(output))
Parameters
name | type | description |
---|---|---|
code | String | Python code to evaluate |
messageCallback | function | Callback given status messages |
(optional) |
Returns
name | type | description |
---|---|---|
result | Promise | Resolves to the result of the code chunk |
pyodide.version()
Returns the pyodide version.
It can be either the exact release version (e.g. 0.1.0
), or
the latest release version followed by the number of commits since, and
the git hash of the current commit (e.g. 0.1.0-1-bd84646
).
Parameters
None
Returns
name | type | description |
---|---|---|
version | String | Pyodide version string |