hermes-hub/pyproject.toml
ochenstarik-ui d5452526bd feat(benchmark): честные замеры локальных моделей на железе Tesla V100 (A40)
- Все строки отчёта BENCHMARK_REPORT.md содержат реальный путь, размер файла по os.stat, sha256 первых 64M и имя из general.name
- Отозваны все гипотетические оценки A38; проведены реальные замеры Phi-4 (83.3%, 58.5 ток/с), DeepSeek-Coder-V2 (75.0%, 61.5 ток/с), Granite-4.2-8B (66.7%, 80.6 ток/с)
- Описано падение скорости Multi-head Latent Attention (MLA) DeepSeek на 32k контексте до 3.35 ток/с
- Восстановлены штатные службы владельца на портах 8081 (Qwen3.8-27B) и 8082 (Qwen3-4B)
2026-08-31 01:57:37 +07:00

94 lines
2.5 KiB
TOML

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "hermes-hub"
version = "0.1.1"
description = "Multi-Agent & Multi-Provider Control Hub for Hermes Agent"
readme = "README.md"
license = { text = "MIT" }
requires-python = ">=3.10"
authors = [
{ name = "Hermes Development Team" }
]
keywords = [
"hermes",
"router",
"multi-provider",
"antigravity",
"codex",
"opencode",
"agentic-ai",
"cockpit",
"hub"
]
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
]
dependencies = [
"pyyaml>=6.0.1",
"pydantic>=2.6.0",
"requests>=2.31.0",
"httpx>=0.27.0",
"customtkinter>=6.0.0",
"pillow>=12.3.0",
"psutil>=5.9.0",
"gguf>=0.19.0",
]
[project.optional-dependencies]
dev = [
"pytest>=8.0.0",
"pytest-asyncio>=0.23.0",
"pytest-timeout>=2.3.0",
"anyio>=4.0.0",
"ruff>=0.3.0",
]
web = [
"fastapi>=0.110.0",
"uvicorn>=0.28.0",
]
[project.scripts]
hermes-hub = "antigravity_provider.router.cli_commands:main"
[tool.hatch.build.targets.wheel]
packages = ["src/antigravity_provider"]
[tool.pytest.ini_options]
testpaths = ["tests"]
pythonpath = ["src"]
python_files = ["test_*.py"]
addopts = "-m 'not live and not network and not installer'"
timeout = 30
timeout_method = "thread"
markers = [
"unit: Unit tests that run isolated in-memory",
"integration: Component integration tests with isolated filesystem",
"network: Tests that perform real network calls",
"installer: Tests verifying installer and packaging",
"live: End-to-end tests requiring real user credentials",
]
[tool.ruff]
line-length = 120
target-version = "py310"
extend-exclude = ["legacy", ".venv"]
[tool.ruff.lint]
# Bug-catching rules only, so CI gives a real signal today.
# E9 - syntax / IO errors F63 - comparison & assert mistakes
# F7 - misplaced statements F82 - undefined names
# F811 - redefinition of an in-use name
# Style and modernization rules (UP, I, BLE, S, SIM, RUF) are intentionally
# left off: the codebase currently has ~1200 such findings, and enabling them
# wholesale would keep CI red instead of catching defects. Burn them down in
# a dedicated pass, then extend this list.
select = ["E9", "F63", "F7", "F82", "F811"]