Skip to main content

No project description provided

Project description

Starfyre Logo

Starfyre ⭐🔥

Introduction:

Starfyre is a library that allows you to build reactive frontends using only Python. It is built using pyodide and wasm, which enables it to run natively in the browser. With Starfyre, you can create interactive, real-time applications with minimal effort. Simply define your frontend as a collection of observables and reactive functions, and let Starfyre handle the rest.

Please note that Starfyre is still very naive and may be buggy, as it was developed in just five days. However, it is under active development and we welcome contributions to improve it. Whether you are a seasoned web developer or new to frontend development, we hope that you will find Starfyre to be a useful tool. Its intuitive API and simple, declarative style make it easy to get started, and its powerful features allow you to build sophisticated applications.

Installation:

The easiest way to get started is to clone create-starfyre-app repo. Hosted at create-starfyre-app

Sample Usage

src/init.py

from starfyre import create_component, render

from .component import Component


def main():
    component = Component()
    render(create_component(<component></component>))

src/component.py

from starfyre import create_component, create_signal

[get_component_state, set_state] = create_signal(0)


def updateCounter(component, *args):
    set_state(get_component_state(component) + 1)


def Component():
    return create_component("""<div onClick={updateCounter}>
        This is the component state
        <button>Click Here to increment</button> {get_component_state}
        </div>""",
    )

Developing Locally

  1. make in-dev

For more flexibility, see make help

Feedback

Feel free to open an issue and let me know what you think of it.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

starfyre-0.5.0.tar.gz (16.5 kB view details)

Uploaded Source

Built Distribution

starfyre-0.5.0-py3-none-any.whl (11.2 kB view details)

Uploaded Python 3

File details

Details for the file starfyre-0.5.0.tar.gz.

File metadata

  • Download URL: starfyre-0.5.0.tar.gz
  • Upload date:
  • Size: 16.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/0.14.10

File hashes

Hashes for starfyre-0.5.0.tar.gz
Algorithm Hash digest
SHA256 cb0e143b09c40c4858d07181e70a6584345e885e9f158573d70ae2283c3b35ba
MD5 e7e67e37ab86ad6f676689d1f1dabcdb
BLAKE2b-256 2c3b1593c5ad7c2b338a3375b3260e148491940336487e65ff26450b77a92e51

See more details on using hashes here.

File details

Details for the file starfyre-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: starfyre-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 11.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.2.2 CPython/3.10.7 Darwin/21.6.0

File hashes

Hashes for starfyre-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dd5bf3f13bc9b99b9c28e60c8a000992d8146a41d232a4b63513ac2adb595dcf
MD5 089df4c71c8aac35bcac60e128388b0d
BLAKE2b-256 f6552a6131d91abeab7aad0e321cff9ea6b846cc5ec6676f5c965262bbe980f5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page