Robyn: An async Python web framework with a Rust runtime

Kanishk Pachauri (~Mr-Sunglasses)


4

Votes

Description:

Robyn is a fast Python web framework with Rust runtime, growing quickly in popularity with over 500k installs and nearing 2k stars on GitHub. It showcases an architecture of Rust and Python confluence in production to achieve near-native speed, making it an exciting topic for developers.

Python web frameworks such as FastAPI, Flask, Quartz, Tornado, and Twisted are essential for developing high-performance web applications. However, they may also present certain bottlenecks, either due to their synchronous nature or the usage of the Python runtime. To overcome these limitations and increase performance, Robyn was created. Robyn is one of the fastest Python web frameworks in the ecosystem, with a runtime written in Rust. This allows for near-native rust performance while still maintaining the ease of writing Python code. In this talk, we will discuss the reasons for creating Robyn, the technical decisions behind it, such as the use of Rust runtime, and how it achieves near-native Rust performance. Additionally, we will explore how to use Robyn to develop web applications, how the community has helped Robyn grow, and the future plans for its development. I would also like to hear feedback from the developers to see what they want in Robyn and how it can better cater to their needs.

The outline for the talk is as follows:

  1. Introduction (2 minutes)

    • Brief overview of Robyn and its rapid growth in popularity.
    • Mention the architecture of Rust and Python confluence for near-native speed.
  2. Challenges with Traditional Python Web Frameworks (5 minutes)

    • Discussion on common bottlenecks in synchronous Python web frameworks.
    • Limitations imposed by Python runtime.
  3. The Birth of Robyn (3 minutes)

    • Reasons for creating Robyn.
    • Motivation behind using Rust as the runtime.
  4. Robyn's Architecture and Technical Decisions (5 minutes)

    • Explanation of how Robyn leverages Rust for performance.
    • Key technical decisions that differentiate Robyn from other frameworks.
  5. Achieving Near-Native Rust Performance (5 minutes)

    • In-depth exploration of how Robyn achieves high performance.
    • Comparative performance analysis with other Python web frameworks.
  6. Developing Web Applications with Robyn (3 minutes)

    • Introduction to developing web applications using Robyn.
    • Highlighting the ease of writing Python code in the Rust-powered framework.
  7. Community Involvement and Growth (4 minutes)

    • Discuss how the developer community has contributed to Robyn's growth.
    • Success stories and use cases.
  8. Future Development Plans (3 minutes)

    • Roadmap for Robyn's future enhancements and features.
    • Ongoing efforts to improve and evolve the framework.
  9. Conclusion (1 minute)

    • Recap the main points of the talk.
  10. Feedback and Q&A (5 minutes)

    • Engage with the audience to gather feedback on Robyn.
    • Encourage developers to express their needs and suggestions for improvement.

Prerequisites:

As this is a beginner-focused talk, the only prerequisite is Python and a basic overview of how the Internet works.

Speaker Info:

Kanishk Pachauri is a Computer science and engineering Student from New Delhi India, From high school, he was passionate about Open-Source and Free Software. He loves to Contribute to Open-Source Software and he is actively contributing to psf, Robyn and fosscu, he was also the Google Summer of Code intern for 2022 under the Python Software Foundation and currently, he is an Intern at Google in the Google Cloud Team. He loves to share his knowledge of Open-Source and Free Software. Previously he delivered talks at Pydelhi, Pycon France 2023, Pycon Australia 2023, FOSS United Delhi, and FOSSCU conference, and he hosted many sessions to promote the Knowledge of Open-Source Contributions and Community Work and he loves playing around with open-source projects in his free time.

Section: Web & App development
Type: Talks
Target Audience: Beginner
Last Updated: