rupy VS reqwest

Compare rupy vs reqwest and see what are their differences.

rupy

HTTP App. Server and JSON DB - Shared Parallel (Atomic) & Distributed (by tinspin)

reqwest

An easy and powerful Rust HTTP Client (by seanmonstar)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
rupy reqwest
31 57
136 9,130
- -
1.1 8.9
about 1 year ago 1 day ago
Java Rust
- Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

rupy

Posts with mentions or reviews of rupy. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-02-17.
  • Considerations for a long-running Raspberry Pi
    11 projects | news.ycombinator.com | 17 Feb 2024
    I have been running a Raspberry 2 cluster for 10 years: http://host.rupy.se

    A few weeks back the first SD card to fail got so corrupted it failed to reboot!

    My key learning is use oversized cards, because then the bitcycle will wear slower!

    I'm going from 32GB to 256/512/1024!

  • What Kind of Asynchronous Is Right for You?
    1 project | news.ycombinator.com | 17 Jun 2023
    How this article does not mention SSE, comet or chunking escapes me.

    What does their definition of event-driven really look like in practice.

    Nobody has a clue.

    Here is the ideal event driven system, it's async-to-async: https://github.com/tinspin/rupy/wiki/Fuse

    The example is not working because I had to shut down the services for multiple reasons, but the high level of it is that you use 4 (potentially different) threads to do one request/response middle man transaction.

    That way you have _zero_ io-wait or idling. I'm surprised nobody has copied this approach since I invented it 10 years ago. I understand why though you need your entire chain to be async and that means rewriting everything and that is a big risk when it's hard to debug.

    But if you succeed you can build something that is 10x perf/watt than all other implementations. Which is going to be important when interest rates go higher and crash our entire industry.

  • An unknown Swedish startup’s €3B bid to build a green rival to AWS
    1 project | news.ycombinator.com | 10 Jun 2023
    The hardware is peaking.

    So software is where you can make the difference: http://host.rupy.se

  • Sandstorm: Open-source platform for self-hosting web app
    15 projects | news.ycombinator.com | 4 Jun 2023
  • You Want Modules, Not Microservices
    11 projects | news.ycombinator.com | 3 Jan 2023
    I think we're all confused over the definition. Also one might understand what all the proponents are talking about better if they think about this more as a process and not some technological solution:

    https://github.com/tinspin/rupy/wiki/Process

    All input I have is you want your code to run on many machines, in fact you want it to run the same on all machines you need to deliver and preferably more. Vertically and horizontally at the same time, so your services only call localhost but in many separate places.

    This in turn mandates a distributed database. And later you discover it has to be capable of async-to-async = no blocking ever anywhere in the whole solution.

    The way I do this is I hot-deploy my applications async. to all servers in the cluster, this is what a cluster node looks like in practice (the name next to Host: is the node): http://host.rupy.se if you click "api & metrics" you'll see the services.

    With this not only do you get scalability, but also redundancy and development is maintained at live coding levels.

  • I wish my web server were in the corner of my room
    9 projects | news.ycombinator.com | 11 Oct 2022
    I have hosted my own web server both physically and codevise since 2014.

    It's on a Raspberry 2 cluster:

    http://host.rupy.se

    Since 2016 i have my own database also coded from scratch:

    http://root.rupy.se

    We need to implement HTTP/1.1 with less bloat, a C non-blocking web server that can share memory between threads is probably the most interesting project for humans right now, is anyone working on that?

  • Ask HN: Free and open source distributed database written in C++ or C
    12 projects | news.ycombinator.com | 16 May 2022
    I have one in Java: https://github.com/tinspin/rupy

    Here is the 2000 lines of code of the entire database: http://root.rupy.se/code?path=/Root.java

    And here you can try it out: http://root.rupy.se

  • Dokku – Free Heroku Alternative
    13 projects | news.ycombinator.com | 14 May 2022
    The smallest PaaS you have ever seen is one order of magnitude larger than mine: https://github.com/tinspin/rupy

    And I bet you the same goes for performance, if not two!

  • Server-Sent Events: the alternative to WebSockets you should be using
    19 projects | news.ycombinator.com | 12 Feb 2022
    The data is here: http://fuse.rupy.se/about.html

    Under Performance. Per watt the fuse/rupy platform completely crushes all competition because of 2 reasons:

    - Event driven protocol design, averages at about 4 messages/player/second (means you cannot do spraying or headshots f.ex. which is another feature in my game design opinion).

    - Java's memory model with atomic concurrency which needs a VM and GC (C++ copied that memory model in C++11, but it failed completely because they lack both VM and GC, but that model is still to this day the one C++ uses), you can read more about this here: https://github.com/tinspin/rupy/wiki

    You can argue those points are bad arguments, but if you look at performance per watt with some consideration for developer friendlyness, I'm pretty sure in 100 years we will still be coding minimalist JavaSE on the server and vanilla C (compiled with C++ compiler) on the client.

  • Jodd – The Unbearable Lightness of Java
    12 projects | news.ycombinator.com | 17 Jan 2022

reqwest

Posts with mentions or reviews of reqwest. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-02-18.
  • The Linux Kernel Prepares for Rust 1.77 Upgrade
    9 projects | news.ycombinator.com | 18 Feb 2024
    > If you are equally picky and constrain yourself to parts of the ecosystem which care about binary size, you still have more options and can avoid size issues.

    What's an example of this for, say, libcurl? On my system it has a tiny number of recursive dependencies, around a dozen. [0] Furthermore if I want to write a C program that uses libcurl I have to download zero bytes of data ... because it's a shared library that is already installed on my system, since so many programs already use it.

    I don't really know the appropriate comparison for Rust. reqwest seems roughly comparable, but it's an HTTP client library, and not a general purpose network client like curl. Obviously curl can do a lot more. Even the list of direct dependencies for reqwest is quite long [1], and it's built on top of another http library [2] that has its own long list of dependencies, a list that includes tokio, no small library itself.

    In terms of final binary size, the installed size of the curl package on my system, which includes both the command line tool and development dependencies for libcurl, is 1875.03 KiB.

    [0] I'm excluding the dependency on the ca-certificates package, since this only provides the certificate chain for TLS and lots of programs rely on it.

    [1] https://crates.io/crates/reqwest/0.11.24/dependencies

    [2] https://crates.io/crates/hyper/0.14.28/dependencies

  • What We Need Instead of "Web Components"
    8 projects | news.ycombinator.com | 22 Dec 2023
  • ReductStore 1.6.0 has been released with new license and client SDK for Rust
    3 projects | dev.to | 15 Aug 2023
    ReductStore was rewritten from C++ to Rust a few months ago. We are delighted to be part of the Rust community and have taken a new step towards Rust with the Client SDK. The SDK is powered by reqwest and enables asynchronous integration of the database into Rust applications:
  • Rust dependency woes
    2 projects | /r/rust | 20 Jun 2023
    From what I could turn up when googling the specific error lines (here), it has something to do with the crate mio not having support for WASM, but I don’t understand what’s being said on this thread.
  • Using Auth0 with Tauri
    1 project | dev.to | 7 May 2023
    You can use the tauri-plugin-deep-link crate to register your app as a protocol handler. After you get your code, you can exchange it for an auth token in the same manner as the Electron guide, but for Rust you can use reqwest for the HTTP call.
  • Authentication system using rust (actix-web) and sveltekit - Automated testing
    3 projects | dev.to | 6 May 2023
    When starting out, we made some design decisions at the backend. The decision will allow us to independently test the service without interfering with the real application using a term called integration testing. We'll utilize two "dev" packages: reqwest and fake. Dev dependencies only get introduced into your application in development or during testing. In production, they are not included:
  • How can I save a blob:<url> to my hard disk? Im currently using Rust to scrape a website, however I dont even know if that is possible
    1 project | /r/rust | 22 Apr 2023
    It's possible, you will want to use crates like https://docs.rs/reqwest/ to download the page and https://docs.rs/scraper/ to extract elements from the page.
  • Becoming Rustacean:Awesome Free Online Resources to Learn Rust Programming
    6 projects | news.ycombinator.com | 11 Apr 2023
    Rust allows me to mainly only run the application to confirm things work from a business perspective.

    For people starting out building stuff in rust - understand that there is a distinction of async code and libraries and can lead to confusing compiler errors if you don't realize there is a distinction. It's simple in hindsight but did cause me to waste hours barking up the wrong trees at first. Other wise just learn about `match` and Result/Option types asap, they're fundamental.

    https://github.com/http-rs/tide tide is great to create an http server / routes

    https://github.com/djc/askama I use this to template out HTML and it checks all my boxes, dynamic data, passing in functions, control flow.

    https://github.com/launchbadge/sqlx sql interface for a variety of backend, async safe.

    https://github.com/seanmonstar/reqwest http client to make requests

    Rust is amazing, don't let the initial few speed bumps discourage you - building real things with rust is no more challenging today than any other modern language stack.

  • This Month in hyper: March 2023
    3 projects | /r/rust | 7 Apr 2023
    Is there any this month in reqwest? I would like to show my interest in https://github.com/seanmonstar/reqwest/issues/39
  • Reqwest cookies feature not working
    1 project | /r/rust | 3 Apr 2023
    The relevant issue seems to be https://github.com/seanmonstar/reqwest/pull/1753

What are some alternatives?

When comparing rupy and reqwest you can also consider the following projects:

huproxy

hyper - An HTTP library for Rust

cmdg - Command line Gmail client

curl-rust - Rust bindings to libcurl

Nullboard - Nullboard is a minimalist kanban board, focused on compactness and readability.

ureq - A simple, safe HTTP client

cakephp-swagger-bake - Automatically generate OpenAPI, Swagger, and Redoc documentation from your existing CakePHP code.

Rocket - A web framework for Rust.

dbmate - :rocket: A lightweight, framework-agnostic database migration tool.

surf - Fast and friendly HTTP client framework for async Rust

Aerospike - Aerospike Database Server – flash-optimized, in-memory, nosql database

actix-web - Actix Web is a powerful, pragmatic, and extremely fast web framework for Rust.