hud-python 0.4.39__tar.gz → 0.4.41__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of hud-python might be problematic. Click here for more details.
- {hud_python-0.4.39 → hud_python-0.4.41}/PKG-INFO +42 -22
- {hud_python-0.4.39 → hud_python-0.4.41}/README.md +41 -21
- {hud_python-0.4.39 → hud_python-0.4.41}/environments/blank/pyproject.toml +1 -1
- {hud_python-0.4.39 → hud_python-0.4.41}/environments/deepresearch/pyproject.toml +1 -1
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/agents/__init__.py +0 -2
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/agents/lite_llm.py +1 -1
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/agents/openai_chat_generic.py +6 -4
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/__init__.py +6 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/flows/tasks.py +5 -5
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/init.py +3 -3
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/rl/__init__.py +1 -2
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/rl/remote_runner.py +4 -1
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/utils/tests/test_version.py +1 -1
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/version.py +1 -1
- {hud_python-0.4.39 → hud_python-0.4.41}/pyproject.toml +1 -1
- {hud_python-0.4.39 → hud_python-0.4.41}/.gitignore +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/LICENSE +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/environments/README.md +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/environments/blank/README.md +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/environments/blank/controller/README.md +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/environments/blank/environment/README.md +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/environments/browser/README.md +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/environments/browser/environment/2048/README.md +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/environments/browser/environment/2048/backend/pyproject.toml +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/environments/browser/environment/README.md +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/environments/browser/environment/todo/README.md +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/environments/browser/environment/todo/backend/pyproject.toml +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/environments/browser/pyproject.toml +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/environments/remote_browser/README.md +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/environments/remote_browser/pyproject.toml +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/environments/remote_browser/src/hud_controller/providers/README.md +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/environments/text_2048/README.md +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/environments/text_2048/pyproject.toml +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/examples/README.md +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/__init__.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/__main__.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/agents/base.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/agents/claude.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/agents/grounded_openai.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/agents/langchain.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/agents/misc/__init__.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/agents/misc/response_agent.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/agents/openai.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/agents/tests/__init__.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/agents/tests/test_base.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/agents/tests/test_claude.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/agents/tests/test_client.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/agents/tests/test_grounded_openai_agent.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/agents/tests/test_openai.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/__main__.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/analyze.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/build.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/clone.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/debug.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/dev.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/eval.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/flows/__init__.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/get.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/list_func.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/pull.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/push.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/remove.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/rl/celebrate.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/rl/config.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/rl/display.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/rl/gpu.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/rl/gpu_utils.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/rl/local_runner.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/rl/presets.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/rl/rl_api.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/rl/viewer.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/rl/vllm.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/rl/wait_utils.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/tests/__init__.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/tests/test_analyze.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/tests/test_analyze_metadata.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/tests/test_build.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/tests/test_cli_init.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/tests/test_cli_main.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/tests/test_clone.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/tests/test_cursor.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/tests/test_debug.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/tests/test_list_func.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/tests/test_main_module.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/tests/test_mcp_server.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/tests/test_pull.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/tests/test_push.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/tests/test_registry.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/tests/test_utils.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/utils/__init__.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/utils/config.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/utils/cursor.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/utils/docker.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/utils/env_check.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/utils/environment.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/utils/interactive.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/utils/local_runner.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/utils/logging.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/utils/metadata.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/utils/package_runner.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/utils/registry.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/utils/remote_runner.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/utils/runner.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/utils/server.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/utils/source_hash.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/cli/utils/tasks.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/clients/README.md +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/clients/__init__.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/clients/base.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/clients/fastmcp.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/clients/mcp_use.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/clients/tests/__init__.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/clients/tests/test_client_integration.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/clients/tests/test_fastmcp.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/clients/tests/test_mcp_use_retry.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/clients/tests/test_protocol.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/clients/utils/__init__.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/clients/utils/mcp_use_retry.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/clients/utils/retry.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/clients/utils/retry_transport.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/datasets/__init__.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/datasets/parallel.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/datasets/runner.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/datasets/utils.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/misc/__init__.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/misc/claude_plays_pokemon.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/native/__init__.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/native/comparator.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/native/tests/__init__.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/native/tests/test_comparator.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/native/tests/test_native_init.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/otel/__init__.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/otel/collector.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/otel/config.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/otel/context.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/otel/exporters.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/otel/instrumentation.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/otel/processors.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/otel/tests/__init__.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/otel/tests/test_processors.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/py.typed +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/rl/README.md +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/rl/__init__.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/rl/actor.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/rl/buffer.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/rl/chat_template.jinja +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/rl/config.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/rl/distributed.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/rl/learner.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/rl/tests/__init__.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/rl/tests/test_learner.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/rl/train.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/rl/types.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/rl/utils/start_vllm_server.sh +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/rl/utils.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/rl/vllm_adapter.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/samples/__init__.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/samples/browser.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/server/__init__.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/server/context.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/server/helper/__init__.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/server/low_level.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/server/server.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/server/tests/__init__.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/server/tests/test_add_tool.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/server/tests/test_context.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/server/tests/test_mcp_server_handlers.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/server/tests/test_mcp_server_integration.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/server/tests/test_mcp_server_more.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/server/tests/test_run_wrapper.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/server/tests/test_server_extra.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/server/tests/test_sigterm_runner.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/settings.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/shared/__init__.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/shared/exceptions.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/shared/hints.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/shared/requests.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/shared/tests/__init__.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/shared/tests/test_exceptions.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/shared/tests/test_requests.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/telemetry/__init__.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/telemetry/instrument.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/telemetry/job.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/telemetry/replay.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/telemetry/tests/__init__.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/telemetry/tests/test_replay.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/telemetry/tests/test_trace.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/telemetry/trace.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/tools/__init__.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/tools/base.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/tools/bash.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/tools/computer/__init__.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/tools/computer/anthropic.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/tools/computer/hud.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/tools/computer/openai.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/tools/computer/settings.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/tools/edit.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/tools/executors/__init__.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/tools/executors/base.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/tools/executors/pyautogui.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/tools/executors/tests/__init__.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/tools/executors/tests/test_base_executor.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/tools/executors/tests/test_pyautogui_executor.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/tools/executors/xdo.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/tools/grounding/__init__.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/tools/grounding/config.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/tools/grounding/grounded_tool.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/tools/grounding/grounder.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/tools/grounding/tests/__init__.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/tools/grounding/tests/test_grounded_tool.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/tools/playwright.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/tools/response.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/tools/submit.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/tools/tests/__init__.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/tools/tests/test_base.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/tools/tests/test_bash.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/tools/tests/test_bash_extended.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/tools/tests/test_computer.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/tools/tests/test_computer_actions.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/tools/tests/test_edit.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/tools/tests/test_init.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/tools/tests/test_playwright_tool.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/tools/tests/test_response.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/tools/tests/test_tools.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/tools/tests/test_tools_init.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/tools/tests/test_utils.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/tools/types.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/tools/utils.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/types.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/utils/__init__.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/utils/agent_factories.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/utils/async_utils.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/utils/group_eval.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/utils/hud_console.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/utils/mcp.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/utils/pretty_errors.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/utils/progress.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/utils/tasks.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/utils/telemetry.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/utils/tests/__init__.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/utils/tests/test_async_utils.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/utils/tests/test_init.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/utils/tests/test_mcp.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/utils/tests/test_progress.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/utils/tests/test_telemetry.py +0 -0
- {hud_python-0.4.39 → hud_python-0.4.41}/hud/utils/tool_shorthand.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: hud-python
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.41
|
|
4
4
|
Summary: SDK for the HUD platform.
|
|
5
5
|
Project-URL: Homepage, https://github.com/hud-evals/hud-python
|
|
6
6
|
Project-URL: Bug Tracker, https://github.com/hud-evals/hud-python/issues
|
|
@@ -159,10 +159,10 @@ OSS RL environment + evals toolkit. Wrap software as environments, run benchmark
|
|
|
159
159
|
|
|
160
160
|
## Highlights
|
|
161
161
|
|
|
162
|
+
- 🎓 **[One-click RL](https://hud.so/models)** – Run `hud rl` to get a trained model on any environment.
|
|
162
163
|
- 🚀 **[MCP environment skeleton](https://docs.hud.so/core-concepts/mcp-protocol)** – any agent can call any environment.
|
|
163
164
|
- ⚡️ **[Live telemetry](https://hud.so)** – inspect every tool call, observation, and reward in real time.
|
|
164
165
|
- 🗂️ **[Public benchmarks](https://hud.so/leaderboards)** – OSWorld-Verified, SheetBench-50, and more.
|
|
165
|
-
- 🌱 **[Reinforcement learning built-in](rl/)** – Verifiers gym pipelines for GRPO on any environment.
|
|
166
166
|
- 🌐 **[Cloud browsers](environments/remote_browser/)** – AnchorBrowser, Steel, BrowserBase integrations for browser automation.
|
|
167
167
|
- 🛠️ **[Hot-reload dev loop](environments/README.md#phase-5-hot-reload-development-with-cursor-agent)** – `hud dev` for iterating on environments without rebuilds.
|
|
168
168
|
|
|
@@ -171,27 +171,46 @@ OSS RL environment + evals toolkit. Wrap software as environments, run benchmark
|
|
|
171
171
|
## Installation
|
|
172
172
|
|
|
173
173
|
```bash
|
|
174
|
-
#
|
|
174
|
+
# SDK - MCP servers, telemetry, evaluation
|
|
175
175
|
pip install hud-python
|
|
176
176
|
|
|
177
|
-
#
|
|
178
|
-
pip install "hud-python[agent]"
|
|
179
|
-
|
|
180
|
-
# CLI utilities
|
|
177
|
+
# CLI - RL pipeline, environment design
|
|
181
178
|
uv tool install hud-python
|
|
182
179
|
# uv tool update-shell
|
|
183
|
-
|
|
184
|
-
# From source (latest)
|
|
185
|
-
git clone https://github.com/hud-evals/hud-python
|
|
186
|
-
pip install -e "hud-python[dev]"
|
|
187
180
|
```
|
|
188
181
|
|
|
189
182
|
> See [docs.hud.so](https://docs.hud.so), or add docs to any MCP client:
|
|
190
183
|
> `claude mcp add --transport http docs-hud https://docs.hud.so/mcp`
|
|
191
184
|
|
|
192
|
-
|
|
185
|
+
Before starting, get your HUD_API_KEY at [hud.so](https://hud.so).
|
|
186
|
+
|
|
187
|
+
|
|
188
|
+
## Quickstart: Training
|
|
189
|
+
|
|
190
|
+
RL using GRPO a Qwen2.5-VL model on any hud dataset:
|
|
191
|
+
|
|
192
|
+
```bash
|
|
193
|
+
hud get hud-evals/basic-2048 # from HF
|
|
194
|
+
hud rl basic-2048.json
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
> See [agent training docs](https://docs.hud.so/train-agents/quickstart)
|
|
193
198
|
|
|
194
|
-
|
|
199
|
+
Or make your own environment and dataset:
|
|
200
|
+
|
|
201
|
+
```bash
|
|
202
|
+
hud init my-env && cd my-env
|
|
203
|
+
hud dev --interactive
|
|
204
|
+
# When ready to run:
|
|
205
|
+
hud rl
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
> See [environment design docs](https://docs.hud.so/build-environments)
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
## Quickstart: Evals
|
|
212
|
+
|
|
213
|
+
For a tutorial that explains the agent and evaluation design, run:
|
|
195
214
|
|
|
196
215
|
```python
|
|
197
216
|
uvx hud-python quickstart
|
|
@@ -254,28 +273,30 @@ This is a Qwen‑2.5‑VL‑3B agent training a policy on the 2048-basic browser
|
|
|
254
273
|
Train with the new interactive `hud rl` flow:
|
|
255
274
|
|
|
256
275
|
```bash
|
|
257
|
-
# Install CLI
|
|
258
|
-
uv tool install
|
|
276
|
+
# Install CLI
|
|
277
|
+
uv tool install hud-python
|
|
259
278
|
|
|
260
279
|
# Option A: Run directly from a HuggingFace dataset
|
|
261
280
|
hud rl hud-evals/basic-2048
|
|
262
281
|
|
|
263
282
|
# Option B: Download first, modify, then train
|
|
264
283
|
hud get hud-evals/basic-2048
|
|
265
|
-
hud rl basic-2048.
|
|
284
|
+
hud rl basic-2048.json
|
|
266
285
|
|
|
267
286
|
# Optional: baseline evaluation
|
|
268
|
-
hud eval basic-2048.
|
|
287
|
+
hud eval basic-2048.json
|
|
269
288
|
```
|
|
270
289
|
|
|
271
290
|
Supports multi‑turn RL for both:
|
|
272
291
|
- Language‑only models (e.g., `Qwen/Qwen2.5-7B-Instruct`)
|
|
273
292
|
- Vision‑Language models (e.g., `Qwen/Qwen2.5-VL-3B-Instruct`)
|
|
274
293
|
|
|
275
|
-
By default, `hud rl` provisions a
|
|
294
|
+
By default, `hud rl` provisions a persistent server and trainer in the cloud, streams telemetry to `hud.so`, and lets you monitor/manage models at `hud.so/models`. Use `--local` to run entirely on your machines (typically 2+ GPUs: one for vLLM, the rest for training).
|
|
276
295
|
|
|
277
296
|
Any HUD MCP environment and evaluation works with our RL pipeline (including remote configurations). See the guided docs: `https://docs.hud.so/train-agents/quickstart`.
|
|
278
297
|
|
|
298
|
+
Pricing: Hosted vLLM and training GPU rates are listed in the [Training Quickstart → Pricing](https://docs.hud.so/train-agents/quickstart#pricing). Manage billing at the [HUD billing dashboard](https://hud.so/project/billing).
|
|
299
|
+
|
|
279
300
|
## Benchmarking Agents
|
|
280
301
|
|
|
281
302
|
This is Claude Computer Use running on our proprietary financial analyst benchmark [SheetBench-50](https://huggingface.co/datasets/hud-evals/SheetBench-50):
|
|
@@ -323,7 +344,7 @@ from hud.tools import HudComputerTool
|
|
|
323
344
|
mcp = MCPServer("My Environment")
|
|
324
345
|
|
|
325
346
|
# Add hud tools (see all tools: https://docs.hud.so/reference/tools)
|
|
326
|
-
mcp.
|
|
347
|
+
mcp.tool(HudComputerTool())
|
|
327
348
|
|
|
328
349
|
# Or custom tools (see https://docs.hud.so/build-environments/adapting-software)
|
|
329
350
|
@mcp.tool("launch_app"):
|
|
@@ -494,11 +515,10 @@ graph LR
|
|
|
494
515
|
|
|
495
516
|
## Roadmap
|
|
496
517
|
|
|
497
|
-
- Merging our forks in to the main `mcp`, `mcp_use
|
|
518
|
+
- Merging our forks in to the main `mcp`, `mcp_use` repositories
|
|
498
519
|
- Helpers for building new environments (see [current guide](environments/README.md))
|
|
499
520
|
- Integrations with every major agent framework
|
|
500
521
|
- Evaluation environment registry
|
|
501
|
-
- Native RL training to hud environments (see [current RL support](rl/))
|
|
502
522
|
- MCP opentelemetry standard
|
|
503
523
|
|
|
504
524
|
## Contributing
|
|
@@ -509,7 +529,7 @@ Key areas:
|
|
|
509
529
|
- [Environment examples](environments/) - Add new MCP environments
|
|
510
530
|
- [Agent implementations](hud/agents/) - Add support for new LLM providers
|
|
511
531
|
- [Tool library](hud/tools/) - Extend the built-in tool collection
|
|
512
|
-
- [RL training](rl/) - Improve reinforcement learning pipelines
|
|
532
|
+
- [RL training](hud/rl/) - Improve reinforcement learning pipelines
|
|
513
533
|
|
|
514
534
|
Thanks to all our contributors!
|
|
515
535
|
|
|
@@ -22,10 +22,10 @@ OSS RL environment + evals toolkit. Wrap software as environments, run benchmark
|
|
|
22
22
|
|
|
23
23
|
## Highlights
|
|
24
24
|
|
|
25
|
+
- 🎓 **[One-click RL](https://hud.so/models)** – Run `hud rl` to get a trained model on any environment.
|
|
25
26
|
- 🚀 **[MCP environment skeleton](https://docs.hud.so/core-concepts/mcp-protocol)** – any agent can call any environment.
|
|
26
27
|
- ⚡️ **[Live telemetry](https://hud.so)** – inspect every tool call, observation, and reward in real time.
|
|
27
28
|
- 🗂️ **[Public benchmarks](https://hud.so/leaderboards)** – OSWorld-Verified, SheetBench-50, and more.
|
|
28
|
-
- 🌱 **[Reinforcement learning built-in](rl/)** – Verifiers gym pipelines for GRPO on any environment.
|
|
29
29
|
- 🌐 **[Cloud browsers](environments/remote_browser/)** – AnchorBrowser, Steel, BrowserBase integrations for browser automation.
|
|
30
30
|
- 🛠️ **[Hot-reload dev loop](environments/README.md#phase-5-hot-reload-development-with-cursor-agent)** – `hud dev` for iterating on environments without rebuilds.
|
|
31
31
|
|
|
@@ -34,27 +34,46 @@ OSS RL environment + evals toolkit. Wrap software as environments, run benchmark
|
|
|
34
34
|
## Installation
|
|
35
35
|
|
|
36
36
|
```bash
|
|
37
|
-
#
|
|
37
|
+
# SDK - MCP servers, telemetry, evaluation
|
|
38
38
|
pip install hud-python
|
|
39
39
|
|
|
40
|
-
#
|
|
41
|
-
pip install "hud-python[agent]"
|
|
42
|
-
|
|
43
|
-
# CLI utilities
|
|
40
|
+
# CLI - RL pipeline, environment design
|
|
44
41
|
uv tool install hud-python
|
|
45
42
|
# uv tool update-shell
|
|
46
|
-
|
|
47
|
-
# From source (latest)
|
|
48
|
-
git clone https://github.com/hud-evals/hud-python
|
|
49
|
-
pip install -e "hud-python[dev]"
|
|
50
43
|
```
|
|
51
44
|
|
|
52
45
|
> See [docs.hud.so](https://docs.hud.so), or add docs to any MCP client:
|
|
53
46
|
> `claude mcp add --transport http docs-hud https://docs.hud.so/mcp`
|
|
54
47
|
|
|
55
|
-
|
|
48
|
+
Before starting, get your HUD_API_KEY at [hud.so](https://hud.so).
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
## Quickstart: Training
|
|
52
|
+
|
|
53
|
+
RL using GRPO a Qwen2.5-VL model on any hud dataset:
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
hud get hud-evals/basic-2048 # from HF
|
|
57
|
+
hud rl basic-2048.json
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
> See [agent training docs](https://docs.hud.so/train-agents/quickstart)
|
|
56
61
|
|
|
57
|
-
|
|
62
|
+
Or make your own environment and dataset:
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
hud init my-env && cd my-env
|
|
66
|
+
hud dev --interactive
|
|
67
|
+
# When ready to run:
|
|
68
|
+
hud rl
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
> See [environment design docs](https://docs.hud.so/build-environments)
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
## Quickstart: Evals
|
|
75
|
+
|
|
76
|
+
For a tutorial that explains the agent and evaluation design, run:
|
|
58
77
|
|
|
59
78
|
```python
|
|
60
79
|
uvx hud-python quickstart
|
|
@@ -117,28 +136,30 @@ This is a Qwen‑2.5‑VL‑3B agent training a policy on the 2048-basic browser
|
|
|
117
136
|
Train with the new interactive `hud rl` flow:
|
|
118
137
|
|
|
119
138
|
```bash
|
|
120
|
-
# Install CLI
|
|
121
|
-
uv tool install
|
|
139
|
+
# Install CLI
|
|
140
|
+
uv tool install hud-python
|
|
122
141
|
|
|
123
142
|
# Option A: Run directly from a HuggingFace dataset
|
|
124
143
|
hud rl hud-evals/basic-2048
|
|
125
144
|
|
|
126
145
|
# Option B: Download first, modify, then train
|
|
127
146
|
hud get hud-evals/basic-2048
|
|
128
|
-
hud rl basic-2048.
|
|
147
|
+
hud rl basic-2048.json
|
|
129
148
|
|
|
130
149
|
# Optional: baseline evaluation
|
|
131
|
-
hud eval basic-2048.
|
|
150
|
+
hud eval basic-2048.json
|
|
132
151
|
```
|
|
133
152
|
|
|
134
153
|
Supports multi‑turn RL for both:
|
|
135
154
|
- Language‑only models (e.g., `Qwen/Qwen2.5-7B-Instruct`)
|
|
136
155
|
- Vision‑Language models (e.g., `Qwen/Qwen2.5-VL-3B-Instruct`)
|
|
137
156
|
|
|
138
|
-
By default, `hud rl` provisions a
|
|
157
|
+
By default, `hud rl` provisions a persistent server and trainer in the cloud, streams telemetry to `hud.so`, and lets you monitor/manage models at `hud.so/models`. Use `--local` to run entirely on your machines (typically 2+ GPUs: one for vLLM, the rest for training).
|
|
139
158
|
|
|
140
159
|
Any HUD MCP environment and evaluation works with our RL pipeline (including remote configurations). See the guided docs: `https://docs.hud.so/train-agents/quickstart`.
|
|
141
160
|
|
|
161
|
+
Pricing: Hosted vLLM and training GPU rates are listed in the [Training Quickstart → Pricing](https://docs.hud.so/train-agents/quickstart#pricing). Manage billing at the [HUD billing dashboard](https://hud.so/project/billing).
|
|
162
|
+
|
|
142
163
|
## Benchmarking Agents
|
|
143
164
|
|
|
144
165
|
This is Claude Computer Use running on our proprietary financial analyst benchmark [SheetBench-50](https://huggingface.co/datasets/hud-evals/SheetBench-50):
|
|
@@ -186,7 +207,7 @@ from hud.tools import HudComputerTool
|
|
|
186
207
|
mcp = MCPServer("My Environment")
|
|
187
208
|
|
|
188
209
|
# Add hud tools (see all tools: https://docs.hud.so/reference/tools)
|
|
189
|
-
mcp.
|
|
210
|
+
mcp.tool(HudComputerTool())
|
|
190
211
|
|
|
191
212
|
# Or custom tools (see https://docs.hud.so/build-environments/adapting-software)
|
|
192
213
|
@mcp.tool("launch_app"):
|
|
@@ -357,11 +378,10 @@ graph LR
|
|
|
357
378
|
|
|
358
379
|
## Roadmap
|
|
359
380
|
|
|
360
|
-
- Merging our forks in to the main `mcp`, `mcp_use
|
|
381
|
+
- Merging our forks in to the main `mcp`, `mcp_use` repositories
|
|
361
382
|
- Helpers for building new environments (see [current guide](environments/README.md))
|
|
362
383
|
- Integrations with every major agent framework
|
|
363
384
|
- Evaluation environment registry
|
|
364
|
-
- Native RL training to hud environments (see [current RL support](rl/))
|
|
365
385
|
- MCP opentelemetry standard
|
|
366
386
|
|
|
367
387
|
## Contributing
|
|
@@ -372,7 +392,7 @@ Key areas:
|
|
|
372
392
|
- [Environment examples](environments/) - Add new MCP environments
|
|
373
393
|
- [Agent implementations](hud/agents/) - Add support for new LLM providers
|
|
374
394
|
- [Tool library](hud/tools/) - Extend the built-in tool collection
|
|
375
|
-
- [RL training](rl/) - Improve reinforcement learning pipelines
|
|
395
|
+
- [RL training](hud/rl/) - Improve reinforcement learning pipelines
|
|
376
396
|
|
|
377
397
|
Thanks to all our contributors!
|
|
378
398
|
|
|
@@ -3,7 +3,7 @@ name = "test_test"
|
|
|
3
3
|
version = "0.1.0"
|
|
4
4
|
description = "A minimal HUD environment"
|
|
5
5
|
requires-python = ">=3.11"
|
|
6
|
-
dependencies = [ "hud-python==0.4.
|
|
6
|
+
dependencies = [ "hud-python==0.4.41", "fastapi", "uvicorn[standard]", "httpx>=0.28.1",]
|
|
7
7
|
|
|
8
8
|
[build-system]
|
|
9
9
|
requires = [ "hatchling",]
|
|
@@ -3,7 +3,7 @@ name = "deepresearch"
|
|
|
3
3
|
version = "0.1.0"
|
|
4
4
|
description = "DeepResearch HUD environment with HTTP backend (EXA on server)"
|
|
5
5
|
requires-python = ">=3.11"
|
|
6
|
-
dependencies = [ "hud-python==0.4.
|
|
6
|
+
dependencies = [ "hud-python==0.4.41", "fastapi>=0.104.1", "uvicorn[standard]>=0.24.0", "httpx>=0.24.0",]
|
|
7
7
|
|
|
8
8
|
[build-system]
|
|
9
9
|
requires = [ "hatchling",]
|
|
@@ -2,14 +2,12 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
from .base import MCPAgent
|
|
4
4
|
from .claude import ClaudeAgent
|
|
5
|
-
from .lite_llm import LiteAgent
|
|
6
5
|
from .openai import OperatorAgent
|
|
7
6
|
from .openai_chat_generic import GenericOpenAIChatAgent
|
|
8
7
|
|
|
9
8
|
__all__ = [
|
|
10
9
|
"ClaudeAgent",
|
|
11
10
|
"GenericOpenAIChatAgent",
|
|
12
|
-
"LiteAgent",
|
|
13
11
|
"MCPAgent",
|
|
14
12
|
"OperatorAgent",
|
|
15
13
|
]
|
|
@@ -177,16 +177,16 @@ class GenericOpenAIChatAgent(MCPAgent):
|
|
|
177
177
|
messages: list[Any],
|
|
178
178
|
tools: list[dict] | None,
|
|
179
179
|
extra: dict[str, Any],
|
|
180
|
-
):
|
|
180
|
+
) -> Any:
|
|
181
181
|
if self.oai is None:
|
|
182
182
|
raise ValueError("openai_client is required for GenericOpenAIChatAgent")
|
|
183
183
|
# default transport = OpenAI SDK
|
|
184
184
|
return await self.oai.chat.completions.create(
|
|
185
185
|
model=self.model_name,
|
|
186
186
|
messages=messages,
|
|
187
|
-
tools=tools, #
|
|
187
|
+
tools=tools, # type: ignore ready ChatCompletionToolParam-shaped
|
|
188
188
|
**extra,
|
|
189
|
-
)
|
|
189
|
+
) # type: ignore
|
|
190
190
|
|
|
191
191
|
@instrument(
|
|
192
192
|
span_type="agent",
|
|
@@ -204,7 +204,9 @@ class GenericOpenAIChatAgent(MCPAgent):
|
|
|
204
204
|
|
|
205
205
|
try:
|
|
206
206
|
response = await self._invoke_chat_completion(
|
|
207
|
-
messages=messages,
|
|
207
|
+
messages=messages,
|
|
208
|
+
tools=tools, # type: ignore
|
|
209
|
+
extra=extra,
|
|
208
210
|
)
|
|
209
211
|
except Exception as e:
|
|
210
212
|
error_content = f"Error getting response {e}"
|
|
@@ -1178,6 +1178,11 @@ def rl(
|
|
|
1178
1178
|
"--vllm-gpu",
|
|
1179
1179
|
help="Specific GPU for vLLM server",
|
|
1180
1180
|
),
|
|
1181
|
+
skip_vllm_startup: bool = typer.Option(
|
|
1182
|
+
False,
|
|
1183
|
+
"--skip-vllm-startup",
|
|
1184
|
+
help="Skip the vLLM server startup",
|
|
1185
|
+
),
|
|
1181
1186
|
) -> None:
|
|
1182
1187
|
"""🎯 Run GRPO reinforcement learning training on tasks."""
|
|
1183
1188
|
# Import from the rl module
|
|
@@ -1195,6 +1200,7 @@ def rl(
|
|
|
1195
1200
|
ddp_gpus=ddp_gpus,
|
|
1196
1201
|
vllm_gpu=vllm_gpu,
|
|
1197
1202
|
yes=yes,
|
|
1203
|
+
skip_vllm_startup=skip_vllm_startup,
|
|
1198
1204
|
)
|
|
1199
1205
|
|
|
1200
1206
|
|
|
@@ -212,14 +212,14 @@ def convert_tasks_to_remote(tasks_file: str) -> str:
|
|
|
212
212
|
# Check if tasks already have remote URLs
|
|
213
213
|
already_remote = _validate_tasks(tasks)
|
|
214
214
|
|
|
215
|
+
# If tasks already reference a remote MCP URL, do not require a local environment
|
|
216
|
+
# or attempt any image updates. Use the dataset as-is.
|
|
217
|
+
if already_remote:
|
|
218
|
+
return str(tasks_path)
|
|
219
|
+
|
|
215
220
|
# Extract existing images from tasks
|
|
216
221
|
existing_images = _extract_existing_images(tasks)
|
|
217
222
|
|
|
218
|
-
# Load tasks (supports .json and .jsonl)
|
|
219
|
-
if already_remote and not existing_images:
|
|
220
|
-
# Tasks are remote but have no image references - just return as-is
|
|
221
|
-
return str(tasks_path)
|
|
222
|
-
|
|
223
223
|
# Locate environment
|
|
224
224
|
env_dir = find_environment_dir(tasks_path)
|
|
225
225
|
if not env_dir:
|
|
@@ -85,9 +85,9 @@ def _prompt_for_preset() -> str:
|
|
|
85
85
|
"""Ask the user to choose a preset when not provided."""
|
|
86
86
|
try:
|
|
87
87
|
choices = [
|
|
88
|
-
{"name": "blank", "message": "blank
|
|
89
|
-
{"name": "deep-research", "message": "deep-research
|
|
90
|
-
{"name": "browser", "message": "browser
|
|
88
|
+
{"name": "blank", "message": "blank"},
|
|
89
|
+
{"name": "deep-research", "message": "deep-research"},
|
|
90
|
+
{"name": "browser", "message": "browser"},
|
|
91
91
|
]
|
|
92
92
|
display_choices = [c["message"] for c in choices]
|
|
93
93
|
selected = questionary.select(
|
|
@@ -78,10 +78,9 @@ def rl_command(
|
|
|
78
78
|
"-y",
|
|
79
79
|
help="Auto-accept all prompts and use defaults (lazy mode)",
|
|
80
80
|
),
|
|
81
|
-
# Internal flag
|
|
82
81
|
skip_vllm_startup: bool = typer.Option(
|
|
83
82
|
False,
|
|
84
|
-
|
|
83
|
+
"--skip-vllm-startup",
|
|
85
84
|
help="Skip local vLLM server startup (for internal use)",
|
|
86
85
|
),
|
|
87
86
|
) -> None:
|
|
@@ -13,6 +13,7 @@ from pathlib import Path
|
|
|
13
13
|
from rich.console import Console
|
|
14
14
|
|
|
15
15
|
from hud.cli.rl.celebrate import show_confetti_async
|
|
16
|
+
from hud.cli.rl.gpu_utils import adjust_config_for_ddp
|
|
16
17
|
from hud.cli.rl.viewer import show_json_interactive
|
|
17
18
|
from hud.cli.rl.wait_utils import wait_for_enter_cancel_or_change
|
|
18
19
|
from hud.utils.hud_console import hud_console
|
|
@@ -347,6 +348,8 @@ def run_remote_training(
|
|
|
347
348
|
yes=yes,
|
|
348
349
|
)
|
|
349
350
|
|
|
351
|
+
config = adjust_config_for_ddp(config, int(num_gpus))
|
|
352
|
+
|
|
350
353
|
# Use a short label for tasks (avoid full absolute paths)
|
|
351
354
|
try:
|
|
352
355
|
if tasks_file and Path(tasks_file).exists():
|
|
@@ -357,7 +360,7 @@ def run_remote_training(
|
|
|
357
360
|
except Exception:
|
|
358
361
|
tasks_label = str(tasks_file)
|
|
359
362
|
|
|
360
|
-
config.job_name = f"RL {
|
|
363
|
+
config.job_name = f"RL {tasks_label} | {model_name}"
|
|
361
364
|
|
|
362
365
|
# Save config so user can review/edit externally
|
|
363
366
|
temp_config_path = Path(f".rl_config_temp_{model_name}.json")
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hud_python-0.4.39 → hud_python-0.4.41}/environments/browser/environment/2048/backend/pyproject.toml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hud_python-0.4.39 → hud_python-0.4.41}/environments/browser/environment/todo/backend/pyproject.toml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|