@software{magicgui,
  author       = {Talley Lambert and contributors},
  title        = {magicgui: Build GUIs from type annotations in Python},
  year         = {2023},
  publisher    = {GitHub},
  url          = {https://github.com/pyapp-kit/magicgui},
  note         = {Accessed: 2026-01-13}
}

@software{pydantic,
  author       = {Samuel Colvin and contributors},
  title        = {pydantic: Data validation using Python type annotations},
  year         = {2023},
  publisher    = {GitHub},
  url          = {https://github.com/pydantic/pydantic},
  note         = {Accessed: 2026-01-13}
}

@software{pyqt6,
  author       = {Riverbank Computing Limited},
  title        = {PyQt6: Python bindings for Qt 6},
  year         = {2023},
  publisher    = {Riverbank Computing},
  url          = {https://www.riverbankcomputing.com/software/pyqt/},
  note         = {Accessed: 2026-01-13}
}

@software{objectstate,
  author       = {Tristan Simas},
  title        = {objectstate: Hierarchical state management with lazy evaluation and git-style undo},
  year         = {2026},
  publisher    = {GitHub},
  url          = {https://github.com/trissim/objectstate},
  note         = {Companion library to pyqt-reactor}
}

@software{streamlit,
  author       = {Streamlit Inc.},
  title        = {Streamlit: The fastest way to build data apps},
  year         = {2023},
  publisher    = {GitHub},
  url          = {https://github.com/streamlit/streamlit},
  note         = {Accessed: 2026-01-13}
}

@software{react,
  author       = {Meta Platforms, Inc.},
  title        = {React: A JavaScript library for building user interfaces},
  year         = {2023},
  publisher    = {GitHub},
  url          = {https://github.com/facebook/react},
  note         = {Accessed: 2026-01-13}
}

@software{pythonintrospect,
  author       = {Tristan Simas},
  title        = {python-introspect: Unified parameter analysis for Python callables},
  year         = {2026},
  publisher    = {GitHub},
  url          = {https://github.com/trissim/python-introspect},
  note         = {Companion library to pyqt-reactor}
}

@article{gamma1994design,
  author       = {Gamma, Erich and Helm, Richard and Johnson, Ralph and Vlissides, John},
  title        = {Design Patterns: Elements of Reusable Object-Oriented Software},
  year         = {1994},
  publisher    = {Addison-Wesley},
  note         = {Foundational work on reactive patterns and observer pattern}
}

@software{qt6,
  author       = {The Qt Company},
  title        = {Qt 6: Cross-platform application development framework},
  year         = {2023},
  publisher    = {The Qt Company},
  url          = {https://www.qt.io/},
  note         = {Accessed: 2026-01-15}
}

@software{dataclasses,
  author       = {Python Software Foundation},
  title        = {dataclasses: Data Classes for Python},
  year         = {2023},
  publisher    = {Python Enhancement Proposal 557},
  url          = {https://www.python.org/dev/peps/pep-0557/},
  note         = {Accessed: 2026-01-15}
}

@software{typehints,
  author       = {Python Software Foundation},
  title        = {Type Hints for Python},
  year         = {2023},
  publisher    = {Python Enhancement Proposal 484},
  url          = {https://www.python.org/dev/peps/pep-0484/},
  note         = {Accessed: 2026-01-15}
}
