If no indexURL is provided, we throw and catch an error and
then use ErrorStackParser to calculate where pyodide.js has
been loaded from. Resolves #2290.
ENH Calculate indexURL from error stack trace. If no indexURL is provided, we throw and catch an error and
then use ErrorStackParser to calculate where pyodide.js has
been loaded from. Resolves #2290.
# Python API

Backward compatibility of the API is not guaranteed at this point.

**JavaScript Modules**

By default there are two JavaScript modules. More can be added with
{any}`pyodide.registerJsModule`. You can import these modules using the Python
`import` statement in the normal way.

```{eval-rst}
.. list-table::

   *  - ``js``
      - The global JavaScript scope.
   *  - :js:mod:`pyodide_js <pyodide>`
      - The JavaScript Pyodide module.
```

```{eval-rst}
.. currentmodule:: pyodide

.. automodule:: pyodide
   :members:
   :autosummary:
   :autosummary-no-nesting:
```

# Python API

Backward compatibility of the API is not guaranteed at this point.

**JavaScript Modules**

By default there are two JavaScript modules. More can be added with
{any}`pyodide.registerJsModule`. You can import these modules using the Python
`import` statement in the normal way.

```{eval-rst}
.. list-table::

   *  - ``js``
      - The global JavaScript scope.
   *  - :js:mod:`pyodide_js <pyodide>`
      - The JavaScript Pyodide module.
```

```{eval-rst}
.. currentmodule:: pyodide

.. automodule:: pyodide
   :members:
   :autosummary:
   :autosummary-no-nesting:
```
