- Introduction
- 1. Getting started
- 2. Using Rust from Python
- 2.1. Python modules
- 2.2. Python functions
- 2.2.1. Function signatures
- 2.2.2. Error handling
- 2.3. Python classes
- 2.3.1. Class customizations
- 2.3.1.1. Basic object customization
- 2.3.1.2. Emulating numeric types
- 2.3.1.3. Emulating callable objects
- 2.3.2. Thread safety
- 3. Calling Python from Rust
- 3.1. Python object types
- 3.2. Python exceptions
- 3.3. Calling Python functions
- 3.4. Executing existing Python code
- 4. Type conversions
- 4.1. Mapping of Rust types to Python types
- 4.2. Conversion traits
- 5. Using async and await
- 6. Parallelism
- 7. Supporting Free-Threaded Python
- 8. Debugging
- 9. Features reference
- 10. Performance
- 11. Advanced topics
- 12. Building and distribution
- 12.1. Supporting multiple Python versions
- 13. Useful crates
- 13.1. Logging
- 13.2. Using async and await
- 14. FAQ and troubleshooting
- Appendix A: Migration guide
- Appendix B: Trait bounds
- Appendix C: Python typing hints
- CHANGELOG
- Contributing