hud-python 0.4.38__tar.gz → 0.4.40__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.38 → hud_python-0.4.40}/PKG-INFO +6 -4
- {hud_python-0.4.38 → hud_python-0.4.40}/README.md +2 -2
- {hud_python-0.4.38 → hud_python-0.4.40}/environments/blank/pyproject.toml +1 -1
- {hud_python-0.4.38 → hud_python-0.4.40}/environments/deepresearch/pyproject.toml +1 -1
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/agents/lite_llm.py +1 -1
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/agents/openai_chat_generic.py +4 -4
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/__init__.py +6 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/init.py +3 -3
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/rl/__init__.py +1 -2
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/utils/tests/test_version.py +1 -1
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/version.py +1 -1
- {hud_python-0.4.38 → hud_python-0.4.40}/pyproject.toml +2 -2
- {hud_python-0.4.38 → hud_python-0.4.40}/.gitignore +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/LICENSE +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/environments/README.md +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/environments/blank/README.md +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/environments/blank/controller/README.md +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/environments/blank/environment/README.md +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/environments/browser/README.md +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/environments/browser/environment/2048/README.md +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/environments/browser/environment/2048/backend/pyproject.toml +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/environments/browser/environment/README.md +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/environments/browser/environment/todo/README.md +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/environments/browser/environment/todo/backend/pyproject.toml +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/environments/browser/pyproject.toml +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/environments/remote_browser/README.md +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/environments/remote_browser/pyproject.toml +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/environments/remote_browser/src/hud_controller/providers/README.md +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/environments/text_2048/README.md +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/environments/text_2048/pyproject.toml +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/examples/README.md +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/__init__.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/__main__.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/agents/__init__.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/agents/base.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/agents/claude.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/agents/grounded_openai.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/agents/langchain.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/agents/misc/__init__.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/agents/misc/response_agent.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/agents/openai.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/agents/tests/__init__.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/agents/tests/test_base.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/agents/tests/test_claude.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/agents/tests/test_client.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/agents/tests/test_grounded_openai_agent.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/agents/tests/test_openai.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/__main__.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/analyze.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/build.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/clone.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/debug.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/dev.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/eval.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/flows/__init__.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/flows/tasks.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/get.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/list_func.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/pull.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/push.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/remove.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/rl/celebrate.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/rl/config.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/rl/display.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/rl/gpu.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/rl/gpu_utils.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/rl/local_runner.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/rl/presets.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/rl/remote_runner.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/rl/rl_api.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/rl/viewer.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/rl/vllm.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/rl/wait_utils.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/tests/__init__.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/tests/test_analyze.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/tests/test_analyze_metadata.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/tests/test_build.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/tests/test_cli_init.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/tests/test_cli_main.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/tests/test_clone.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/tests/test_cursor.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/tests/test_debug.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/tests/test_list_func.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/tests/test_main_module.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/tests/test_mcp_server.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/tests/test_pull.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/tests/test_push.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/tests/test_registry.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/tests/test_utils.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/utils/__init__.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/utils/config.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/utils/cursor.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/utils/docker.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/utils/env_check.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/utils/environment.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/utils/interactive.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/utils/local_runner.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/utils/logging.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/utils/metadata.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/utils/package_runner.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/utils/registry.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/utils/remote_runner.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/utils/runner.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/utils/server.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/utils/source_hash.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/cli/utils/tasks.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/clients/README.md +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/clients/__init__.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/clients/base.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/clients/fastmcp.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/clients/mcp_use.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/clients/tests/__init__.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/clients/tests/test_client_integration.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/clients/tests/test_fastmcp.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/clients/tests/test_mcp_use_retry.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/clients/tests/test_protocol.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/clients/utils/__init__.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/clients/utils/mcp_use_retry.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/clients/utils/retry.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/clients/utils/retry_transport.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/datasets/__init__.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/datasets/parallel.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/datasets/runner.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/datasets/utils.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/misc/__init__.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/misc/claude_plays_pokemon.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/native/__init__.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/native/comparator.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/native/tests/__init__.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/native/tests/test_comparator.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/native/tests/test_native_init.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/otel/__init__.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/otel/collector.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/otel/config.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/otel/context.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/otel/exporters.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/otel/instrumentation.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/otel/processors.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/otel/tests/__init__.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/otel/tests/test_processors.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/py.typed +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/rl/README.md +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/rl/__init__.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/rl/actor.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/rl/buffer.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/rl/chat_template.jinja +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/rl/config.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/rl/distributed.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/rl/learner.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/rl/tests/__init__.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/rl/tests/test_learner.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/rl/train.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/rl/types.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/rl/utils/start_vllm_server.sh +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/rl/utils.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/rl/vllm_adapter.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/samples/__init__.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/samples/browser.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/server/__init__.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/server/context.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/server/helper/__init__.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/server/low_level.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/server/server.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/server/tests/__init__.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/server/tests/test_add_tool.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/server/tests/test_context.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/server/tests/test_mcp_server_handlers.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/server/tests/test_mcp_server_integration.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/server/tests/test_mcp_server_more.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/server/tests/test_run_wrapper.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/server/tests/test_server_extra.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/server/tests/test_sigterm_runner.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/settings.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/shared/__init__.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/shared/exceptions.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/shared/hints.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/shared/requests.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/shared/tests/__init__.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/shared/tests/test_exceptions.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/shared/tests/test_requests.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/telemetry/__init__.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/telemetry/instrument.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/telemetry/job.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/telemetry/replay.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/telemetry/tests/__init__.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/telemetry/tests/test_replay.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/telemetry/tests/test_trace.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/telemetry/trace.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/tools/__init__.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/tools/base.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/tools/bash.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/tools/computer/__init__.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/tools/computer/anthropic.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/tools/computer/hud.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/tools/computer/openai.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/tools/computer/settings.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/tools/edit.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/tools/executors/__init__.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/tools/executors/base.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/tools/executors/pyautogui.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/tools/executors/tests/__init__.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/tools/executors/tests/test_base_executor.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/tools/executors/tests/test_pyautogui_executor.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/tools/executors/xdo.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/tools/grounding/__init__.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/tools/grounding/config.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/tools/grounding/grounded_tool.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/tools/grounding/grounder.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/tools/grounding/tests/__init__.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/tools/grounding/tests/test_grounded_tool.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/tools/playwright.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/tools/response.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/tools/submit.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/tools/tests/__init__.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/tools/tests/test_base.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/tools/tests/test_bash.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/tools/tests/test_bash_extended.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/tools/tests/test_computer.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/tools/tests/test_computer_actions.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/tools/tests/test_edit.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/tools/tests/test_init.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/tools/tests/test_playwright_tool.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/tools/tests/test_response.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/tools/tests/test_tools.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/tools/tests/test_tools_init.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/tools/tests/test_utils.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/tools/types.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/tools/utils.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/types.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/utils/__init__.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/utils/agent_factories.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/utils/async_utils.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/utils/group_eval.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/utils/hud_console.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/utils/mcp.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/utils/pretty_errors.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/utils/progress.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/utils/tasks.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/utils/telemetry.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/utils/tests/__init__.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/utils/tests/test_async_utils.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/utils/tests/test_init.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/utils/tests/test_mcp.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/utils/tests/test_progress.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/hud/utils/tests/test_telemetry.py +0 -0
- {hud_python-0.4.38 → hud_python-0.4.40}/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.40
|
|
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
|
|
@@ -42,7 +42,6 @@ Requires-Dist: httpx<1,>=0.23.0
|
|
|
42
42
|
Requires-Dist: hud-fastmcp-python-sdk>=0.1.2
|
|
43
43
|
Requires-Dist: hud-mcp-python-sdk>=3.13.2
|
|
44
44
|
Requires-Dist: hud-mcp-use-python-sdk==2.3.19
|
|
45
|
-
Requires-Dist: litellm>=1.55.0
|
|
46
45
|
Requires-Dist: numpy>=1.24.0
|
|
47
46
|
Requires-Dist: openai
|
|
48
47
|
Requires-Dist: opentelemetry-api>=1.34.1
|
|
@@ -71,6 +70,7 @@ Requires-Dist: jupyter-core; extra == 'agent'
|
|
|
71
70
|
Requires-Dist: langchain; extra == 'agent'
|
|
72
71
|
Requires-Dist: langchain-anthropic; extra == 'agent'
|
|
73
72
|
Requires-Dist: langchain-openai; extra == 'agent'
|
|
73
|
+
Requires-Dist: litellm>=1.55.0; extra == 'agent'
|
|
74
74
|
Requires-Dist: pillow>=11.1.0; extra == 'agent'
|
|
75
75
|
Requires-Dist: playwright; extra == 'agent'
|
|
76
76
|
Requires-Dist: pyautogui>=0.9.54; extra == 'agent'
|
|
@@ -93,6 +93,7 @@ Requires-Dist: jupyter-core; extra == 'agents'
|
|
|
93
93
|
Requires-Dist: langchain; extra == 'agents'
|
|
94
94
|
Requires-Dist: langchain-anthropic; extra == 'agents'
|
|
95
95
|
Requires-Dist: langchain-openai; extra == 'agents'
|
|
96
|
+
Requires-Dist: litellm>=1.55.0; extra == 'agents'
|
|
96
97
|
Requires-Dist: pillow>=11.1.0; extra == 'agents'
|
|
97
98
|
Requires-Dist: playwright; extra == 'agents'
|
|
98
99
|
Requires-Dist: pyautogui>=0.9.54; extra == 'agents'
|
|
@@ -115,6 +116,7 @@ Requires-Dist: jupyter-core; extra == 'dev'
|
|
|
115
116
|
Requires-Dist: langchain; extra == 'dev'
|
|
116
117
|
Requires-Dist: langchain-anthropic; extra == 'dev'
|
|
117
118
|
Requires-Dist: langchain-openai; extra == 'dev'
|
|
119
|
+
Requires-Dist: litellm>=1.55.0; extra == 'dev'
|
|
118
120
|
Requires-Dist: pillow>=11.1.0; extra == 'dev'
|
|
119
121
|
Requires-Dist: playwright; extra == 'dev'
|
|
120
122
|
Requires-Dist: pyautogui>=0.9.54; extra == 'dev'
|
|
@@ -252,8 +254,8 @@ This is a Qwen‑2.5‑VL‑3B agent training a policy on the 2048-basic browser
|
|
|
252
254
|
Train with the new interactive `hud rl` flow:
|
|
253
255
|
|
|
254
256
|
```bash
|
|
255
|
-
# Install CLI
|
|
256
|
-
uv tool install
|
|
257
|
+
# Install CLI
|
|
258
|
+
uv tool install hud-python
|
|
257
259
|
|
|
258
260
|
# Option A: Run directly from a HuggingFace dataset
|
|
259
261
|
hud rl hud-evals/basic-2048
|
|
@@ -117,8 +117,8 @@ This is a Qwen‑2.5‑VL‑3B agent training a policy on the 2048-basic browser
|
|
|
117
117
|
Train with the new interactive `hud rl` flow:
|
|
118
118
|
|
|
119
119
|
```bash
|
|
120
|
-
# Install CLI
|
|
121
|
-
uv tool install
|
|
120
|
+
# Install CLI
|
|
121
|
+
uv tool install hud-python
|
|
122
122
|
|
|
123
123
|
# Option A: Run directly from a HuggingFace dataset
|
|
124
124
|
hud rl hud-evals/basic-2048
|
|
@@ -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.40", "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.40", "fastapi>=0.104.1", "uvicorn[standard]>=0.24.0", "httpx>=0.24.0",]
|
|
7
7
|
|
|
8
8
|
[build-system]
|
|
9
9
|
requires = [ "hatchling",]
|
|
@@ -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,7 @@ class GenericOpenAIChatAgent(MCPAgent):
|
|
|
204
204
|
|
|
205
205
|
try:
|
|
206
206
|
response = await self._invoke_chat_completion(
|
|
207
|
-
messages=messages, tools=tools, extra=extra
|
|
207
|
+
messages=messages, tools=tools, extra=extra # type: ignore
|
|
208
208
|
)
|
|
209
209
|
except Exception as e:
|
|
210
210
|
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
|
|
|
@@ -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:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "hud-python"
|
|
3
|
-
version = "0.4.
|
|
3
|
+
version = "0.4.40"
|
|
4
4
|
description = "SDK for the HUD platform."
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.11, <3.13"
|
|
@@ -40,7 +40,6 @@ dependencies = [
|
|
|
40
40
|
# AI providers
|
|
41
41
|
"anthropic",
|
|
42
42
|
"openai",
|
|
43
|
-
"litellm>=1.55.0",
|
|
44
43
|
]
|
|
45
44
|
classifiers = [
|
|
46
45
|
"Development Status :: 4 - Beta",
|
|
@@ -135,6 +134,7 @@ dev = [
|
|
|
135
134
|
"langchain",
|
|
136
135
|
"langchain-openai",
|
|
137
136
|
"langchain-anthropic",
|
|
137
|
+
"litellm>=1.55.0",
|
|
138
138
|
# Jupyter support
|
|
139
139
|
"ipykernel",
|
|
140
140
|
"ipython <9",
|
|
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.38 → hud_python-0.4.40}/environments/browser/environment/2048/backend/pyproject.toml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hud_python-0.4.38 → hud_python-0.4.40}/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
|
|
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
|
|
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
|
{hud_python-0.4.38 → hud_python-0.4.40}/hud/tools/executors/tests/test_pyautogui_executor.py
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
|