Skip to content

Add Apple container REPL and MLX backend#169

Open
bmorphism wants to merge 1 commit into
alexzhang13:mainfrom
bmorphism:clean-container-mlx
Open

Add Apple container REPL and MLX backend#169
bmorphism wants to merge 1 commit into
alexzhang13:mainfrom
bmorphism:clean-container-mlx

Conversation

@bmorphism

@bmorphism bmorphism commented Jun 19, 2026

Copy link
Copy Markdown

Summary

  • add environment="apple" backed by Apple's container CLI
  • add local backend="mlx" through optional mlx-vlm support
  • reuse the Docker REPL host-proxy script with a configurable proxy host
  • document the new Apple and MLX paths and cover them with focused tests

Validation

  • uv run ruff check rlm/clients/__init__.py rlm/clients/mlx.py rlm/core/types.py rlm/environments/__init__.py rlm/environments/docker_repl.py rlm/environments/apple_container_repl.py tests/clients/test_mlx.py tests/repl/test_apple_container.py tests/test_types.py
  • uv run ruff format --check rlm/clients/__init__.py rlm/clients/mlx.py rlm/core/types.py rlm/environments/__init__.py rlm/environments/docker_repl.py rlm/environments/apple_container_repl.py tests/clients/test_mlx.py tests/repl/test_apple_container.py tests/test_types.py
  • uv run pytest tests/clients/test_mlx.py tests/repl/test_apple_container.py tests/test_types.py -q
  • full suite: uv run pytest -q -> 284 passed, 8 skipped
  • real Apple container smoke: RLM(..., environment="apple") on python:3.11-alpine returned 42
  • recursive Apple container LM proxy: after configuring host.container.internal with Apple Container DNS, in-container llm_query("What is 2+2?") reached the host LMHandler and returned Mock: What is 2+2?; llm_query_batched(["Q1", "Q2"]) returned Mock: Q1|Mock: Q2

Scope

  • Apple container REPL, MLX client, type/env plumbing, docs, tests, and lockfile only

@bmorphism
bmorphism force-pushed the clean-container-mlx branch from 6fa5963 to 140b4fd Compare June 19, 2026 21:42
@alexzhang13 alexzhang13 self-assigned this Jun 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants