# Python 3.10+ required (PuiKit, XeFM's UI framework, requires 3.10+)
# pygments for syntax highlighting (will fallback gracefully if not available)
# boto3 for AWS S3 support
# watchdog for automatic file list reloading
# pillow for the built-in image viewer (decode/crop/scale; the viewer degrades
#   to a metadata card without it, and inline terminal images need it too)
# pymigemo for Migemo (romaji -> Japanese) matching in incremental search
#   (will fallback gracefully to plain matching if not available)
#
# Backend/platform deps (pyobjc on macOS, windows-curses on Windows, numpy on
# Windows) are PuiKit's own requirements and resolve transitively via the puikit
# pin below, so XeFM does not list them here. pillow is listed because XeFM's
# image viewer imports PIL directly, independent of PuiKit.

# PuiKit is XeFM's UI/rendering framework (the TUI/GUI backend layer), published
# on PyPI as of 1.0. For co-development against a local checkout, ``make venv``
# additionally installs it editable from ../puikit, which overrides this pin.
# 1.2.0 is the floor because XeFM now calls APIs added there: the rich viewers'
# ``search_matcher`` hook (Migemo in incremental search -- issue #302),
# ``Panel.remove_layer`` (the progress dialog closing itself from under a
# covering confirm box -- issue #333), and ``MenuBar.open_menu`` /
# ``open_menu_mnemonic`` (keyboard menu activation -- issue #304).
puikit>=1.2.0
pygments
boto3
watchdog
pillow

# Pinned exactly: 0.0.1's dictionary reader breaks on LP64 platforms
# (macOS/Linux) and xefm/migemo_search.py patches it at runtime — a future
# upstream release could move the internals that patch touches. See
# discussion #332 before bumping.
pymigemo==0.0.1
