# dcent-toolbox — core runtime dependencies.
#
# pyproject.toml is the SOURCE OF TRUTH for dependencies (see
# [project].dependencies and [project.optional-dependencies]). This file
# is a thin convenience mirror of the CORE deps for `pip install -r
# requirements.txt` workflows; it is kept in sync with pyproject by
# tests/test_completion.py::test_requirements_matches_pyproject.
#
# Preferred install:
#   pip install -e .            # core CLI (scan / unlock / flash / diagnose)
#   pip install -e ".[dev]"     # + test/lint toolchain
#   PyPI install command will be documented once that release is published
#
# Optional extras (combine freely) — NOT installed by this file:
#   [tui]    keygen-aesthetic Textual dashboard (textual, numpy)
#   [audio]  chiptune playback inside the TUI (sounddevice)
#   [axe]    DCENT_axe USB-serial flash wizard (esptool, pyserial)
#   [ssh]    paramiko (faster SSH path; toolbox falls back to node.js)
#   [grpc]   BraiinsOS gRPC backend (grpcio)
#   [asic-rs] asic-rs Rust bindings (asic-rs-py)
#   [all]    everything above
#
# Install an extra from the source checkout with, e.g.:
#   pip install -e ".[tui,audio,axe]"

# --- core (mirrors [project].dependencies in pyproject.toml) ---
rich>=13.0
httpx>=0.25
cryptography>=42.0
# paramiko is CORE (A2c-1): a bare install must have a working SSH transport for
# `dcent install` on every platform (Windows has no node helpers in the wheel and
# no sshpass). The [ssh] extra is kept as a back-compat alias.
paramiko>=3.0
