# ZimZilla — the harness's dependencies.
#
#   python -m venv .venv && source .venv/bin/activate
#   pip install -r requirements.txt
#
# This installs the harness's dependencies and zimzilla itself (the trailing
# `-e .`), which drops a `zimzilla` command into the venv's bin.
#
# The LiteLLM proxy is deliberately NOT in this file. The default route does
# not use one: Logfare serves Chat Completions directly. The optional
# IteraCompute/InfronAI proxies cannot share this environment either:
# litellm[proxy] requires rich<14.0, while textual 8.x requires rich>=14.2. A
# requirements.txt that lists both is unsatisfiable — pip reports
# ResolutionImpossible and installs *nothing*, which is why
# `pip install -r requirements.txt` failed on a fresh checkout.

anthropic>=0.40
textual>=0.80
# textual 8.x needs rich>=14.2. This floor holds only because litellm[proxy] —
# which pins rich<14 and would downgrade it — is kept out of this environment.
rich>=14.2.0
pyyaml>=6.0

# The assistant's markdown parser (zimzilla/ui/markdown.py). Listed explicitly
# even though rich and textual both require it today — ZimZilla imports it
# directly, and a transitive dependency it does not declare is one an upstream
# release can take away without anything here noticing until import time.
markdown-it-py>=2.2.0

# zimzilla itself, editable, so the `zimzilla` console script is installed and
# the package is importable from any directory.
-e .
