I have made a small space invader game using pygame and I was wondering if I could play it on the browser using pyscript. Is this even possible ? Do I have to rewrite everything ?
No, Pygame is not supported in PyScript at this time. I'm not sure what is the best way to find out what packages are supported, but I have managed to piece together the following:
You can use the following test script to see if a package is supported:
<html>
<head>
<link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />
<script defer src="https://pyscript.net/alpha/pyscript.js"></script>
<py-env>
- pygame
</py-env>
</head>
<body>
<h1>PyScript import test script</h1>
<py-script>
import pygame
</py-script>
</body>
</html>
This is basically just a "try it and see what happens" script that will throw an error in the console if a package is not supported. The error you'll see will be
ValueError: Couldn't find a pure Python 3 wheel for 'pygame'. You can use
micropip.install(..., keep_going=True)
to get a list of all packages with missing wheels.