mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-04-28 06:51:16 +08:00
fix(skills): ship google-workspace deps as [google] extra; make setup.py 3.9-parseable
Closes #13626. Two follow-ups on top of the _hermes_home helper from @jerome-benoit's #12729: 1. Declare a [google] optional extra in pyproject.toml (google-api-python-client, google-auth-oauthlib, google-auth-httplib2) and include it in [all]. Packagers (Nix flake, Homebrew) now ship the deps by default, so `setup.py --check` does not need to shell out to pip at runtime — the imports succeed and install_deps() is never reached. This fixes the Nix breakage where pip/ensurepip are stripped. 2. Add `from __future__ import annotations` to setup.py so the PEP 604 `str | None` annotation parses on Python 3.9 (macOS system python). Previously system python3 SyntaxError'd before any code ran. install_deps() error message now also points users at the extra instead of just the raw pip command.
This commit is contained in:
@@ -78,6 +78,15 @@ termux = [
|
||||
]
|
||||
dingtalk = ["dingtalk-stream>=0.20,<1", "alibabacloud-dingtalk>=2.0.0", "qrcode>=7.0,<8"]
|
||||
feishu = ["lark-oapi>=1.5.3,<2", "qrcode>=7.0,<8"]
|
||||
google = [
|
||||
# Required by the google-workspace skill (Gmail, Calendar, Drive, Contacts,
|
||||
# Sheets, Docs). Declared here so packagers (Nix, Homebrew) ship them with
|
||||
# the [all] extra and users don't hit runtime `pip install` paths that fail
|
||||
# in environments without pip (e.g. Nix-managed Python).
|
||||
"google-api-python-client>=2.100,<3",
|
||||
"google-auth-oauthlib>=1.0,<2",
|
||||
"google-auth-httplib2>=0.2,<1",
|
||||
]
|
||||
# `hermes dashboard` (localhost SPA + API). Not in core to keep the default install lean.
|
||||
web = ["fastapi>=0.104.0,<1", "uvicorn[standard]>=0.24.0,<1"]
|
||||
rl = [
|
||||
@@ -110,6 +119,7 @@ all = [
|
||||
"hermes-agent[voice]",
|
||||
"hermes-agent[dingtalk]",
|
||||
"hermes-agent[feishu]",
|
||||
"hermes-agent[google]",
|
||||
"hermes-agent[mistral]",
|
||||
"hermes-agent[bedrock]",
|
||||
"hermes-agent[web]",
|
||||
|
||||
Reference in New Issue
Block a user