A Web Frontend Framework for building reactive static UI on the web using Python.
Project description
PyFyre - The Python Web Frontend Framework
PyFyre is a web frontend framework for building reactive static user interfaces on the web using Python.
- Component-based framework. Developers who have experience of using other frontend frameworks should feel quite at home when using PyFyre, especially Flutter developers.
- Supports JavaScript interoperability, allowing developers to leverage NPM packages and integrate with existing JavaScript applications.
- Supports CPython interoperability, allowing developers to use existing PyPi packages on the client-side web.
Note: PyFyre is not 1.0 yet. Be prepared to do major refactoring due to breaking API changes.
Documentation
Documentation for PyFyre is still in development.
Examples
We have examples in the examples folder. But here is the super simple example. See how easy it is to create a simple Hello World web app that shows Hello, World text:
from pyfyre.widgets import *
from pyfyre.pyfyre import runApp
class MyWebpage(UsesState):
def build(self):
return Container(
className = "container",
children = [
Text(
className = "title",
textContent = "Hello, World!"
),
]
)
runApp(MyWebpage())
Rendered PyFyre:
Installation
See how easy it is to setup a working environment with PyFyre.
Prerequisites
- python3.x
Setting Up a Project
Install the PyFyre CLI:
py -m pip install PyFyre
Create a new application:
pyfyre create-app <app_name>
Run the application:
cd <project-name>
pyfyre runapp
PyFyre has a built-in hot reload to enhance your productivity tremendously. Try it out by editing the src/__init__.py
and see the magic works.
Contributing
Please read CONTRIBUTING.md for contributing.
Stay Updated
If you would like to get updates about the PyFyre framework, we created a Facebook Page where we are going to post all the updates like newly created widgets, adjustments, core updates, and more!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.