IDEO LAB Dashboard 2026
Files
Parameters
Help
About
đ
â
đ
Site language
â
đ Menu
Retour ToolBox Home
Retour Guides Home
 Accueil
RustForge
GĂ©nĂ©rer / convertir un addon Rust (PyO3 + Maturin) Ă partir dâun contrat + tests.
Copier
Print
Créer un Job
1
Mode
2
Input
3
API contract
4
Constraints
5
Tests
6
Build
1) Choix du mode
Conversion (Option 1) ou Génération via LLM (Option 2).
Mode
Ce choix pilote les étapes suivantes.
Option 1 - Convert Python to Rust
Option 2 - Generate Rust with LLM
Conseil :
commence par Option 2 (LLM) pour valider le pipeline (maturin + pytest), puis bascule Option 1 quand ton parse AST/IR est prĂȘt.
2) Input
Colle ton code (Option 1) ou ta spec (Option 2).
Option 1 â Python source
Kernel CPU / subset compatible (pas ORM, pas I/O).
Option 2 â Spec (LLM)
Objectifs, API attendue, contraintes, exemples.
LLM-first
: plus fiable si tu fournis 2â3 exemples dâentrĂ©es/sorties + contraintes (pas dâI/O, deterministic, etc.).
3) API contract (JSON)
Câest le pivot : fonctions/classes exposĂ©es cĂŽtĂ© Python.
API contract
module_name, functions[], classes[]
{"module_name": "mon_ext", "py_package": "", "functions": [], "classes": []}
RĂšgle :
si le contrat est flou, la génération sera instable. Mets des types simples (int/float/bytes/str, list).
4) Constraints & Types
Contraintes dâexĂ©cution + mapping de types Python â Rust.
Constraints (JSON)
no_io, deterministic, threads, payloadâŠ
{"no_io": true, "deterministic": true, "threads": false, "batch_api_preferred": true, "max_payload_kb": 256}
Type policy (JSON)
intâi64, floatâf64, bytesâVec<u8>âŠ
{"int": "i64", "float": "f64", "str": "String", "bytes": "Vec<u8>", "list": "Vec<T>", "dict": "PyDict/HashMap"}
Allowed deps (JSON)
Whitelist des crates autorisées (sécurité/contrÎle).
["pyo3", "serde", "serde_json"]
5) Tests (pytest)
Tes tests sont la vérité terrain (golden outputs).
pytest suite
Si vide : on génÚre un test minimal.
Astuce :
mets 2â3 tests âgoldenâ qui comparent des rĂ©sultats exacts, pas des approximations.
6) Build & Packaging
Targets wheel + profil debug/release.
Wheel targets (JSON)
ex: ["linux_x86_64"]
["linux_x86_64"]
Build profile
debug (symboles) / release (perf)
Debug
pour démarrer (breakpoints + symboles), puis
release
quand les tests passent.
Prev
Next
Créer Job
Reset
Aucun job pour lâinstant.