Python in the browser with Pyscript
Tags: webdev, javascript, beginners, python
Published: 2023-04-26 14:29:07

## What is Pyscript?

Pyscript is a Python library that allows you to write Python code that is executed in the browser. It is based on [Brython](https://brython.info/) and [Pyodide](https://pyodide.org/) and can be used to write interactive web pages, games, and much more.It provides a simple and easy-to-use interface for developers to write Python code that is compiled into JavaScript and runs in the browser.

## How does it work?

PyScript is a powerful tool for developers who want to use Python to build frontend applications that run directly in the browser. It is based on the pyodide project, which is a port of CPython to WebAssembly/Emscripten. WebAssembly is a binary format that allows developers to write code in languages other than JavaScript, which can then be executed in the browser. This means that with PyScript, developers can use Python to write frontend code that runs directly in the browser, without the need for a server-side backend.

CPython, which is the reference implementation of the Python programming language, allows developers to install and run Python packages directly in the browser. This means that developers can use the same libraries and tools that they use on the server-side to build frontend applications with PyScript. Additionally, PyScript abstracts away many of the complexities of frontend development, allowing developers to focus on writing Python code without having to worry about the underlying HTML, CSS, and JavaScript.

Overall, PyScript is a powerful and innovative tool for developers who want to use Python to build frontend applications that run directly in the browser. With its support for Python packages, its abstraction of frontend development, and its use of WebAssembly, PyScript is a promising technology that is sure to find many applications in the future.

## How to use it?

To use Pyscript it doesnoot need to be installed. It can be used directly from the browser. To use it, you need to include the following script tag in your HTML file:

```html
<link rel="stylesheet" href="https://pyscript.net/latest/pyscript.css" />
<script defer src="https://pyscript.net/latest/pyscript.js"></script>
```

This will load the Pyscript library and make it available in the global scope. You can then use it to write Python code that will be compiled into JavaScript and executed in the browser.

## Example

Here is a simple example of a Pyscript program that displays a message in the browser:

```html
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <link rel="stylesheet" href="https://pyscript.net/latest/pyscript.css" />
    <script defer src="https://pyscript.net/latest/pyscript.js"></script>
    <title>Document</title>
  </head>
  <body>
    <py-config>
      plugins = [ "https://pyscript.net/latest/plugins/python/py_tutor.py" ]
    </py-config>

    <section class="pyscript">
      Hello world! <br />
      This is the current date and time, as computed by Python:
      <py-script>
        from datetime import datetime
        now = datetime.now()
        display(now.strftime("%m/%d/%Y, %H:%M:%S"))
      </py-script>
    </section>
  </body>
</html>
```

## Conclusion

Overall, PyScript is a powerful tool for developers who want to use Python to build frontend applications that run directly in the browser. With its support for Python packages, its abstraction of frontend development, and its use of WebAssembly, PyScript is a promising technology that is sure to find many applications in the future.