okapi
paperclip
okapi | paperclip | |
---|---|---|
6 | 3 | |
552 | 428 | |
- | - | |
6.8 | 6.0 | |
4 days ago | over 2 years ago | |
Rust | Rust | |
MIT License | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
okapi
-
Looking for a Rust API with automatic documentation and good validation?
It's inspired by others in the space that you might check out: paperclip, okapi, and others.
-
Web frameworks with integrated Open API?
okapi: supports rocket
-
Type-safe OpenAPI server for Rust?
okapi looks decent as well. Has codegen for Rocket: https://github.com/GREsau/okapi
- What libraries do you miss from other languages?
-
Rust and OpenAPI
I have used it the other way around. I created the Rust code and using that to generate the documentation. https://github.com/GREsau/okapi this worked very good. Here is the generated documentation: https://docs.dfstoryteller.com/rapidoc/ This uses the Rust Doc comments to populate the documentation.
-
Replacing FastAPI with Rust: Part 2 - Research
Oh Rocket, you playful muse. I've watched you ascend from my early Rust days; yet each time I reach for you my heart sinks more. This research project of mine led me to okapi, an extension for OpenAPI documentation. And yet, I have to pass once again. While most of the Rust ecosystem blazes toward async, you inch toward it too slowly. Perhaps next time I search for a web framework our paths will align, but until then, I must follow a different orbit.
paperclip
-
Replacing FastAPI with Rust: Part 3 - Trying Actix
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).
What are some alternatives?
vouch-proxy - an SSO and OAuth / OIDC login solution for Nginx using the auth_request module
actix-web - Actix Web is a powerful, pragmatic, and extremely fast web framework for Rust.
openapi-generator - OpenAPI Generator allows generation of API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (v2, v3)
openapi-python-client - Generate modern Python clients from OpenAPI
poem - A full-featured and easy-to-use web framework with the Rust programming language.
rust-fastapi-experiments
fastapi - FastAPI framework, high performance, easy to learn, fast to code, ready for production
not-yet-awesome-rust - A curated list of Rust code and resources that do NOT exist yet, but would be beneficial to the Rust community.
rweb - Yet another web server framework for rust
cloudscraper - A Python module to bypass Cloudflare's anti-bot page.
warp_lambda - A super simple adapter crate to let you use warp filters with AWS lambda runtime