Pyfyre

Latest version: v0.6.9

Safety actively analyzes 714815 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 4

0.6.2alpha

Release Summary

Package Changes
- Use Flask wsgi app for livereload when running a PyFyre app
- `[ListBuilder].children_builder` -> `[ListBuilder].item_builder`

Codebase Changes
- Add [Mypy](https://mypy.readthedocs.io/en/stable/) and [Black](https://black.readthedocs.io/en/stable/)
- Implement [Google style Python docstrings](https://sphinxcontrib-napoleon.readthedocs.io/en/latest/example_google.html)
- Add [Sphinx](https://www.sphinx-doc.org/en/master/) generated documentation
- Create a [helper script](https://github.com/pyfyre/pyfyre/blob/main/release.py) before a release

---
For more details: [Comparing changes](https://github.com/pyfyre/pyfyre/compare/5351c2b028d9ffc23f84589a86ac7d243a848ae6...81b678147ddd5940c77d80d6ef9acc7086ae4617)

0.6.1alpha

**This release rewrote the entire PyFyre framework completely to the point that it's not worth mentioning the changes. Instead, we will treat this as a completely new framework.**

This is how PyFyre looks now (simple counter app):
py
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()})


Features Summary
- Component-based framework
- Simple and efficient state management
- Single-page application
- Pythonic code with static typing
- Asynchronous programming out of the box
- Support for CPython packages created using pure Python
- Create web apps without using other languages like HTML and JavaScript
- Built-in styling without using a CSS file
- UI elements exception handling
- Custom PyFyre window events
- Static site generator (no JavaScript)
- Preset elements (reusable styled elements like loading and error messages)

Documentation
At the time of this release, the [documentation](https://pyfyre.gitbook.io/docs/) hasn't been updated yet. We will work on that soon.

0.4.11

Hot Fix 🔥
- Major bug: initState user migration fix

_Note: Sorry about this major bug that wasn't been able to fix for weeks. Thank you for understanding._

0.4.10

Breaking API change 🚨
- `__init__` built-in method for classes in Python is now officially changed to `initState` that runs before the UsesState UI renders on the screen.

The reason why here is because `__init__` method runs the time the class is called so it's initialized because the component even renders on the screen. If you want to initialize a variable on the class, initiate it inside the `initState` inside and do things the time the component renders.

0.4.9

New Features 🔥
- TextInput multiline option (If you pass a `multiline = True` on TextInput, instead of inserting `input` element on the DOM, it will be a `TextArea` element)
- Allow static files on build (You can now include JS files on your PyFyre Project by adding them to `public` folder and script tags on `index.html`)
- PyFyreDOM Content Loaded listener (You can now wait on your JS files for PyFyreDOM to load by just calling `PyFyreDOM` and add function listeners to it)

src: `public/myCode.js`
js
PyFyreDOM.addListener(() => {
// Do something after the PyFyre app completely renders.
})

0.4.8

Hot Fix 🔥
- Wrong module imported to the bundler.

**Note**: For those who use the recent versions, it's recommended to update to this version as this is a big optimization change. The builder imports the `tokenize`, `token`, `kwlist`, and other big modules accidentally that leads to bloated modules and slower on-the-fly build times.

Alternatively, you can copy this code https://pastebin.com/4KsPtg0y to your `pyf_modules/builtins.js`

Page 2 of 4

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.