cryptography VS reqwest

Compare cryptography vs reqwest and see what are their differences.

cryptography

cryptography is a package designed to expose cryptographic primitives and recipes to Python developers. (by pyca)

reqwest

An easy and powerful Rust HTTP Client (by seanmonstar)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
cryptography reqwest
70 57
6,291 9,130
2.5% -
9.9 8.9
about 12 hours ago 1 day ago
Python Rust
GNU General Public License v3.0 or later 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.

cryptography

Posts with mentions or reviews of cryptography. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-01-25.
  • We build X.509 chains so you don't have to
    5 projects | news.ycombinator.com | 25 Jan 2024
    Congratulations to the authors, this was a feature that was dearly missing from pyca/cryptography. It took a long time to get right.

    For the history: https://github.com/pyca/cryptography/issues/2381

  • “Our paying customers need X, when will you fix it?”
    5 projects | news.ycombinator.com | 15 Jul 2023
    Some context:

    - The cryptography dependency used by the current release of mitmproxy has a CVE related to an OpenSSL vulnerability (https://github.com/pyca/cryptography/security/advisories/GHS...)

    - The main branch of mitmproxy has already upgraded to the latest version of the cryptography package

    - The author of the package does not believe the CVE impacts users of mitmproxy so a release including this commit has not been made

  • Creating a password manager
    1 project | /r/learnpython | 19 Jun 2023
    Also you'll use https://github.com/pyca/cryptography
  • Microservice memory profiling
    2 projects | /r/FastAPI | 28 May 2023
    first, I did see a correlation between an endpoint being heavily hit in a given time window, and an increase of memory usage that didn't went down afterwards. The endpoint didn't do much so I went through every instruction - is a global variable appended indefinitely ? Is a cache decorator growing without a limit set ? Do I use a 3rd party that has a known issue ? Turns out, it was using cryptography, so I looked up known issues. Saw an issue about a leak when using load_pem_x509_certificate https://github.com/pyca/cryptography/issues/4833 - which I used ! I could fortunately just upgrade the library
  • [Python] Poésie vs Pipenv vs. pip-tools: Qu’utilisez-vous?
    1 project | /r/enfrancais | 9 Mar 2023
    Après le kerfuffle du paquet de cryptographie cette semaine (https://github.com/pyca/cryptography/issues/5771), J’ai passé en revue l’état des outils de gestion des dépendances en Python.
  • I love building a startup in Rust. I wouldn't pick it again
    11 projects | news.ycombinator.com | 17 Feb 2023
    > A big problem with Rust, long-term, is that the kind of programs that really need it are somewhat out of today's mainstream. It's not that useful for webcrap. It's not that useful for phone apps. The AI people use Jupyter notebooks and Python to drive code on GPUs.

    One thing this is missing is that Rust is useful for libraries callable by many different languages. You may or may not want to use it to build an actual Web app (I personally think it's a solid choice, but reasonable people can disagree). But for building, say, the Python cryptography library [1], which is used as a part of "webcrap" and Jupyter notebooks, Rust is clearly an excellent option. Nobody is going to build core Python infrastructure in Go or Node, and there will always be a need for plumbing libraries.

    [1]: https://github.com/pyca/cryptography

  • The impossible case of pitching rust in a web dev shop
    1 project | /r/rust | 22 Sep 2022
    Also, I see more and more examples where rust gets included in different technologies using FFI. Ie for python https://github.com/pyca/cryptography for security/performance critical pieces.
  • Azure CTO: “It's time to halt starting any new projects in C/C++ ”
    15 projects | news.ycombinator.com | 19 Sep 2022
    > I am curious. Could you give some more context?

    Probably talking about this: https://github.com/pyca/cryptography/issues/5771

  • Zig, the Small Language
    13 projects | news.ycombinator.com | 7 Sep 2022
  • os independent way to convert ssl crt to pem
    1 project | /r/learnpython | 22 Aug 2022
    You will be hard pressed to find a cryptography library that doesn't depend on openssl. Fortunately openssl bindings can be installed on Windows. One of the more popular libraries for python is cryptography, but it does depend on libssl.

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 cryptography and reqwest you can also consider the following projects:

PyCrypto - The Python Cryptography Toolkit

hyper - An HTTP library for Rust

pycryptodome - A self-contained cryptographic library for Python

curl-rust - Rust bindings to libcurl

pyOpenSSL -- A Python wrapper around the OpenSSL library - A Python wrapper around the OpenSSL library

ureq - A simple, safe HTTP client

PyNacl - Python binding to the Networking and Cryptography (NaCl) library

Rocket - A web framework for Rust.

Paramiko - The leading native Python SSHv2 protocol library.

surf - Fast and friendly HTTP client framework for async Rust

Passlib

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