jiengup opened a new pull request, #3927: URL: https://github.com/apache/iggy/pull/3927
## Which issue does this PR address? Closes #3896 ## Rationale The Python SDK only supported sending messages to an explicit partition, while the Rust SDK also supports balanced and message-key partitioning. ## What changed? `IggyClient.send_messages()` now accepts a Python `Partitioning` object supporting fixed, balanced, and message-key routing. Existing integer partition IDs remain fully compatible, while string message keys are encoded as UTF-8 and validated against the 1–255 byte limit. Type stubs, tests, and a runnable Python example covering all three strategies are included. ## Local Execution - Passed all 87 tests in `foreign/python/tests/test_message_operations.py` - Passed Rust formatting and Clippy checks - Passed Ruff and Pyrefly checks for the Python SDK and examples - Successfully ran the partitioning example against a local Iggy server - Pre-commit hooks ran and passed ## AI Usage 1. Tool: OpenAI Codex 2. Scope: Repository analysis, PyO3 implementation, tests, type stubs, documentation, and the Python example 3. Verification: Reviewed the generated changes, ran the complete message operations test suite, static checks, pre-commit hooks, and the example against a local server 4. Yes, I can explain every line of the changes -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
