paiml

Depyler

Community paiml
Updated

Compiles Python to Rust, helping transition off of Python to Energy Efficient and Safe Rust Code

Depyler

Crates.ioDocumentationCICoverageLicense: MITApache LicenseRust 1.83+MCP CompatibleDownloads

Energy-efficient Python-to-Rust transpiler with progressive verificationcapabilities. Transform Python code into safe, performant Rust while reducingenergy consumption by 75-85%. Built with zero tolerance for technical debt andextreme quality standards following the Toyota Way.

Enterprise Testing Excellence: v2.2.2 delivers enterprise-grade testinginfrastructure with 350+ tests across property-based, mutation, fuzzing, andcoverage testing frameworks. Features comprehensive CI/CD integration,automated quality gates, and cross-platform testing matrix. Maintains zerodefects policy with formal verification readiness and ownership inference.Line coverage: 70% | Function coverage: 74%

๐Ÿš€ Installation

Install depyler using one of the following methods:

  • From Crates.io (Recommended):

    cargo install depyler
    
  • From Source:

    git clone https://github.com/paiml/depyler
    cd depyler
    cargo build --release
    cargo install --path crates/depyler
    
  • From GitHub Releases: Pre-built binaries are available on thereleases page.

Requirements

  • Rust: 1.83.0 or later
  • Python: 3.8+ (for test validation)

๐Ÿš€ Getting Started

Quick Start

# Transpile a Python file
depyler transpile example.py

# Transpile with verification
depyler transpile example.py --verify

# Analyze code complexity before transpilation
depyler analyze example.py

# Interactive mode with AI suggestions
depyler interactive example.py --suggest

# Check transpilation compatibility
depyler check example.py

# Inspect AST/HIR representations
depyler inspect example.py --repr hir

# Start Language Server for IDE integration
depyler lsp

# Profile Python code for performance analysis
depyler profile example.py --flamegraph

# Generate documentation from Python code
depyler docs example.py --output ./docs

Using as a Library

Add to your Cargo.toml:

[dependencies]
depyler = "2.2.2"

Basic usage:

use depyler::{transpile_file, TranspileOptions};

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let options = TranspileOptions::default()
        .with_verification(true)
        .with_optimization_level(2);
    
    let rust_code = transpile_file("example.py", options)?;
    println!("{}", rust_code);
    
    Ok(())
}

Key Features

๐Ÿ”„ Core Transpilation

  • Python AST to HIR - High-level intermediate representation for safetransformations
  • Type Inference - Smart type analysis with annotation support
  • Memory Safety - Automatic ownership and borrowing inference
  • Direct Rules Engine - Pattern-based Python-to-Rust transformations
  • String Optimization - Interning for frequently used literals, Cow forflexible ownership

โšก Performance & Efficiency

  • Energy Reduction - 75-85% lower energy consumption vs Python
  • Binary Optimization - Compile with LTO, strip, and panic=abort
  • Zero-Copy Strings - Smart string allocation strategies with Cow
  • LLVM Backend - Leverages Rust's optimizing compiler
  • String Interning - Automatic interning for strings used >3 times

๐Ÿ›ก๏ธ Safety & Verification

  • Property-Based Testing - QuickCheck for semantic equivalence
  • Memory Safety Analysis - Prevents use-after-free and data races
  • Bounds Checking - Automatic insertion where needed
  • Contract Verification - Pre/post condition checking
  • Formal Verification Ready - Structured for future SMT integration

๐Ÿค– AI Integration

  • Model Context Protocol - Full MCP v1.0 support
  • Interactive Mode - AI-powered transpilation assistance
  • Annotation Suggestions - Smart optimization hints
  • Complexity Analysis - Migration difficulty assessment

๐Ÿ› ๏ธ Developer Tools

  • Language Server Protocol - VSCode, Neovim, and other IDE support
  • Debugging Support - Source mapping and debugger integration
  • Performance Profiling - Hot path detection and optimization
  • Documentation Generation - Auto-generate API docs from Python

๐ŸŽฏ Supported Python Features

โœ… Production Ready
  • Functions with type annotations
  • Basic types (int, float, str, bool)
  • Collections (List, Dict, Tuple, Set, FrozenSet)
  • Control flow (if, while, for, break, continue)
  • List, dict, and set comprehensions
  • Exception handling โ†’ Result<T, E>
  • Classes with methods, properties, dataclasses
  • Static methods and class methods
  • Basic async/await support
  • Lambda functions
  • Power operator (**) and floor division (//)
  • String optimization (interning, Cow support)
  • Protocol to Trait mapping
  • Const generic array inference
  • With statements (context managers)
  • Iterator protocol (iter, next)
๐Ÿšง In Development
  • Full async/await (async iterators, generators)
  • Generator expressions with yield
  • Advanced decorators
  • Class inheritance
  • Match/case statements (Python 3.10+)
  • Package imports and relative imports
โŒ Not Supported
  • Dynamic features (eval, exec)
  • Runtime reflection
  • Monkey patching
  • Multiple inheritance

๐Ÿ“‹ Tool Usage

CLI Interface

# Basic transpilation
depyler transpile input.py              # Creates input.rs
depyler transpile input.py -o output.rs # Custom output
depyler transpile src/ -o rust/         # Directory mode

# Analysis and verification
depyler check input.py                  # Compatibility check
depyler analyze input.py                # Complexity metrics
depyler verify output.rs                # Verify generated code
depyler inspect input.py --repr ast     # View AST/HIR

# Interactive features
depyler interactive input.py            # Interactive session
depyler interactive input.py --suggest  # With AI suggestions

# Quality enforcement
depyler transpile input.py --verify          # With verification
depyler quality-check input.py               # Toyota Way scoring

# Developer tools
depyler lsp                                  # Start Language Server
depyler debug --tips                         # Debugging guide
depyler profile input.py                     # Performance profiling
depyler docs input.py                        # Generate documentation

MCP Integration

Using with Claude Code
# Add to Claude Code
claude mcp add depyler ~/.local/bin/depyler
MCP Server Mode
# Start MCP server
depyler serve --mcp

# Available MCP tools:
# - transpile_python: Convert Python to Rust
# - analyze_complexity: Code complexity analysis
# - verify_transpilation: Verify semantic equivalence
# - suggest_annotations: Optimization hints

HTTP API

# Start HTTP server
depyler serve --port 8080 --cors

# API endpoints
curl "http://localhost:8080/health"
curl "http://localhost:8080/api/v1/transpile" \
  -H "Content-Type: application/json" \
  -d '{"code":"def add(a: int, b: int) -> int: return a + b"}'

๐Ÿ—๏ธ Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”     โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”     โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚   Python AST    โ”‚โ”€โ”€โ”€โ”€โ–ถโ”‚      HIR        โ”‚โ”€โ”€โ”€โ”€โ–ถโ”‚   Rust AST      โ”‚
โ”‚  (rustpython)   โ”‚     โ”‚  (Intermediate) โ”‚     โ”‚     (syn)       โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜     โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜     โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
         โ”‚                       โ”‚                        โ”‚
         โ–ผ                       โ–ผ                        โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”     โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”     โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Type Inference  โ”‚     โ”‚  Optimizations  โ”‚     โ”‚ Code Generation โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜     โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜     โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿšฆ CI/CD Integration

GitHub Actions Example

name: Transpile and Verify
on: [push, pull_request]

jobs:
  quality:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: dtolnay/rust-toolchain@stable

      - name: Install depyler
        run: cargo install depyler

      - name: Check Python compatibility
        run: depyler check src/**/*.py

      - name: Transpile to Rust
        run: depyler transpile src/ -o rust/ --verify

      - name: Run quality checks
        run: depyler quality-check src/**/*.py --strict

Toyota Way Quality Standards

This project exemplifies the Toyota Way philosophy through disciplined qualitypractices:

่‡ชๅƒๅŒ– (Jidoka) - Build Quality In

  • ZERO SATD: No TODO, FIXME, HACK, or placeholder implementations
  • ZERO Incomplete: All features fully implemented with unreachable!()removed
  • ZERO High Complexity: No function exceeds cyclomatic complexity of 20
  • 100% Verification: All generated code must compile and pass tests

็พๅœฐ็พ็‰ฉ (Genchi Genbutsu) - Go and See

  • Real-World Testing: Validated against actual Python codebases
  • Performance Profiling: Energy consumption measured on real hardware
  • Direct Debugging: Debug at the generated Rust level, not just HIR

ๆ”นๅ–„ (Kaizen) - Continuous Improvement

  • v1.0.1: Fixed all SATD markers and incomplete implementations
  • v1.0.2: Enhanced string optimization with interning and Cow
  • Next: Lifetime analysis enhancements for better borrowing inference

๐Ÿงช Testing

# Run all tests
cargo test --workspace

# Run with coverage
cargo tarpaulin --out Html

# Run property tests
cargo test --features quickcheck

# Run benchmarks
cargo bench

# Run specific test suites
cargo test -p depyler-core        # Core transpilation
cargo test -p depyler-verify      # Verification
cargo test -p depyler-mcp         # MCP integration

Recent Updates

๐Ÿš€ v2.3.0 - MCP and Quality Enhancements

  • Updated MCP Integration: Upgraded pmcp SDK from 0.6.3 to 1.2.1
  • PMAT Quality Integration: Added automatic quality validation for transpiled code
    • Quality scoring system (0-100) with pass/fail thresholds
    • Automated suggestions for improving code quality
    • Todo task management for multi-file projects
  • New MCP Tools: Added pmat_quality_check tool for validating Rust code quality

๐Ÿงช v2.2.2 - Enhanced Test Coverage & Quality

  • Improved Test Coverage: Achieved 70% line coverage with 350+ tests
    • Added comprehensive property-based tests for core modules
    • Added unit tests for migration_suggestions, direct_rules, lsp, module_mapper
    • Added doctests for all public APIs
    • Fixed interactive tests to be non-blocking in CI
  • Advanced Testing Frameworks: Multiple testing paradigms
    • Property-based testing with custom generators
    • Mutation testing for code robustness
    • Multi-strategy fuzzing (security, unicode, performance)
    • Specialized coverage testing with error path analysis
  • Quality Automation: Continuous monitoring and metrics
    • PMAT metrics dashboard with TDG scoring
    • Automated quality gates and thresholds
    • Performance regression detection
  • CI/CD Integration: Comprehensive GitHub Actions workflows
    • Cross-platform testing matrix (Linux, macOS, Windows)
    • Automated release workflows
    • Quality gate enforcement

๐Ÿ› ๏ธ v2.1.0 - Developer Tooling Suite

  • IDE Integration (LSP): Full Language Server Protocol support
    • Symbol navigation, hover info, completions, diagnostics
    • Go-to-definition and find-references
  • Debugging Support: Source mapping and debugger integration
    • Debug levels: None, Basic (line mapping), Full (variable state)
    • GDB/LLDB script generation
  • Performance Profiling: Analyze transpiled code performance
    • Hot path detection and flamegraph generation
    • Performance predictions and optimization hints
  • Documentation Generation: Auto-generate docs from Python
    • API references, usage guides, migration notes
    • Markdown and HTML output formats

๐Ÿš€ v2.0.0 - Production Ready

  • Optimization Framework: Dead code elimination, constant propagation
  • Enhanced Diagnostics: Context-aware errors with suggestions
  • Migration Analysis: Python-to-Rust idiom recommendations
  • Performance Warnings: Detect O(nยฒ) algorithms and inefficiencies
  • Type Inference: Intelligent parameter and return type suggestions
  • Function Inlining: Smart inlining with cost-benefit analysis

๐ŸŽฏ v1.x Series - Core Features

  • v1.6.0: Extended standard library mappings (20+ modules)
  • v1.5.0: Basic module system and imports
  • v1.4.0: Async/await support
  • v1.3.0: Advanced type features (with statements, iterators)
  • v1.2.0: Full OOP support (classes, methods, properties)
  • v1.1.0: Core language completeness (operators, collections)

๐Ÿค Contributing

We welcome contributions! Please follow our quality standards:

  1. Write tests first - TDD is mandatory
  2. Maintain coverage - 85%+ for all new code
  3. Zero warnings - cargo clippy -- -D warnings
  4. Format code - cargo fmt
  5. Document changes - Update relevant docs

See CONTRIBUTING.md for detailed guidelines.

๐Ÿ“š Documentation

  • API Documentation - Complete Rust API reference
  • User Guide - Getting started tutorial
  • Migration Guide - Python to Rust transition
  • Python-Rust Spec - Language mapping
  • Safety Guarantees - Memory safety analysis
  • MCP Integration - AI assistant integration

๐Ÿšฆ Roadmap

โœ… v2.2 - Enterprise Testing (Released)

  • Property-based testing framework
  • Mutation testing infrastructure
  • Security-focused fuzzing
  • CI/CD integration with quality gates

โœ… v2.1 - Developer Experience (Released)

  • Complete IDE integration with LSP
  • Comprehensive debugging support
  • Performance profiling tools
  • Documentation generation

โœ… v2.0 - Production Ready (Released)

  • Advanced optimization passes
  • Enhanced error reporting
  • Migration suggestions
  • Performance analysis

โœ… v1.x - Feature Complete (Released)

  • Core language support
  • Object-oriented programming
  • Type system enhancements
  • Async/await basics
  • Module system
  • Standard library mappings

๐Ÿ”ฎ v3.0 - Advanced Features (Future)

  • Full generator support with yield
  • Advanced decorator patterns
  • Complete async ecosystem
  • Package management integration

See ROADMAP.md for detailed plans.

๐Ÿ“„ License

Licensed under either of:

  • Apache License, Version 2.0 (LICENSE-APACHE)
  • MIT license (LICENSE-MIT)

at your option.

Built with extreme quality standards by the Depyler team

MCP Server ยท Populars

MCP Server ยท New

    conorluddy

    Context-Pods

    ๐Ÿซ› Local-first Model Context Protocol management suite. Provides an MCP to create and manage other local MCPs. Useful for local Tooling etc.

    Community conorluddy
    vfarcic

    DevOps AI Toolkit

    Intelligent dual-mode agent for deploying applications to ANY Kubernetes cluster through dynamic discovery and plain English governance

    Community vfarcic
    paiml

    Depyler

    Compiles Python to Rust, helping transition off of Python to Energy Efficient and Safe Rust Code

    Community paiml
    campfirein

    Cipher

    Cipher is an opensource memory layer specifically designed for coding agents. Compatible with Cursor, Windsurf, Claude Desktop, Claude Code, Gemini CLI, AWS's Kiro, VS Code, and Roo Code through MCP, and coding agents, such as Kimi K2. Built by https://byterover.dev/

    Community campfirein
    neilberkman

    Clippy ๐Ÿ“Ž

    Unified clipboard tool for macOS that intelligently handles both text and file copying

    Community neilberkman