Metadata-Version: 2.4
Name: reactpy
Version: 2.0.0b2
Summary: It's React, but in Python.
Project-URL: Changelog, https://reactpy.dev/docs/about/changelog.html
Project-URL: Documentation, https://reactpy.dev/
Project-URL: Source, https://github.com/reactive-python/reactpy
Author-email: Mark Bakhit <archiethemonger@gmail.com>, Ryan Morshead <ryan.morshead@gmail.com>
License-Expression: MIT
License-File: LICENSE
Keywords: component,javascript,react,reactpy
Classifier: Development Status :: 5 - Production/Stable
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Requires-Python: >=3.9
Requires-Dist: anyio>=3
Requires-Dist: fastjsonschema>=2.14.5
Requires-Dist: lxml>=4
Requires-Dist: requests>=2
Requires-Dist: typing-extensions>=3.10
Provides-Extra: all
Requires-Dist: asgi-tools; extra == 'all'
Requires-Dist: asgiref; extra == 'all'
Requires-Dist: jinja2-simple-tags; extra == 'all'
Requires-Dist: jinja2>=3; extra == 'all'
Requires-Dist: orjson; extra == 'all'
Requires-Dist: pip; extra == 'all'
Requires-Dist: playwright; extra == 'all'
Requires-Dist: servestatic; extra == 'all'
Requires-Dist: uvicorn[standard]; extra == 'all'
Provides-Extra: asgi
Requires-Dist: asgi-tools; extra == 'asgi'
Requires-Dist: asgiref; extra == 'asgi'
Requires-Dist: orjson; extra == 'asgi'
Requires-Dist: pip; extra == 'asgi'
Requires-Dist: servestatic; extra == 'asgi'
Provides-Extra: jinja
Requires-Dist: jinja2-simple-tags; extra == 'jinja'
Requires-Dist: jinja2>=3; extra == 'jinja'
Provides-Extra: testing
Requires-Dist: playwright; extra == 'testing'
Provides-Extra: uvicorn
Requires-Dist: uvicorn[standard]; extra == 'uvicorn'
Description-Content-Type: text/markdown

# <img src="https://raw.githubusercontent.com/reactive-python/reactpy/main/branding/svg/reactpy-logo-square.svg" align="left" height="45"/> ReactPy

<p>
    <a href="https://github.com/reactive-python/reactpy/actions/workflows/check.yml">
        <img src="https://github.com/reactive-python/reactpy/actions/workflows/check.yml/badge.svg">
    </a>
    <a href="https://pypi.org/project/reactpy/">
        <img src="https://img.shields.io/pypi/v/reactpy.svg?label=PyPI">
    </a>
    <a href="https://github.com/reactive-python/reactpy/blob/main/LICENSE">
        <img src="https://img.shields.io/badge/License-MIT-purple.svg">
    </a>
    <a href="https://reactpy.dev/">
        <img src="https://img.shields.io/website?down_message=offline&label=Docs&logo=read-the-docs&logoColor=white&up_message=online&url=https%3A%2F%2Freactpy.dev%2Fdocs%2Findex.html">
    </a>
    <a href="https://discord.gg/uNb5P4hA9X">
        <img src="https://img.shields.io/discord/1111078259854168116?label=Discord&logo=discord">
    </a>
</p>

[ReactPy](https://reactpy.dev/) is a library for building user interfaces in Python without Javascript. ReactPy interfaces are made from components that look and behave similar to those found in [ReactJS](https://reactjs.org/). Designed with simplicity in mind, ReactPy can be used by those without web development experience while also being powerful enough to grow with your ambitions.

<table align="center">
    <thead>
        <tr>
            <th colspan="2" style="text-align: center">Supported Backends</th>
        <tr>
            <th style="text-align: center">Built-in</th>
            <th style="text-align: center">External</th>
        </tr>
    </thead>
    <tbody>
        <tr>
        <td>
            <a href="https://reactpy.dev/docs/guides/getting-started/installing-reactpy.html#officially-supported-servers">
                Flask, FastAPI, Sanic, Tornado
            </a>
        </td>
        <td>
            <a href="https://github.com/reactive-python/reactpy-django">Django</a>,
            <a href="https://github.com/reactive-python/reactpy-jupyter">Jupyter</a>,
            <a href="https://github.com/idom-team/idom-dash">Plotly-Dash</a>
        </td>
        </tr>
    </tbody>
</table>

# At a Glance

To get a rough idea of how to write apps in ReactPy, take a look at this tiny _Hello World_ application.

```python
from reactpy import component, html, run

@component
def hello_world():
    return html.h1("Hello, World!")

run(hello_world)
```

# Resources

Follow the links below to find out more about this project.

-   [Try ReactPy (Jupyter Notebook)](https://mybinder.org/v2/gh/reactive-python/reactpy-jupyter/main?urlpath=lab/tree/notebooks/introduction.ipynb)
-   [Documentation](https://reactpy.dev/)
-   [GitHub Discussions](https://github.com/reactive-python/reactpy/discussions)
-   [Discord](https://discord.gg/uNb5P4hA9X)
-   [Contributor Guide](https://reactpy.dev/docs/about/contributor-guide.html)
-   [Code of Conduct](https://github.com/reactive-python/reactpy/blob/main/CODE_OF_CONDUCT.md)
