Есть ли реактивные библиотеки состояний, такие как Mobx для Python?
Я ищу библиотеки реактивных состояний, такие как Mobx для Python, т.е. на стороне сервера, а не на стороне клиента веб-приложения.
Mobx похож на классические реактивные библиотеки, такие как RxPY, но имеет другую направленность: он не столько направлен на низкоуровневую диспетчеризацию событий, сколько реагирует на изменения данных, пересчитывает производные значения (но только на те, на которые влияют, и ленится на наблюдаемые зависимые значения). И Mobx автоматически определяет зависимости рассчитанных значений.
Кроме того, в инфраструктуру Vue встроены такие функциональные возможности с еще лучшим синтаксисом, с преимуществом (и недостатком), будучи тесно связанным с инфраструктурой.
Увы, оба являются JavaScript и предназначены для клиентского / пользовательского интерфейса.
Итак, мои конкретные вопросы:
- Существуют ли подобные библиотеки реактивных состояний для Python?
- Обеспечивают ли они интеграцию для хранения / наблюдения данных в файлах?
- (По сути, это будет система сборки на основе inotify, но более детальная и более гибкая.)
- Обеспечивают ли они интеграцию с реляционными базами данных?
- (Да, существует концептуальный пробел, который необходимо преодолеть, и он, вероятно, работает только до тех пор, пока один экземпляр сервера обращается к базе данных. Это все равно будет очень полезно для широкого спектра приложений.)
- Обеспечивают ли они интеграцию со средами веб-сервера?
- (т. е. состояние триггера полученных запросов HTTP изменено и повторные вычисления, некоторые вычисленные значения являются структурами JSON, которые наблюдаются клиентом через веб-сокеты, длинные опросы или системы обмена сообщениями.)
1 ответ
Я сделал один. Это называется MoPyX. Он не зависит от инструментария, поэтому вы можете просто наблюдать за объектами. Но ориентирован на пользовательские интерфейсы.
Смотрите: https://github.com/germaniumhq/mopyx
Демонстрация PySide2: https://github.com/germaniumhq/mopyx-sample