Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Depyler
A Python-to-Rust transpiler with semantic verification and memory safety analysis. Depyler translates annotated Python code into idiomatic Rust, preserving program semantics while providing compile-time safety guarantees.
Installation
Requirements
- Rust 1.83.0 or later
- Python 3.8+ (for test validation)
Usage
Basic Transpilation
# Transpile a Python file to Rust
# Transpile with semantic verification
# Analyze migration complexity
Example
Input (example.py
):
return
return +
Output (example.rs
):
Library Usage
use ;
Features
Core Capabilities
- Type-directed transpilation: Uses Python type annotations to generate appropriate Rust types
- Memory safety analysis: Infers ownership and borrowing patterns
- Semantic verification: Property-based testing to verify behavioral equivalence
- Multiple backends: Generate Rust or Ruchy script code
Supported Python Features
Currently Supported:
- Functions with type annotations
- Basic types (int, float, str, bool)
- Collections (List, Dict, Tuple, Set)
- Control flow (if, while, for, match)
- List/dict/set comprehensions
- Exception handling (mapped to Result<T, E>)
- Classes and methods
- Async/await (basic)
- Context managers (with statements)
- Iterators
Not Supported:
- Dynamic features (eval, exec)
- Runtime reflection
- Multiple inheritance
- Monkey patching
See documentation for complete feature list.
MCP Server
Depyler is available as an MCP (Model Context Protocol) server for AI assistants like Claude Code.
Installation
Install via the MCP Registry:
# Install the server
# Verify installation
Claude Desktop Setup
Add to your Claude Desktop config (~/.config/Claude/claude_desktop_config.json
):
Available MCP Tools
- transpile_python - Convert Python code to Rust
- analyze_migration_complexity - Analyze migration effort and complexity
- verify_transpilation - Verify semantic equivalence between Python and Rust
- pmat_quality_check - Run code quality analysis
Documentation
- MCP Quickstart Guide - Getting started with the MCP server
- MCP Registry Publishing - Publishing guide for maintainers
- MCP Registry Specification - Technical specification and automation
Registry
View Depyler in the MCP Registry
Published: io.github.noahgift/depyler-mcp
v3.4.0
Architecture
Depyler uses a multi-stage compilation pipeline:
Python AST → HIR → Type Inference → Rust AST → Code Generation
Key components:
- Parser: RustPython AST parser
- HIR: High-level intermediate representation
- Type System: Conservative type inference with annotation support
- Verification: Property-based testing for semantic equivalence
- Codegen: Rust code generation via syn/quote
Quality Standards
This project follows strict quality standards:
- Test coverage: 70%+ (596 passing tests)
- Max cyclomatic complexity: ≤20
- Zero clippy warnings (
-D warnings
) - Zero self-admitted technical debt (SATD)
- TDG grade: A+ (99.1/100)
Development
Running Tests
# Run all tests
# Run with coverage
# Run benchmarks
Quality Checks
# Lint
# Format
# Quality gates
Documentation
License
Licensed under either of:
- Apache License, Version 2.0 (LICENSE-APACHE)
- MIT license (LICENSE-MIT)
at your option.
Contributing
Contributions are welcome. Please follow the quality standards:
- Write tests first (TDD)
- Maintain 80%+ coverage for new code
- Pass all clippy checks
- Update documentation
See CONTRIBUTING.md for details.