Изображение по автору
С ростом популярности ReactJS в веб-разработке растет спрос на аналогичную среду на Python для создания готовых к производству приложений для машинного обучения, искусственного интеллекта и обработки данных. Здесь на помощь приходит ReactPy, предоставляющий новичкам, специалистам по данным и инженерам возможность создавать ReactJS-подобные приложения на Python. ReactPy предоставляет пользователям простую декларативную структуру представления, которая эффективно масштабирует приложения для сложных вариантов использования.
В этом сообщении блога мы рассмотрим ReactPy, узнаем, как создать простое приложение и запустить его как в веб-браузере, так и в блокноте Jupyter. В частности, мы рассмотрим:
- Запуск ReactPy в веб-браузере с использованием различных бэкэндов API.
- Запуск ReactPy в Jupyter Notebook с использованием виджетов Jupyter.
РеактПи — это библиотека Python для создания пользовательских интерфейсов без использования JavaScript. Интерфейсы ReactPy построены с использованием компоненты которые предлагают аналогичный опыт в ReactJS.
Разработанный для простоты, ReactPy имеет плавную кривую обучения и минимальную поверхность API. Это делает его доступным для тех, у кого нет опыта веб-разработки, но его также можно масштабировать для поддержки сложных приложений.
Установить ReactPy довольно просто с помощью pip:
pip install reactpy
После установки попробуйте запустить пример приложения, используя приведенный ниже сценарий.
python -c "import reactpy; reactpy.run(reactpy.sample.SampleApp)"
Наше приложение с starlette
Бэкэнд работает на локальном адресе. Просто скопируйте его и вставьте в веб-браузер.
Как мы видим, ReactPy работает отлично.
Вы также можете установить с серверной частью по вашему выбору. В нашем случае мы установим ReactPy с Fastapi бэкенд.
pip install "reactpy[fastapi]"
Вот список самых популярных бэкендов Python, поставляемых с ReactPy:
Теперь мы попробуем создать простое приложение с заголовком 1 и абзацем и запустить его на серверной части по умолчанию (starlette
).
- Когда вы создаете новую функцию компонента, попробуйте добавить волшебную функцию
@componnet
над функцией. - После этого создайте скелет веб-страницы с различными элементами HTML, такими как:
html.h1
для заголовка 1.html.b
для жирного.html.ul
иhtml.li
для маркеров.html.img
для изображений.
from reactpy import component, html, run @component
def App(): return html.section( html.h1("Welcome to KDnuggets"), html.p("KD stands for Knowledge Discovery."), ) run(App)
Сохраните приведенный выше код в reactpy_simple.py
файл и выполните следующую команду в терминале.
python reactpy_simple.py
Наше простое веб-приложение работает без сбоев.
Давайте попробуем добавить больше html-компонентов, таких как изображение и список, и запустим приложение, используя fastapi
бэкенд. Для этого:
- Импортировать
FastAPI
класс иconfigure
отreactpy.backend.fastapi
- Создайте функцию компонента с именем
Photo()
и добавьте все элементы HTML. - Создайте объект приложения, используя
FastAPI
объект и настроить его с помощью компонента ReactPy.
from fastapi import FastAPI
from reactpy import component, html
from reactpy.backend.fastapi import configure @component
def Photo(): return html.section( html.h1("KDnuggets Blog Featured Image"), html.p(html.b("KD"), " stands for:"), html.ul(html.li("K: Knowledge"), html.li("D: Discovery")), html.img( { "src": "https://www.kdnuggets.com/wp-content/uploads/about-kdn-header.jpeg", "style": {"width": "50%"}, "alt": "KDnuggets About Image", } ), ) app = FastAPI()
configure(app, Photo)
Сохраните файл с именем reactpy_advance.py
и запустите приложение, как вы запускаете любое приложение FastAPI, используя unicorn.
uvicorn reactpy_advance:app
Как мы видим, наше приложение работает с дополнительными элементами HTML.
Чтобы подтвердить, что он использует FastAPI в качестве серверной части, мы добавим /docs
по ссылке.
Запуск и тестирование ReactPy в Jupyter Notebook требует установки виджета Jupyter под названием reactpy_jupyter
.
%pip install reactpy_jupyter
Прежде чем запускать что-либо, сначала выполните следующую команду, чтобы активировать виджет.
import reactpy_jupyter
Or использование %config
волшебная функция для регистрации reactpy_jupyter
как постоянное расширение IPython в вашем файле конфигурации.
%config InteractiveShellApp.extensions = ['reactpy_jupyter']
Теперь мы запустим компонент ReactPy в Jupyter Notebook. Вместо использования run()
, мы будем напрямую запускать функцию компонента.
from reactpy import component, html @component
def App(): return html.section( html.h1("Welcome to KDnuggets"), html.p("KD stands for Knowledge Discovery."), ) App()
Как и в предыдущих примерах, мы запустим расширенный пример, запустив Photo()
функции.
from reactpy import component, html @component
def Photo(): return html.section( html.h1("KDnuggets Blog Featured Image"), html.p(html.b("KD"), " stands for:"), html.ul(html.li("K: Knowledge"), html.li("D: Discovery")), html.img( { "src": "https://www.kdnuggets.com/wp-content/uploads/about-kdn-header.jpeg", "style": {"width": "50%"}, "alt": "KDnuggets About Image", } ), ) Photo()
Мы также можем создать интерактивное приложение с помощью кнопок и ввода, как показано ниже. Вы можете прочитать ReactPy документации для создания пользовательского интерфейса, интерактивности, управления состоянием, крючков API и аварийных люков.
гифка от ReactPy на связующем
Таким образом, эта запись в блоге представляет собой введение в ReactPy, демонстрируя, как создавать простые приложения ReactPy. Запустив ReactPy в веб-браузере с использованием различных бэкендов API, а также в блокнотах Jupyter с помощью виджетов Jupyter, мы увидели гибкость ReactPy, позволяющую разработчикам создавать приложения как для веб-сред, так и для ноутбуков.
ReactPy обещает стать библиотекой Python для создания реактивных пользовательских интерфейсов, которые могут охватить широкую аудиторию. При дальнейшем развитии ReactPy может стать привлекательной альтернативой React на основе JavaScript для машинного обучения и приложений AI Python.
Абид Али Аван (@ 1abidaliawan) — сертифицированный специалист по анализу данных, который любит создавать модели машинного обучения. В настоящее время он занимается созданием контента и ведением технических блогов по технологиям машинного обучения и обработки данных. Абид имеет степень магистра в области управления технологиями и степень бакалавра в области телекоммуникаций. Его видение состоит в том, чтобы создать продукт искусственного интеллекта с использованием графовой нейронной сети для студентов, борющихся с психическими заболеваниями.
- SEO-контент и PR-распределение. Получите усиление сегодня.
- ЭВМ Финанс. Единый интерфейс для децентрализованных финансов. Доступ здесь.
- Квантум Медиа Групп. ИК/PR усиление. Доступ здесь.
- ПлатонАйСтрим. Анализ данных Web3. Расширение знаний. Доступ здесь.
- Источник: https://www.kdnuggets.com/2023/06/getting-started-reactpy.html?utm_source=rss&utm_medium=rss&utm_campaign=getting-started-with-reactpy
- :имеет
- :является
- :куда
- 1
- 11
- 12
- 20
- 7
- a
- способность
- О нас
- выше
- доступной
- Добавить
- дополнительный
- адрес
- продвинутый
- AI
- Все
- Позволяющий
- причислены
- альтернатива
- an
- и
- любой
- все
- API
- приложение
- Применение
- Приложения
- МЫ
- AS
- аудитория
- Backend
- становиться
- Новичкам
- ниже
- Блог
- блоги
- булавка
- изоферменты печени
- браузер
- строить
- Здание
- построенный
- by
- под названием
- CAN
- случаев
- случаев
- Сертифицированные
- выбор
- класс
- код
- выходит
- неотразимый
- комплекс
- компонент
- компоненты
- подтвердить
- содержание
- контентного создание
- продолжающийся
- чехол для варгана
- Создайте
- Создающий
- создание
- В настоящее время
- кривая
- данным
- наука о данных
- ученый данных
- По умолчанию
- Степень
- Спрос
- демонстрирующий
- застройщиков
- Развитие
- различный
- непосредственно
- открытие
- легко
- эффективно
- элементы
- Проект и
- Инженеры
- средах
- бежать
- Эфир (ETH)
- пример
- Примеры
- опыт
- Больше
- расширение
- расширения
- СПЕЦЦЕНА
- Файл
- Во-первых,
- Трансформируемость
- фокусировка
- после
- Что касается
- найденный
- Рамки
- от
- функция
- слегка
- получающий
- GIF
- дает
- график
- Графическая нейронная сеть
- люки
- Есть
- he
- Заголовок
- его
- имеет
- Крючки
- Как
- How To
- HTML
- HTTPS
- болезнь
- изображение
- изображений
- Импортировать
- in
- повышение
- вход
- устанавливать
- Установка
- вместо
- интерактивный
- интерактивность
- Интерфейс
- интерфейсы
- в
- Введение
- IT
- JavaScript
- JPG
- Jupyter Notebook
- всего
- КДнаггетс
- знания
- изучение
- Библиотека
- такое как
- LINK
- Список
- локальным
- любит
- машина
- обучение с помощью машины
- магия
- ДЕЛАЕТ
- управление
- управления
- мастер
- Май..
- психический
- Психические заболевания
- минимальный
- Модели
- БОЛЕЕ
- самых
- Самые популярные
- имя
- сеть
- нервный
- нейронной сети
- Новые
- ноутбук
- ноутбуки
- сейчас
- объект
- наблюдать
- of
- предлагают
- on
- наши
- страница
- постоянный
- Фото
- Платон
- Платон Интеллектуальные данные
- ПлатонДанные
- пунктов
- Популярное
- популярность
- После
- предыдущий
- Продукт
- профессиональный
- обещание
- при условии
- обеспечение
- Питон
- достигать
- реагировать
- Читать
- зарегистрироваться
- требуется
- возвращают
- Run
- Бег
- s
- Шкала
- Весы
- Наука
- Ученый
- Ученые
- видел
- показанный
- Шоу
- аналогичный
- просто
- простота
- плавно
- сложный
- конкретно
- стоит
- и политические лидеры
- Область
- Борющийся
- Студенты
- стиль
- РЕЗЮМЕ
- поддержка
- Поверхность
- Технический
- технологии
- Технологии
- телекоммуникация
- Терминал
- Тестирование
- который
- Ассоциация
- Там.
- этой
- те
- в
- стараться
- единорог
- использование
- Информация о пользователе
- Пользовательский интерфейс
- пользователей
- через
- различный
- Вид
- видение
- we
- Web
- веб приложение
- веб-браузер
- Веб-разработка
- добро пожаловать
- ЧТО Ж
- КТО
- широкий
- будете
- в
- без
- письмо
- еще
- являетесь
- ВАШЕ
- зефирнет