{
 "schema_version": 1,
 "generated": "2026-10-20",
 "id": "arcships-rutis--prototype-in-python-then-move-it",
 "repo": "arcships/rutis",
 "repo_url": "https://github.com/arcships/rutis",
 "repo_slug": "arcships-rutis",
 "title": "Prototype a capability in Python, then move it to another machine",
 "page_title": "How to prototype a capability in Python, then move it to another machine with Rutis",
 "summary": "Build a Python plugin first, then swap its location or language without changing its callers.",
 "who": "A data or ML engineer who wants to try a capability in Python and later run it on an internal node or rewrite it in Rust.",
 "problem": "Experiments tend to be rewritten when they move to production, and callers break when the implementation changes.",
 "outcome": "A Python plugin running under the host, with a path to replace the provider later while the calling plugin stays the same.",
 "steps": [
  "Run `uvx rutis-host new weather --lang python` to create the plugin project.",
  "Run `uv sync` inside the project to install dependencies.",
  "Run `uv run rutis-host dev` and iterate on the plugin; later, replace the provider without changing the callers."
 ],
 "agent_prompt": "Using the repo arcships/rutis, create a Python plugin named <target> with `uvx rutis-host new <target> --lang python`, run `uv sync`, then `uv run rutis-host dev`. Expected output: the host running the plugin. Verify that a caller plugin using the service name still resolves after you change the provider's file.",
 "agents": [
  "any"
 ],
 "difficulty": "Intermediate",
 "time": "45 minutes",
 "basis": "readme",
 "caveat": "The README notes that each language needs at least one process and that synchronous cross-language calls add latency, so keep hot paths in one runtime.",
 "category": "Software and DevOps",
 "tags": [
  "Software and DevOps"
 ],
 "lang": "rust",
 "requirements": [
  "Node.js with npm, or Bun, for the TypeScript path",
  "uv for the Python path",
  "Go for the Go path",
  "A Rust toolchain with cargo for the embedding path"
 ],
 "risk": "none",
 "seen_in_the_wild": false,
 "mentioned_publicly": false,
 "risks": [],
 "best": false,
 "score": 0.8,
 "evidence": [],
 "url": "https://dedupedai.com/use-cases/arcships-rutis/prototype-in-python-then-move-it/",
 "md": "https://dedupedai.com/use-cases/arcships-rutis/prototype-in-python-then-move-it/index.md",
 "disclaimer": "Deduped lists open-source repositories that belong to other people. We do not own, maintain, audit, or vouch for any of them, and a repo appearing here is not an endorsement or a safety check. The use cases, steps, and prompts are written by AI and may be incomplete, outdated, or just wrong. Where a use case is marked \"Seen in the wild\", we link to public posts where someone described something similar, but we have not verified those posts and the use case itself is still our AI's own write-up. Use all of this at your own risk. Only run code, commands, or agents on systems and accounts you are authorized to use, and read the code and every command before you run it, especially anything that touches credentials, files, or the network. Nothing here is professional, security, legal, or financial advice. All trademarks and project names belong to their respective owners, and their use here does not imply affiliation. Content is provided as is, without warranties of any kind. Found a mistake, a safety problem, or something you want removed? Email hello@dedupedai.com and we will look at it promptly.",
 "api": "https://dedupedai.com/api/v1/usecases/arcships-rutis--prototype-in-python-then-move-it.json",
 "api_version": "v1"
}
