Skip to content
Neuri-AIPublic

About

A Redux Toolkit-inspired state container for Python desktop applications.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

7 Commits

Folders and files

Repository files navigation

PyDux

A Redux Toolkit-inspired state container for Python desktop applications.

Python GitHub Release GitHub Issues GitHub Issues Closed GitHub forks GitHub stars License Sponsor

PyDux gives Python desktop apps one observable source of truth. Dispatch actions, let reducers update state, and subscribe only to the values a view needs.

Features

  • Redux Toolkit-style slices with generated action creators.
  • Selectors and selective subscriptions.
  • Async thunks with pending, fulfilled, and rejected actions.
  • Optional DevTools, time travel, and a local web inspector.
  • Adapters for Qt, Tkinter, Kivy, and Qyro.

Installation

pip install pydux

# With Qyro and PySide6
pip install "pydux[qyro,pyside6]"

See the English installation guide or the guía de instalación en español for every optional framework extra and Poetry command.

Quick example

from pydux import configure_store, create_slice

counter = create_slice(
    name="counter",
    initial_state={"value": 0},
    reducers={
        "increment": lambda state, action: state.update(value=state["value"] + 1),
    },
)

store = configure_store({"counter": counter}, devtools=False)
store.dispatch(counter.actions.increment())

print(store.get_state())  # {"counter": {"value": 1}}

Documentation

The complete Mintlify documentation lives in docs/, in English and español:

To preview it locally, install Mintlify and run mint dev from docs/.

Qyro ecosystem

PyDux manages state. Qyro Runtime provides application context, resources, settings, and lifecycle; Qyro CLI scaffolds, builds, packages, and signs applications.


License

MIT. See LICENSE.

👥 Organization & Maintainers

About

A Redux Toolkit-inspired state container for Python desktop applications.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages