Exceptions and error codes#
When creating pages with PyScript, you may encounter exceptions. Each handled exception will contain a specific code which will give you more information about it. This reference guide contains the error codes you might find and a description of each of them.
User Errors#
Error code |
Description |
Recommendation |
---|---|---|
PY1000 |
Invalid configuration supplied |
Confirm that your |
PY1001 |
Unable to install package(s) |
Confirm that the package contains a pure Python 3 wheel or the name of the package is correct. |
PY2000 |
Invalid plugin file extension |
Only |
PY2001 |
Plugin doesn’t contain a default export |
Please add |
PY9000 |
Top level await is deprecated |
Create a coroutine with your code and schedule it with |
Fetch Errors#
These error codes are related to any exception raised when trying to fetch a resource. If, while trying to fetch a resource, we encounter a status code that is not 200, the error code will contain the HTTP status code and the PY0
prefix. For example, if we encounter a 404 error, the error code will be P02404
.
Error Code |
Description |
---|---|
PY0001 |
Generic fetch error, failed to fetch page from the server |
PY0002 |
Name supplied when trying to fetch resource is invalid |
PY0401 |
You are not authorized to access this resource. |
PY0403 |
You are not allowed to access this resource. |
PY0404 |
The page you are trying to fetch does not exist. |
PY0500 |
The server encountered an internal error. |
PY0503 |
The server is currently unavailable. |
PY1001#
Pyscript cannot install the package(s) you specified in your py-config
tag. This can happen for a few reasons:
The package does not exist
The package does not contain a pure Python 3 wheel
An error occurred while trying to install the package
An error banner should appear on your page with the error code and a description of the error or a traceback. You can also check the developer console for more information.
PY2001#
Javascript plugins must export a default class. This is required for PyScript to be able to load the plugin. Please add export default
to the main plugin class. For example:
export default class HelloWorldPlugin {
afterStartup(runtime) {
console.log("Hello World from the plugin!");
}