hud-python 0.4.40__tar.gz → 0.4.42__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.40 → hud_python-0.4.42}/PKG-INFO +40 -20
- {hud_python-0.4.40 → hud_python-0.4.42}/README.md +39 -19
- {hud_python-0.4.40 → hud_python-0.4.42}/environments/blank/pyproject.toml +1 -1
- {hud_python-0.4.40 → hud_python-0.4.42}/environments/deepresearch/pyproject.toml +1 -1
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/agents/__init__.py +0 -2
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/agents/openai_chat_generic.py +3 -1
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/flows/tasks.py +5 -5
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/rl/gpu_utils.py +2 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/rl/remote_runner.py +10 -5
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/rl/actor.py +1 -1
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/rl/config.py +3 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/rl/train.py +4 -1
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/utils/tests/test_version.py +1 -1
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/version.py +1 -1
- {hud_python-0.4.40 → hud_python-0.4.42}/pyproject.toml +1 -1
- {hud_python-0.4.40 → hud_python-0.4.42}/.gitignore +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/LICENSE +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/environments/README.md +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/environments/blank/README.md +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/environments/blank/controller/README.md +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/environments/blank/environment/README.md +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/environments/browser/README.md +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/environments/browser/environment/2048/README.md +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/environments/browser/environment/2048/backend/pyproject.toml +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/environments/browser/environment/README.md +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/environments/browser/environment/todo/README.md +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/environments/browser/environment/todo/backend/pyproject.toml +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/environments/browser/pyproject.toml +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/environments/remote_browser/README.md +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/environments/remote_browser/pyproject.toml +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/environments/remote_browser/src/hud_controller/providers/README.md +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/environments/text_2048/README.md +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/environments/text_2048/pyproject.toml +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/examples/README.md +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/__init__.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/__main__.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/agents/base.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/agents/claude.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/agents/grounded_openai.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/agents/langchain.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/agents/lite_llm.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/agents/misc/__init__.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/agents/misc/response_agent.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/agents/openai.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/agents/tests/__init__.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/agents/tests/test_base.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/agents/tests/test_claude.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/agents/tests/test_client.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/agents/tests/test_grounded_openai_agent.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/agents/tests/test_openai.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/__init__.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/__main__.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/analyze.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/build.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/clone.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/debug.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/dev.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/eval.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/flows/__init__.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/get.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/init.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/list_func.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/pull.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/push.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/remove.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/rl/__init__.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/rl/celebrate.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/rl/config.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/rl/display.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/rl/gpu.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/rl/local_runner.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/rl/presets.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/rl/rl_api.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/rl/viewer.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/rl/vllm.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/rl/wait_utils.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/tests/__init__.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/tests/test_analyze.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/tests/test_analyze_metadata.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/tests/test_build.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/tests/test_cli_init.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/tests/test_cli_main.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/tests/test_clone.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/tests/test_cursor.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/tests/test_debug.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/tests/test_list_func.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/tests/test_main_module.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/tests/test_mcp_server.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/tests/test_pull.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/tests/test_push.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/tests/test_registry.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/tests/test_utils.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/utils/__init__.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/utils/config.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/utils/cursor.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/utils/docker.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/utils/env_check.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/utils/environment.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/utils/interactive.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/utils/local_runner.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/utils/logging.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/utils/metadata.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/utils/package_runner.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/utils/registry.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/utils/remote_runner.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/utils/runner.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/utils/server.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/utils/source_hash.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/cli/utils/tasks.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/clients/README.md +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/clients/__init__.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/clients/base.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/clients/fastmcp.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/clients/mcp_use.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/clients/tests/__init__.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/clients/tests/test_client_integration.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/clients/tests/test_fastmcp.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/clients/tests/test_mcp_use_retry.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/clients/tests/test_protocol.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/clients/utils/__init__.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/clients/utils/mcp_use_retry.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/clients/utils/retry.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/clients/utils/retry_transport.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/datasets/__init__.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/datasets/parallel.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/datasets/runner.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/datasets/utils.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/misc/__init__.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/misc/claude_plays_pokemon.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/native/__init__.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/native/comparator.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/native/tests/__init__.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/native/tests/test_comparator.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/native/tests/test_native_init.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/otel/__init__.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/otel/collector.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/otel/config.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/otel/context.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/otel/exporters.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/otel/instrumentation.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/otel/processors.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/otel/tests/__init__.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/otel/tests/test_processors.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/py.typed +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/rl/README.md +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/rl/__init__.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/rl/buffer.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/rl/chat_template.jinja +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/rl/distributed.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/rl/learner.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/rl/tests/__init__.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/rl/tests/test_learner.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/rl/types.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/rl/utils/start_vllm_server.sh +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/rl/utils.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/rl/vllm_adapter.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/samples/__init__.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/samples/browser.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/server/__init__.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/server/context.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/server/helper/__init__.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/server/low_level.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/server/server.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/server/tests/__init__.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/server/tests/test_add_tool.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/server/tests/test_context.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/server/tests/test_mcp_server_handlers.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/server/tests/test_mcp_server_integration.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/server/tests/test_mcp_server_more.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/server/tests/test_run_wrapper.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/server/tests/test_server_extra.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/server/tests/test_sigterm_runner.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/settings.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/shared/__init__.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/shared/exceptions.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/shared/hints.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/shared/requests.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/shared/tests/__init__.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/shared/tests/test_exceptions.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/shared/tests/test_requests.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/telemetry/__init__.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/telemetry/instrument.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/telemetry/job.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/telemetry/replay.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/telemetry/tests/__init__.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/telemetry/tests/test_replay.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/telemetry/tests/test_trace.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/telemetry/trace.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/tools/__init__.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/tools/base.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/tools/bash.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/tools/computer/__init__.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/tools/computer/anthropic.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/tools/computer/hud.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/tools/computer/openai.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/tools/computer/settings.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/tools/edit.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/tools/executors/__init__.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/tools/executors/base.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/tools/executors/pyautogui.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/tools/executors/tests/__init__.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/tools/executors/tests/test_base_executor.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/tools/executors/tests/test_pyautogui_executor.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/tools/executors/xdo.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/tools/grounding/__init__.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/tools/grounding/config.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/tools/grounding/grounded_tool.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/tools/grounding/grounder.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/tools/grounding/tests/__init__.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/tools/grounding/tests/test_grounded_tool.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/tools/playwright.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/tools/response.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/tools/submit.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/tools/tests/__init__.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/tools/tests/test_base.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/tools/tests/test_bash.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/tools/tests/test_bash_extended.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/tools/tests/test_computer.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/tools/tests/test_computer_actions.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/tools/tests/test_edit.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/tools/tests/test_init.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/tools/tests/test_playwright_tool.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/tools/tests/test_response.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/tools/tests/test_tools.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/tools/tests/test_tools_init.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/tools/tests/test_utils.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/tools/types.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/tools/utils.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/types.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/utils/__init__.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/utils/agent_factories.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/utils/async_utils.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/utils/group_eval.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/utils/hud_console.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/utils/mcp.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/utils/pretty_errors.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/utils/progress.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/utils/tasks.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/utils/telemetry.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/utils/tests/__init__.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/utils/tests/test_async_utils.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/utils/tests/test_init.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/utils/tests/test_mcp.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/utils/tests/test_progress.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/hud/utils/tests/test_telemetry.py +0 -0
- {hud_python-0.4.40 → hud_python-0.4.42}/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.42
|
|
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
|
|
@@ -262,20 +281,22 @@ 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
|
|
@@ -125,20 +144,22 @@ 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
|
]
|
|
@@ -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}"
|
|
@@ -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:
|
|
@@ -253,6 +253,8 @@ def adjust_config_for_ddp(config: Config, num_gpus: int) -> Config:
|
|
|
253
253
|
# Update max_parallel_episodes to match
|
|
254
254
|
config.actor.max_parallel_episodes = config.training.batch_size
|
|
255
255
|
|
|
256
|
+
config.training.num_gpus = num_gpus
|
|
257
|
+
|
|
256
258
|
# Log the adjustment
|
|
257
259
|
from rich.console import Console
|
|
258
260
|
|
|
@@ -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
|
|
@@ -309,7 +310,7 @@ def run_remote_training(
|
|
|
309
310
|
# console.print(gpu_table)
|
|
310
311
|
|
|
311
312
|
if yes:
|
|
312
|
-
gpu_choice = "A100"
|
|
313
|
+
gpu_choice = "A100"
|
|
313
314
|
hud_console.info(f"Auto-selecting GPU: {gpu_choice} 80GB (--yes mode)")
|
|
314
315
|
else:
|
|
315
316
|
gpu_choice = hud_console.select(
|
|
@@ -322,7 +323,7 @@ def run_remote_training(
|
|
|
322
323
|
)
|
|
323
324
|
|
|
324
325
|
if yes:
|
|
325
|
-
num_gpus =
|
|
326
|
+
num_gpus = 2 # Default to 2 GPUs in yes mode
|
|
326
327
|
hud_console.info(f"Auto-selecting {num_gpus} GPU(s) (--yes mode)")
|
|
327
328
|
else:
|
|
328
329
|
num_gpus = hud_console.select(
|
|
@@ -347,6 +348,10 @@ def run_remote_training(
|
|
|
347
348
|
yes=yes,
|
|
348
349
|
)
|
|
349
350
|
|
|
351
|
+
config = adjust_config_for_ddp(config, int(num_gpus))
|
|
352
|
+
|
|
353
|
+
config.training.gpu_type = gpu_choice
|
|
354
|
+
|
|
350
355
|
# Use a short label for tasks (avoid full absolute paths)
|
|
351
356
|
try:
|
|
352
357
|
if tasks_file and Path(tasks_file).exists():
|
|
@@ -357,7 +362,7 @@ def run_remote_training(
|
|
|
357
362
|
except Exception:
|
|
358
363
|
tasks_label = str(tasks_file)
|
|
359
364
|
|
|
360
|
-
config.job_name = f"RL {
|
|
365
|
+
config.job_name = f"RL {tasks_label} | {model_name}"
|
|
361
366
|
|
|
362
367
|
# Save config so user can review/edit externally
|
|
363
368
|
temp_config_path = Path(f".rl_config_temp_{model_name}.json")
|
|
@@ -421,8 +426,8 @@ def run_remote_training(
|
|
|
421
426
|
hud_console.info(f"Loading configuration from: {config_file}")
|
|
422
427
|
config = load_config(config_file)
|
|
423
428
|
config_dict = config.to_dict()
|
|
424
|
-
gpu_choice =
|
|
425
|
-
num_gpus =
|
|
429
|
+
gpu_choice = config.training.gpu_type
|
|
430
|
+
num_gpus = config.training.num_gpus
|
|
426
431
|
|
|
427
432
|
# Launch training
|
|
428
433
|
try:
|
|
@@ -109,7 +109,7 @@ class Actor:
|
|
|
109
109
|
|
|
110
110
|
# Run the task
|
|
111
111
|
try:
|
|
112
|
-
with hud.trace(f"Training | {task.
|
|
112
|
+
with hud.trace(f"Training | {task.prompt}", job_id=job_id):
|
|
113
113
|
result = await agent.run(task, max_steps=self.actor_config.max_steps_per_episode)
|
|
114
114
|
|
|
115
115
|
except Exception:
|
|
@@ -103,7 +103,10 @@ async def train(config: Config, tasks: list[Task]) -> None:
|
|
|
103
103
|
if is_main_process():
|
|
104
104
|
hud_console.info(f"Creating job with config.job_id: {config.job_id}")
|
|
105
105
|
job_obj = hud.create_job(
|
|
106
|
-
job_id=config.job_id, name=config.job_name, metadata={
|
|
106
|
+
job_id=config.job_id, name=config.job_name, metadata={
|
|
107
|
+
"config": config.to_dict(),
|
|
108
|
+
"agent_class": config.model.base_model
|
|
109
|
+
}
|
|
107
110
|
)
|
|
108
111
|
hud_console.info(f"Created job with job_obj.id: {job_obj.id}")
|
|
109
112
|
job_obj.update_status_sync("running")
|
|
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.40 → hud_python-0.4.42}/environments/browser/environment/2048/backend/pyproject.toml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hud_python-0.4.40 → hud_python-0.4.42}/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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|