Hi Michael,

Thanks for your insightful suggestions, here are my thoughts.

1. Minimum Python Version: Good point. Let’s support Python >= 3.9, which 
aligns with the Flink Python client, and also eliminates any EOL concerns for 
3.7.

2. Tools(uv, ruff, and mypy): Nice suggestion! As for now, in the first version 
of Python client, I think there will be  basically no hand-written Python to 
lint, except for a few simple examples. However, I think these tools are great, 
and we can introduce them later on.

Best,
Jim

> 2025年8月17日 22:03,Michael Koepf <[email protected]> 写道:
> 
> Hi Jim,
> 
> Thank you for bringing Fluss to the Python ecosystem!
> 
> Since this is the first Python project within Fluss, a few (late) questions 
> from my side around project setup and ecosystem which have not been addressed 
> yet.
> 
> - What is the minimum Python version that will be supported? In the PoC it 
> seems to be 3.7 [1]. However, Python 3.7 is already end-of-life [2]. Maybe we 
> should opt for 3.9, similar to the Flink Python client [3], to keep potential 
> maintenance overhead low? 
> 
> - What do you think about using uv [4] for package and project management? It 
> is compatible with the maturin build backend and offers integration with 
> tools for linting and static type checking.
> 
> - I am not sure how much non-generated Python code there will be in the first 
> version (maybe it's even just generated code from PyO3?). But what tools do 
> you plan to use for linting and static type checking? Personally, I would 
> prefer ruff [5] and mypy [6], but people might have different opinions.
> 
> Thank you.
> 
> --
> Best,
> MKO
> 
> [1] 
> https://github.com/naivedogger/Fluss-Python-Client/blob/4a93bcd3c57db1c3ea7022e10106df73c3aff1fd/python-bindings/pyproject.toml#L10
> [2] https://devguide.python.org/versions/
> [3] 
> https://nightlies.apache.org/flink/flink-docs-master/docs/dev/python/datastream_tutorial/
> [4] https://docs.astral.sh/uv/
> [5] https://docs.astral.sh/ruff/
> [6] https://mypy-lang.org/
> 
> On 2025/08/08 12:01:43 Jim Hu wrote:
>> Hi Fluss community,
>> I’d like to kick off the public discussion on FIP-11¹, which proposes a
>> thin PyO3 wrapper around the existing Rust client so that Python users can
>> read/write Fluss without spinning up a JVM.
>> 
>>   - Goal: Java-SDK parity (streaming & batch reads/writes, DDL, point
>>   queries) but 100 % Pythonic.
>>   - Implementation: PyO3 bridge compiled to a native .so/.pyd; zero-copy,
>>   lock-free, no sockets, no JVM start-up cost.
>>   - Repository: fluss-rust/bindings/python.
>> 
>> I’ve prototyped a minimal PoC at naivedogger/Fluss-Python-Client at
>> python-client
>> <https://github.com/naivedogger/Fluss-Python-Client/tree/python-client>
>> Looking forward to your thoughts.
>> Best regards,
>> Jim
>> [1]
>> https://cwiki.apache.org/confluence/display/FLUSS/FIP-11%3A+Fluss+Python+binding+on+Fluss+Rust


Reply via email to