Skip to main content

image

PyFyre - The Python Web Frontend Framework

forthebadge

GitHub Version Github Star License

A fast, declarative, and incrementally adoptable Python web frontend framework for building reactive web user interfaces.

Features

  • Component-based framework. Developers who have experience in using other frontend frameworks should feel quite at home when using PyFyre.
  • Truly reactive. PyFyre's virtual DOM allows for simple and efficient state management.
  • Quick navigation. Navigation between pages is quick with PyFyre's single-page application design.
  • Pythonic code with static typing. Developing with PyFyre is much easier with its type hinting and Pythonic style of coding.
  • Asynchronous programming. Run non-blocking functions out of the box.
  • CPython interoperability. Developers can limitedly use CPython packages on the client-side web.
  • JavaScript interoperability. Allowing developers to leverage NPM packages and integrate with existing JavaScript applications.
  • Pure Python. Build web apps without ever touching other languages like HTML and JavaScript.
  • And more!

Example

See the examples directory for more. If you want to quickly test how PyFyre feels or looks like, try our playground! But here is a super simple example. See how easy it is to create a simple Counter app with PyFyre:

from browser import DOMEvent
from pyfyre import render, State
from pyfyre.nodes import Node, Widget, Text, Button


class App(Widget):
    def __init__(self) -> None:
        self.count = State[int](0)
        super().__init__()

    def build(self) -> list[Node]:
        def increment(event: DOMEvent) -> None:
            self.count.set_value(self.count.value + 1)

        def decrement(event: DOMEvent) -> None:
            self.count.set_value(self.count.value - 1)

        return [
            Button(onclick=decrement, children=lambda: [Text("-")]),
            Text(self.count),
            Button(onclick=increment, children=lambda: [Text("+")]),
        ]


render({"/": lambda: App()})

Documentation

Learn PyFyre by reading the documentation. It is also advisable to learn Brython alongside PyFyre as it is built on top of Brython.

Links

Metadata

Release files for pyfyre 0.6.9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyfyre 0.6.9
File Size Uploaded
pyfyre-0.6.9.tar.gz 1.1 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyfyre 0.6.9
File Interpreter ABI Platform
pyfyre-0.6.9-py3-none-any.whl Python 3 none any Details

Total release size: 2.2 MB

Release files / pyfyre-0.6.9.tar.gz

Download URL pyfyre-0.6.9.tar.gz
Size 1.1 MB
Tags Source
SHA-256 checksum
How to use checksums
a35a99cb7db92a86a095fe42c254c09b4ea9011033b76e570c7ed454e821e7d2
BLAKE2b-256 checksum
How to use checksums
20de400926b2216921a17df732e2f695a655c3aefb6b2f6ecb99937c069a63df
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.0 CPython/3.10.8

Release files / pyfyre-0.6.9-py3-none-any.whl

Download URL pyfyre-0.6.9-py3-none-any.whl
Size 1.1 MB
Tags Python 3
SHA-256 checksum
How to use checksums
f129f0e0161a83c3890bed769cd5aa8ec000a926bacd421deb1eae3b6b3821fa
BLAKE2b-256 checksum
How to use checksums
dce0b33448269decf5ad1401d703de9a0ed6ce89f7a57d155997e0da8c5b4622
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.0 CPython/3.10.8

Release history Release notifications | RSS feed

This release

0.6.9 This release

2 release files

0.6.8

2 release files

0.6.7

2 release files

0.6.6

2 release files

0.6.5

2 release files

0.6.4

2 release files

0.6.3

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.4.10

2 release files

0.4.9

2 release files

0.4.8

2 release files

0.4.7

2 release files

0.4.6

2 release files

0.4.5

2 release files

0.4.3

2 release files

0.4.0

2 release files

0.3.1

2 release files

0.2.7

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page