Anaconda unveils PyScript, the “Minecraft for software development”

During his keynote at PyCon 2022, Anaconda CEO Peter Wang unveiled a new project: Python.

PyScript is described as a framework that uses a mix of Python and standard HTML to allow users to build Python applications in a browser.

“PyScript aims to provide users with a first-class programming language that has consistent style rules, is more expressive, and is easier to learn,” said one of its creators, Principal Software Architect Fabio Pliger, In a company. blog post.

In a more detailed technique blog postPliger says, “One of the ways I like to think of PyScript is [as] “Minecraft for Software Development”: A framework that provides building blocks for users to create their own worlds (applications) or new blocks (PyScript components and widgets) that others can use. »

Key elements of PyScript include how it allows users to access Python in the browser through its pluggable content enabling, external file hosting courtesy of the Pyodide project and its application hosting without depending on server-side configuration. Users can also access other programs within the Python library ecosystem, including Numpy, pandaand scikit-learn. PyScript also includes two-way communication between Python and JavaScript objects and namespaces. Users can manage their software environment by defining packages and included files for running page code. Visual application developers can use organized UI components, including buttons, containers, and text boxes. Additionally, PyScript’s flexible framework makes it possible to create and share pluggable and extensible components directly in Python.

This flexibility reflects the program’s developers’ goal of providing a reliable and accessible framework for building and shipping applications for any hardware and software platform, “while having fun.” Instead of starting a new technology stack from scratch, the authors of PyScript wanted to leverage the options of the rich Python ecosystem. They wanted to offer a clean API that supports standard HTML that can also extend HTML to read custom components while providing a pluggable and extensible component system, all on an adaptable platform.

“With a bit of flexibility, we thought the browser would be a great platform that we could adapt to achieve our goals of providing a reliable, accessible, and fun experience for PyScript users,” Pliger said. “The browser works everywhere (from laptops to tablets to phones) and is secure, powerful, and stable, which we believe makes it the perfect starting point for achieving PyScript’s goals.”

Source: Anaconda

Pliger cites advancements in WebAssembly/WASM, Emscripten, and Pyodide (a Python distribution for the browser, based on WebAssembly) as reasons why browsers have promising virtual machine capabilities, but there are issues involved such as a lack compatibility between Python and modern UI languages ​​like HTML, CSS, and JavaScript, which can be difficult to learn. PyScript allows Python to take advantage of these languages ​​to address common challenges throughout the web application development cycle, from creation to packaging to distribution and deployment.

“The thing is, by registering new, simple and highly expressive web components, users don’t have to waste time learning CSS and other specific web development technologies,” Pliger said.

The authors of PyScript consider the current alpha version, which they describe as unstable and limited but functional, as only the beginning. They envision a future where it becomes a whole new paradigm for programming and application development as PyScript and the core technologies used to build it continue to mature and improve.

For more detailed information on how PyScript works, visit the Pliger tech page blog post. To see the GitHub files and learn how to contribute to the project, visit this link.

Related articles:

Anaconda Business Expenses Are Paying Off, Says CEO

Data Science and AI Predictions for 2022

Anaconda’s 2021 State of Data Science Report Highlights Open Source Support and COVID-19 Impacts