Paperclip Alternatives
-
actix-web
Actix Web is a powerful, pragmatic, and extremely fast web framework for Rust.
-
fastapi
FastAPI framework, high performance, easy to learn, fast to code, ready for production
-
Scout
Get performance insights in less than 4 minutes. Scout APM uses tracing logic that ties bottlenecks to source code so you know the exact line of code causing performance issues and can get back to building a great product faster.
-
warp
A super-easy, composable, web server framework for warp speeds.
-
rweb
Yet another web server framework for rust
-
Rocket
A web framework for Rust.
-
sqlx
🧰 The Rust SQL Toolkit. An async, pure Rust SQL crate featuring compile-time checked queries without a DSL. Supports PostgreSQL, MySQL, SQLite, and MSSQL. (by launchbadge)
-
okapi
OpenAPI (AKA Swagger) document generation for Rust projects
-
openapi-python-client
Generate modern Python clients from OpenAPI
-
warp_lambda
A super simple adapter crate to let you use warp filters with AWS lambda runtime
-
rust-fastapi-experiments
Posts
-
Replacing FastAPI with Rust: Part 3 - Trying Actix
I got actix-web + Paperclip working with AWS SAM. Development was time consuming, troubleshooting was frustrating, and the end result was fragile and ugly. In future blog posts I will be experimenting with other solutions and hoping for a much nicer result. I'll only return to the actix-web approach if other methods are somehow even worse.
The first bit I tried was following pieces of the official actix-web tutorial in order to get a tiny little web server started locally. This went fine, but was actually a big mistake as that tutorial teaches you to use macros to define endpoints which, at the time of writing, Paperclip does not support.
-
Replacing FastAPI with Rust: Part 2 - Research
The biggest issue with Paperclip is that it only currently supports OpenAPI v2. There is work in progress to add v3 support, but it's just that: in progress. This means that if I really want to supplant FastAPI with this actix-web w/ Paperclip combo, I'm going to have to write my own v3 implementation. There is a GitHub Issue which talks about the intended strategy for achieving this being somehow based on converting a v2 spec to v3. I'm not sure how possible this will be considering there are some important features missing from v2. It makes more sense to me for this to be a different feature via cargo flag (or at least a different module).
Stats
wafflespeanut/paperclip is an open source project licensed under GNU General Public License v3.0 or later which is an OSI approved license.