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.3.8

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.3.8
File Size Uploaded
pyqt_reactive-0.3.8.tar.gz 611.7 kB Details

Built distribution (wheel)

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

Total release size: 1.2 MB

Release files / pyqt_reactive-0.3.8.tar.gz

Download URL pyqt_reactive-0.3.8.tar.gz
Size 611.7 kB
Tags Source
SHA-256 checksum
How to use checksums
fcc8539c825f5cfc8e6f9c3722751c854cfcc5bf56a6699d33aeead117e969c5
BLAKE2b-256 checksum
How to use checksums
78d2b76820f2f7de4ce8b934581e4097291dcc5b8e9dc5f080d8b517790c3485
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 25, 2026.

Transparency log

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

Download URL pyqt_reactive-0.3.8-py3-none-any.whl
Size 545.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
049b1926efc902323e884a3d48379dd0e0decd0c1d0814da47fe8df671dfabd2
BLAKE2b-256 checksum
How to use checksums
c5d4bd3e2ab5610d2021f64c5ff38767bde1d9e663bd17ad5852855f9e78e835
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 25, 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

This release

0.3.8 This release

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

0.2.11

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