Explore the creation of 'Ruff', a fast Python linter in Rust that now formats code using Black rules. Learn about the journey of Ruff, Python vs Rust, the future of the project, and challenges faced. Dive into the transition from maintainer to consumer and the complexities of code formatting. Discover the symbiotic relationship between Python and Rust for enhanced development.
Ruff formatter by Charlie Marsh integrates Black rules for efficient Python code formatting.
Future of Ruff includes expanding linter, potentially adding type checking functionalities for static analysis in Python projects.
Deep dives
Rough Python Tool Creation
Creating Rough, a Python tooling project geared towards enhancing performance and scalability compared to standard Python tools. The creator, Charlie Marsh, discusses the genesis of Rough, motivated by the need for more efficient Python tooling solutions built on his experience working at Khan Academy and Spring Discovery.
Formatter Development Challenges
Challenges encountered during the development of Rough's code formatter, focusing on resolving issues related to comment placement within code snippets. The formatter aims to maintain compatibility with Black's code style while offering increased performance, encapsulating the intricacies of Python syntax.
Future Plans for Rough
Future prospects for Rough include enhancing the existing linter and formatter tools, potentially delving into type checking functionalities to offer a comprehensive static analysis tool chain for Python. Additionally, exploring the realm of packaging for Python projects to improve user experiences in managing dependencies.
Rust vs. Python: A Perspective
Comparing Rust and Python, the creator emphasizes Rust's capability to enable high-performance programming and accessibility for systems development, while acknowledging Python's unmatched productivity and ease of use for rapid prototyping and versatile tasks. The discussion highlights the synergies between Rust and Python, envisioning a future where both languages complement each other's strengths in software development.
The Ruff linter is a Python linter written in Rust that is super fast. The people behind Ruff recently released a new tool that is a part of Ruff that allows Ruff to format your Python code using the Black rules.
In this episode, I speak with Charlie Marsh, the original creator of Ruff and the founder of Astral, the company behind Ruff.
In this episode, we talked about:
* The Ruff formatter and linter
* How Ruff came about
* The hardest features to create
* The future of Ruff
* Python vs Rust
* and more!
The Python Show is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.