Hey everyone,

I've put together a brief investigation on using Rust-backed alternatives
to common Python tools for linting and type checking, using the Beam
repository's Python Linting PreCommit as the testing ground:

https://s.apache.org/beam-python-rust-tooling

The main points:

   - Current linting and static type checking libraries (pylint, flake8,
   mypy) are replaceable through pyrefly and ruff (with the sole exception of
   isort, which has a large amount of extra configuration in the repository
   that ruff cannot replicate yet.)
   - Swapping to the Rust-based tools cuts our linting workflow runtimes by
   about half (saving ~36 days of runtime over 2025)
   - Anecdotally, local use is also much faster and removes a common
   bottleneck for developer velocity

I recommend moving Beam Python to these tools; however, I am interested in
what the broader Beam community thinks about the change. Please take a look
and let me know your thoughts.

Thanks,

Jack McCluskey

-- 


Jack McCluskey
SWE - DataPLS PLAT/ Dataflow ML
RDU
[email protected]

Reply via email to