sparckles/Robyn
sparckles/Robyn has 7,432 GitHub stars and 344 forks. GitHot measured +1 stars in 24 hours, +1 in 7 days, and +5 in 15 days. Last checked 2026-11-08 20:53 UTC. Last push 2026-10-26.
Robyn은 Rust 런타임을 갖춘 매우 빠른 비동기 Python 웹 프레임워크입니다.
What you can do
- Under active development!
- A multithreaded Runtime
- Sync and Async Function Support
- Dynamic URL Routing
측정된 스타 증가
- in 24h
- +1
- in 7 days
- +1
- in 15 days
- +5
- in 1 month
- 기록 수집 중
서로 겹치는 기간의 순증가량이며 일별 합계가 아닙니다. 측정값이 없으면 비워 둡니다. 스타는 관심도를 나타내며 품질을 보장하지 않습니다.
README.md
Original
Robyn
Robyn is a High-Performance, Community-Driven, and Innovator Friendly Web Framework with a Rust runtime. You can learn more by checking our community resources and following us on LinkedIn!
Source: TechEmpower Round 22
📦 Installation
You can simply use Pip for installation.
pip install robyn
Or, with conda-forge
conda install -c conda-forge robyn
To install with all optional features (Pydantic validation, Jinja2 templating):
pip install "robyn[all]"
🤔 Usage
🚀 Define your API
To define your API, you can add the following code in an app.py file.
from robyn import Robyn
app = Robyn(__file__)
@app.get("/")
async def h(request):
return "Hello, world!"
app.start(port=8080)
🏃 Run your code
Simply run the app.py file you created. You will then have access to a server on the localhost:8080, that you can request from an other program. Robyn provides several options to customize your web server.
$ python3 app.py
To see the usage
usage: app.py [-h] [--processes PROCESSES] [--workers WORKERS] [--dev] [--log-level LOG_LEVEL]
Robyn, a fast async web framework with a rust runtime.
options:
-h, --help show this help message and exit
--processes PROCESSES
Choose the number of processes. [Default: 1]
--workers WORKERS Choose the number of workers. [Default: 1]
--dev Development mode. It restarts the server based on file changes.
--log-level LOG_LEVEL
Set the log level name
--create Create a new project template.
--docs Open the Robyn documentation.
--open-browser Open the browser on successful start.
--version Show the Robyn version.
--compile-rust-path COMPILE_RUST_PATH
Compile rust files in the given path.
--create-rust-file CREATE_RUST_FILE
Create a rust file with the given name.
--disable-openapi Disable the OpenAPI documentation.
--fast Enable the fast mode.
Log level can be DEBUG, INFO, WARNING, or ERROR.
When running the app using --open-browser a new browser window will open at the app location, e.g:
$ python3 app.py --open-browser
💻 Add more routes
You can add more routes to your API. Check out the routes in this file as examples.
🐍 Python Version Support
Robyn is compatible with the following Python versions:
Python >= 3.10
It is recommended to use the latest version of Python for the best performances.
Please make sure you have the correct version of Python installed before starting to use this project. You can check your Python version by running the following command in your terminal:
python --version
💡 Features
- Under active development!
- A multithreaded Runtime
- Extensible
- A simple API
- Sync and Async Function Support
- Dynamic URL Routing
- Multi Core Scaling
- WebSockets
- Middlewares (before and after request hooks)
- Built in form data handling
- Dependency Injection
- Hot Reloading
- Direct Rust Integration
- Automatic OpenAPI generation
- Jinja2 Templating
- Static File Serving
- File Responses and Downloads
- Authentication Support
- CORS Configuration
- Streaming / SSE Responses
- Startup and Shutdown Events
- Exception Handling
- SubRouters
- Project Scaffolding via CLI
- Experimental io-uring Support
- 🤖 AI Agent Support - Built-in agent routing and execution
- 🔌 MCP (Model Context Protocol) - Connect to AI applications as a server
- Community First and truly FOSS!
🗒️ How to contribute
🏁 Get started
Please read the code of conduct and go through CONTRIBUTING.md before contributing to Robyn. Feel free to open an issue for any clarifications or suggestions.
If you're feeling curious. You can take a look at a more detailed architecture here.
If you still need help to get started, feel free to reach out on our community discord.
⚙️ To Develop Locally
Prerequisites
Before starting, ensure you have the following installed:
- Python >= 3.10, <= 3.14
- Rust (latest stable)
- C compiler (gcc/clang)
Setup
Clone the repository:
git clone https://github.com/sparckles/Robyn.gitSetup a virtual environment:
python3 -m venv .venv source .venv/bin/activateInstall required packages
pip install pre-commit poetry maturinInstall development dependencies
poetry install --with dev --with testInstall pre-commit git hooks
pre-commit installBuild & install Robyn Rust package
maturin developBuild & install Robyn Rust package (experimental)
maturin develop --cargo-extra-args="--features=io-uring"Run!
poetry run test_serverRun all tests
pytestRun only the integration tests
pytest integration_testsRun only the unit tests (you don't need to be running the test_server for these)
pytest unit_testsTest (refer to
integration_tests/base_routes.pyfor more endpoints)curl http://localhost:8080/sync/strtip: One liners for testing changes!
maturin develop && poetry run test_server maturin develop && pytesttip: For IO-uring support, you can use the following command:
maturin develop --cargo-extra-args="--features=io-uring"tip: To use your local Robyn version in other projects, you can install it using pip:
pip install -e path/to/robyn/target/wheels/robyn-<version>-<python_version>-<platform>.whl
e.g.
pip install -e /repos/Robyn/target/wheels/robyn-0.63.0-cp312-cp312-macosx_10_15_universal2.whl
Troubleshooting
If you face any issues, here are some common fixes:
- install
patchelfwithpip install patchelfif you facepatchelfnot found issue duringmaturin develop(esp. on Arch Linux) - If you get Rust compilation errors, ensure you have a C compiler installed:
- Ubuntu/Debian:
sudo apt install build-essential - Fedora:
sudo dnf install gcc - macOS: Install Xcode Command Line Tools
- Windows: Install Visual Studio Build Tools
- Ubuntu/Debian:
✨ Special thanks
✨ Contributors/Supporters
Thanks to all the contributors of the project. Robyn will not be what it is without all your support :heart:.
Special thanks to the PyO3 community and Andrew from PyO3-asyncio for their amazing libraries and their support for my queries. 💖
✨ Sponsors
These sponsors help us make the magic happen!
Star History
관련 프로젝트 살펴보기
freeCodeCamp/freeCodeCamp
freeCodeCamp.org의 오픈 소스 코드베이스와 커리큘럼입니다. 수학, 프로그래밍, 컴퓨터 과학을 무료로 배울 수 있습니다.
458,776 스타donnemartin/system-design-primer
대규모 시스템 설계 방법을 배우고 시스템 설계 면접을 준비할 수 있습니다. Anki 플래시카드가 포함되어 있습니다.
377,367 스타react/react
웹과 네이티브 사용자 인터페이스를 위한 라이브러리.
252,428 스타vuejs/vue
Vue 2 저장소입니다. Vue 3은 https://github.com/vuejs/core를 방문하세요.
212,631 스타