Skip to main content

pyqt-reactive

Reactive, ObjectState-backed forms and reusable application infrastructure for PyQt6.

PyPI version Documentation Status Python 3.11+

Quick start

ParameterFormManager renders an existing ObjectState. The state is the model; the form is a view over it.

from dataclasses import dataclass

from PyQt6.QtWidgets import QApplication
from objectstate import ObjectState, set_base_config_type
from pyqt_reactive.forms.parameter_form_manager import (
    FormManagerConfig,
    ParameterFormManager,
)
from pyqt_reactive.theming import ColorScheme

@dataclass
class ProcessingConfig:
    input_path: str = ""
    num_workers: int = 4
    enable_gpu: bool = False

app = QApplication([])
set_base_config_type(ProcessingConfig)
state = ObjectState(ProcessingConfig(), scope_id="processing")
form = ParameterFormManager(
    state,
    config=FormManagerConfig(color_scheme=ColorScheme()),
)
form.show()
app.exec()

Do not pass a dataclass type or instance directly to ParameterFormManager. Create ObjectState(instance) so edits, dirty tracking, hierarchy, and cross-window updates share one authority.

Ownership

pyqt-reactive owns generic widget protocols and strategies, form lifecycle, field-change dispatch, reusable services and managers, previews, animations, and window infrastructure. Host applications own domain workflows and adapters.

Installation

python -m pip install pyqt-reactive

For development:

git clone https://github.com/OpenHCSDev/PyQT-reactive.git
cd PyQT-reactive
python -m pip install -e ".[dev]"

Full documentation: pyqt-reactive.readthedocs.io

Metadata

Release files for pyqt-reactive 0.2.11

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyqt-reactive 0.2.11
File Size Uploaded
pyqt_reactive-0.2.11.tar.gz 609.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyqt-reactive 0.2.11
File Interpreter ABI Platform
pyqt_reactive-0.2.11-py3-none-any.whl Python 3 none any Details

Total release size: 1.2 MB

Release files / pyqt_reactive-0.2.11.tar.gz

Download URL pyqt_reactive-0.2.11.tar.gz
Size 609.1 kB
Tags Source
SHA-256 checksum
How to use checksums
114d5103971ef789c800bd5626a8ac60c16b5ed6ddc6164b0a27bf2d65dc8e51
BLAKE2b-256 checksum
How to use checksums
bb37fd40fcfd4e96ac749c0a7b97bb327447a9f81e1e765aff0611ad884ab699
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 22, 2026.

Transparency log

Release files / pyqt_reactive-0.2.11-py3-none-any.whl

Download URL pyqt_reactive-0.2.11-py3-none-any.whl
Size 553.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b07126cf219a678fcfef4f2f484bf756edf85e1c158813cab9016099db8d37b0
BLAKE2b-256 checksum
How to use checksums
f245bbd4338aec92494cb9b67f7dec59f2d0d2ca97182f766948b5d01f2e523d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 22, 2026.

Transparency log

Release history Release notifications | RSS feed

0.3.24

2 release files

0.3.23

2 release files

0.3.22

2 release files

0.3.15

2 release files

0.3.14

2 release files

0.3.13

2 release files

0.3.12

2 release files

0.3.11

2 release files

0.3.10

2 release files

0.3.9

2 release files

0.3.8

2 release files

0.3.7

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.15

2 release files

0.2.14

2 release files

0.2.13

2 release files

0.2.12

2 release files

This release

0.2.11 This release

2 release files

0.2.10

2 release files

0.2.9

2 release files

0.2.8

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.31

2 release files

0.1.30

2 release files

0.1.29

2 release files

0.1.28

2 release files

0.1.27

2 release files

0.1.26

2 release files

0.1.25

2 release files

0.1.24

2 release files

0.1.23

2 release files

0.1.22

2 release files

0.1.21

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page