Compare commits

..

1 Commits

Author SHA1 Message Date
sdk-dev f8a2991797 fix(examples): correct repo-root import path in remote-agent/run.py
Test / test (3.12) (pull_request) Waiting to run
Test / test (3.13) (pull_request) Successful in 2m24s
Test / test (3.11) (pull_request) Successful in 2m52s
[Do] Manual ack
sop-checklist / all-items-acked SOP checklist acknowledged by sdk-dev
The local-dev import path was adding sdk/python/ to sys.path, but the
molecule_agent package lives at the repo root, not under sdk/python/.
The dead-code path silently failed (isdir check returned False) so the
script only worked when molecule-ai-sdk was pip-installed. Now uses
os.path.normpath(.. / ..) pointing to the repo root instead.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-15 10:02:22 +00:00
5 changed files with 9 additions and 9 deletions
+1 -1
View File
@@ -27,7 +27,7 @@ curl -s -X POST http://localhost:8080/workspaces/<UUID>/secrets \
# 3. Run the demo from any machine that can reach the platform:
WORKSPACE_ID=<UUID> PLATFORM_URL=http://localhost:8080 \
python3 examples/remote-agent/run.py
python3 sdk/python/examples/remote-agent/run.py
```
You should see log lines for each of the three phases, and then
+4 -4
View File
@@ -41,12 +41,12 @@ import os
import sys
# Local-dev import path — when installed via pip the molecule_agent package
# resolves normally; when running from the repo checkout we add sdk/python/
# resolves normally; when running from the repo checkout we add the repo root
# to sys.path so you can run `python3 run.py` without a pip install.
_here = os.path.dirname(os.path.abspath(__file__))
_sdk = os.path.join(_here, "..", "..", "sdk", "python")
if os.path.isdir(_sdk) and _sdk not in sys.path:
sys.path.insert(0, _sdk)
_repo_root = os.path.normpath(os.path.join(_here, "..", ".."))
if _repo_root not in sys.path:
sys.path.insert(0, _repo_root)
from molecule_agent import RemoteAgentClient # noqa: E402
+2 -2
View File
@@ -60,7 +60,7 @@ print(f"loop exited: {terminal}")
```
A runnable demo with full setup walkthrough lives at
[`examples/remote-agent/`](https://git.moleculesai.app/Molecule-AI/molecule-sdk-python/-/tree/main/examples/remote-agent) — the runnable demo with full setup walkthrough.
[`sdk/python/examples/remote-agent/`](../examples/remote-agent).
## What the SDK gives you
@@ -282,5 +282,5 @@ the security benefits of bearer auth until both sides upgrade.
- [`molecule_plugin`](../molecule_plugin) — the *other* SDK in this
package, for plugin authors. Different audience.
- [`examples/remote-agent/run.py`](https://git.moleculesai.app/Molecule-AI/molecule-sdk-python/-/blob/main/examples/remote-agent/run.py)
- [`sdk/python/examples/remote-agent/run.py`](../examples/remote-agent/run.py)
— the runnable demo that proves all of the above end-to-end.
+1 -1
View File
@@ -20,7 +20,7 @@ Intended usage::
env = client.pull_secrets() # decrypted secrets dict
client.run_heartbeat_loop() # background heartbeat + state-poll
See ``examples/remote-agent/`` for a runnable demo.
See ``sdk/python/examples/remote-agent/`` for a runnable demo.
Design notes:
* **No async.** The SDK uses blocking ``requests`` so a remote agent author
+1 -1
View File
@@ -26,7 +26,7 @@ Example: a minimal plugin that's installable on Claude Code and DeepAgents
├── claude_code.py # `from molecule_plugin import AgentskillsAdaptor as Adaptor`
└── deepagents.py # same one-liner
Full docs + cookiecutter template: see the repo root ``README.md``.
Full docs + cookiecutter template: see ``sdk/python/README.md``.
"""
from __future__ import annotations