bitflicker64 opened a new pull request, #484:
URL: https://github.com/apache/hugegraph-doc/pull/484

   Adds the missing `vermeer-python-client` quick start page (en and cn). The 
module is referenced by name in 
`content/*/docs/quickstart/hugegraph-ai/_index.md:16` and 
`content/*/docs/introduction/_index.md:89`, but had no page anywhere in 
`content/`.
   
   The page sits in the `hugegraph-ai` section at `weight: 6`, after 
`rest-api.md`. Section navigation is Hugo weight-driven, so no `_index.md` or 
`SUMMARY.md` change is needed. Layout and frontmatter follow 
`content/*/docs/quickstart/client/hugegraph-client-python.md`.
   
   The module is not a stub: it has a working client, two registered API 
groups, five endpoint wrappers, full response models and a runnable demo. It 
ships no test suite, so every example was verified against `src/pyvermeer/**` 
and the bundled demo.
   
   | Page | Wrong | Changed to | Source |
   |---|---|---|---|
   | new page, intro | missing | The Python SDK for the Vermeer memory-first 
graph computing engine; the import package is `pyvermeer`; no Vermeer server 
version is pinned | `vermeer-python-client/README.md:3`, 
`vermeer-python-client/pyproject.toml:50` |
   | new page, Requirements | missing | Python 3.9+ for the module alone, 3.10+ 
for the repo; Vermeer master over HTTP (the demo uses port 8688); deps 
`requests`, `urllib3`, `python-dateutil`, `decorator`, `rich`, `setuptools` | 
`vermeer-python-client/pyproject.toml:27,29-39`, `pyproject.toml:27`, 
`.../demo/task_demo.py:26` |
   | new page, Installation | missing | Distribution name 
`vermeer-python-client`, version managed independently, not yet on PyPI; `uv 
sync --extra vermeer` from the repo root; editable path dependency, not a uv 
workspace member; standalone `uv sync` inside the module dir | 
`vermeer-python-client/pyproject.toml:19-20`, 
`vermeer-python-client/README.md:7-15,22-27`, `pyproject.toml:41,91,93-97` |
   | new page, Connect to a Vermeer Master | missing | `PyVermeerClient(ip, 
port, token, timeout=None, log_level="INFO")` parameter table, plus the 
behaviour notes: token cannot be `None` and is sent as `Authorization`; 
omitting `timeout` stores `None`, because the client always forwards its own 
argument over the `(0.5, 15.0)` default in `VermeerConfig`; the base URL is 
always plain `http://{ip}:{port}/`; `params` is JSON-serialized into the body 
for every method including GET; 3 retries with backoff 0.1 on 500, 502 and 504; 
the console handler is fixed at INFO, so `DEBUG` is not printed | 
`.../client/client.py:30-48`, `.../utils/vermeer_config.py:29`, 
`.../utils/vermeer_requests.py:36-38,48-52,61-70,82,96`, 
`.../utils/log.py:37,47` |
   | new page, End-to-End Example | missing | A runnable `load` task example 
based on the bundled demo, extended with task read-back and graph inspection; 
the password is read from the environment rather than hardcoded | 
`.../demo/task_demo.py:22-45` |
   | new page, API Surface | missing | `client.graph`: `get_graphs()` to `GET 
/graphs`, `get_graph(name)` to `GET /graphs/{name}`. `client.tasks`: 
`get_tasks()` to `GET /tasks`, `get_task(id)` to `GET /task/{id}`, 
`create_task(req)` to `POST /tasks/create`. `client.send_request()` as the 
shared escape hatch. Master and worker API groups are unimplemented 
placeholders, even though `MasterResponse` and `WorkersResponse` exist | 
`.../api/graph.py:26-37`, `.../api/task.py:25-38`, 
`.../client/client.py:47,56-57`, `.../api/master.py:1-16`, 
`.../api/worker.py:1-16`, `.../structure/master_data.py:71-82`, 
`.../structure/worker_data.py:99-111` |
   | new page, Requests and Responses | missing | `TaskCreateRequest(task_type, 
graph_name, params)` serializes `graph_name` as `graph`; all responses expose 
`errcode` / `message` / `to_dict()` with 0 ok, 1 error, -1 absent; 
`VermeerGraph` and `TaskInfo` field lists; timestamps parsed by 
`python-dateutil`, empty string becomes `None` | 
`.../structure/task_data.py:47-142,145-156`, 
`.../structure/base_data.py:18-50`, `.../structure/graph_data.py:95-209`, 
`.../utils/vermeer_datetime.py:23-28` |
   | new page, Task Parameters | missing | The client does not validate 
`params`; the keys come from the engine; load then compute sequence; points at 
the Vermeer quick start for the parameter lists | `.../api/task.py:35-38`, 
`.../structure/task_data.py:154-156` |
   | new page, Errors | missing | `ConnectError`, `TimeOutError`, 
`JsonDecodeError`, `UnknownError` with their trigger conditions; the HTTP 
status code is never checked, so callers must read `errcode` | 
`.../utils/exception.py:19-44`, `.../utils/vermeer_requests.py:91-107` |
   | new page, Development Checks | missing | 
`./style/code_format_and_analysis.sh` from the repo root; source under 
`vermeer-python-client/src/pyvermeer/`; the module ships no test suite | 
`vermeer-python-client/README.md:80` |
   
   ## Follow-up left out on purpose
   
   `content/*/docs/quickstart/hugegraph-ai/_index.md` has a "Next Steps" list 
that links every sibling page in the section. Adding `vermeer-python-client.md` 
there would make the section self-consistent, but that file is owned by the 
hugegraph-llm sync PR, and adding the link from either side creates a dead link 
until both PRs merge. Worth a small follow-up once both are in.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to