Add comprehensive universal_ffi_example showcasing all Universal FFI
features introduced in recent versions. This serves as the canonical
reference for calling Python dynamically without code generation.
New example demonstrates:
- SnakeBridge.call/4 for calling any Python function
- SnakeBridge.get/3 for module attributes
- SnakeBridge.method/4 and attr/3 for ref operations
- SnakeBridge.bytes/1 for explicit binary encoding
- Non-string key maps with integer and tuple keys
- Auto-session management and process isolation
- Bang variants for raising on error
- Streaming patterns with iterators
Updated existing examples:
- dynamic_dispatch_example: Side-by-side comparison of original
Runtime.call_dynamic API vs new SnakeBridge.call convenience API
- types_showcase: Added sections for SnakeBridge.Bytes and non-string
key map serialization with tagged dict wire format
- session_lifecycle_example: Added auto-session demonstrations
including creation, release, recreation, and process isolation
Documentation updates:
- README.md version references updated to 0.7.4
- examples/README.md updated with universal_ffi_example entry
- CHANGELOG.md version header corrected
- Added universal_ffi_example to run_all.sh test suite
All example lock files and registry.json files regenerated with
updated generator hash reflecting 0.7.3 base version.