diff --git a/CHANGELOG.md b/CHANGELOG.md index 1905419f3..37a89d993 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Bug Fixes +* **deps:** move `gunicorn` to `[proxy-prod]` extra with `sys_platform != 'win32'` guard; removed from `[proxy]` to avoid forcing a Unix-only package on dev, CI, and Windows users ([#537](https://github.com/chopratejas/headroom/pull/537)) * **startup:** suppress proxy startup log noise — litellm banner, trafilatura parse errors, HuggingFace Hub unauthenticated warnings, tiktoken fallback warning, and httpx INFO lines from sentence_transformers HEAD checks. Affected files: `headroom/providers/litellm.py`, `headroom/transforms/html_extractor.py`, `headroom/memory/adapters/embedders.py`, `headroom/providers/anthropic.py`, `headroom/providers/registry.py`, `headroom/image/onnx_router.py`, `headroom/transforms/kompress_compressor.py`. diff --git a/pyproject.toml b/pyproject.toml index 57aa61389..06cbf2801 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -71,6 +71,14 @@ proxy = [ "watchdog>=4.0.0", # File watcher for live code graph reindexing (--code-graph) "sqlite-vec>=0.1.6", # Vector index for memory (--memory). Lightweight, no torch. ] +# Production ASGI/WSGI server — Unix-only (gunicorn does not support Windows). +# Kept separate from [proxy] so that dev, CI, and Windows users are not forced +# to install a non-functional package. Production deployments should use: +# pip install headroom-ai[proxy,proxy-prod] +proxy-prod = [ + "headroom-ai[proxy]", + "gunicorn>=21.0.0; sys_platform != 'win32'", +] # AST-based code compression (tree-sitter) code = [ "tree-sitter-language-pack>=0.10.0", diff --git a/uv.lock b/uv.lock index 2ce74fff3..e6c103187 100644 --- a/uv.lock +++ b/uv.lock @@ -1200,7 +1200,7 @@ wheels = [ [[package]] name = "gitpython" -version = "3.1.47" +version = "3.1.46" source = { registry = "https://pypi.org/simple/" } dependencies = [ { name = "gitdb" },