Hacker News new | ask | show | jobs
by Wang0618 1914 days ago
PyWebIO is a Python library which provides a series of imperative functions to obtain user input and output on the browser. The input function of PyWebIO is blocking, and the output function will output content to user in real time.

You can use PyWebIO to build simple web applications or browser-based GUI applications without the need to have knowledge of HTML and JS.

The way of writing PyWebIO applications is more like writing a terminal program. You can think of the browser as a rich text terminal while writing PyWebIO app. If you have a terminal script, you only need to replace the input and output functions with PyWebIO's functions to turn your terminal script to a web application.

Features:

- Support click events, layout and output updates.

- Support integration into existing web project, currently supports Flask, Django, Tornado, aiohttp framework. - Support for asyncio and coroutine.

- Compatible with data visualization libraries, e.g., plotly, bokeh, pyecharts.

Links:

- Demos: http://pywebio-demos.demo.wangweimin.site/

- Documents: https://pywebio.readthedocs.io/en/latest/

PS: I am not a native speaker of English, so the documents may be a bit obscure. If you have any questions, please feel free to discuss on https://github.com/wang0618/PyWebIO/discussions

4 comments

This is awesome! I'm going to use this to make a couple of applications! I've been looking for something to quickly make something easy for my clients. I'll probably put these behind a user-pass, but are there any issues that might arise security wise?
You can place a password validation input at the beginning of the code and return directly if the validation does not pass. PyWebIO ensures that only users who have passed the validation can continue with the rest of the code.
Looks great, the docs look fine to me, but I would love instructions on how to deploy these applications.

I imagine this will let Python devs create small web front ends very easily .

> the docs look fine to me

I object! The docs and examples are fantastic.

Fantastic work! This looks like an arguably better/more generalized version of something like Streamlit.

Great concept for building rapid applications.

Looks really cool, I love how simple it is.