feat: auto-install uvloop on Linux/macOS with platform gate

Move uvloop from opt-in [performance] extra to a platform-gated hard
dependency (sys_platform != 'win32'). On Linux/macOS it installs
automatically; on Windows pip/uv skips it entirely. Runtime fallback
in hanzo_async already handles ImportError gracefully.

- hanzo-async 0.1.2 → 0.1.3: uvloop now a default dep
- hanzo-mcp 0.12.7 → 0.12.8: uvloop in main deps, removed from [performance]
This commit is contained in:
2026-03-09 21:11:54 -07:00
parent 191b74b779
commit ef77e9d31f
2 changed files with 6 additions and 5 deletions
+2 -1
View File
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
[project]
name = "hanzo-async"
version = "0.1.2"
version = "0.1.3"
description = "Unified async I/O for Hanzo AI - high-performance with uvloop fallback"
readme = "README.md"
requires-python = ">=3.12"
@@ -18,6 +18,7 @@ classifiers = [
keywords = ["hanzo", "async", "uvloop", "aiofiles", "high-performance"]
dependencies = [
"aiofiles>=23.2.1",
"uvloop>=0.21.0; sys_platform != 'win32'",
]
[project.optional-dependencies]
+4 -4
View File
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
[project]
name = "hanzo-mcp"
version = "0.12.7"
version = "0.12.8"
description = "The Zen of Hanzo MCP: One server to rule them all. The ultimate MCP that orchestrates all others."
readme = "README.md"
requires-python = ">=3.12"
@@ -23,8 +23,9 @@ dependencies = [
"pydantic>=2.12.5",
"pydantic-settings>=2.12.0",
"typing-extensions>=4.13.0",
# Unified async I/O (aiofiles; uvloop opt-in via performance extra)
"hanzo-async>=0.1.0",
# Unified async I/O (aiofiles + uvloop auto-installed on Linux/macOS, graceful fallback)
"hanzo-async>=0.1.3",
"uvloop>=0.22.1; sys_platform != 'win32'",
# Hanzo tool infrastructure (all tools)
"hanzo-tools>=0.3.0",
"hanzo-tools-fs>=0.1.0",
@@ -116,7 +117,6 @@ test = [
performance = [
"ujson>=5.7.0",
"orjson>=3.9.0",
"uvloop>=0.22.1; sys_platform != 'win32'",
]
publish = ["twine>=4.0.2", "build>=1.0.3"]