1. Introduction
  2. Getting started
  3. Using Rust from Python
    1. Python modules
    2. Python functions
      1. Function signatures
      2. Error handling
    3. Python classes
      1. Class customizations
        1. Basic object customization
        2. Emulating numeric types
        3. Emulating callable objects
      2. Thread safety
  4. Calling Python from Rust
    1. Python object types
    2. Python exceptions
    3. Calling Python functions
    4. Executing existing Python code
  5. Type conversions
    1. Mapping of Rust types to Python types
    2. Conversion traits
  6. Using async and await
  7. Parallelism
  8. Supporting Free-Threaded Python
  9. Debugging
  10. Features reference
  11. Performance
  12. Advanced topics
  13. Building and distribution
    1. Supporting multiple Python versions
  14. Useful crates
    1. Logging
    2. Using async and await
  15. FAQ and troubleshooting
  16. Appendix A: Migration guide
  17. Appendix B: Trait bounds
  18. Appendix C: Python typing hints
  19. CHANGELOG
  20. Contributing