setuptools-rust VS rust-cpython

Compare setuptools-rust vs rust-cpython and see what are their differences.

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
setuptools-rust rust-cpython
5 15
557 1,798
1.4% -
8.6 2.3
23 days ago 7 months ago
Python Rust
MIT License MIT License
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.

setuptools-rust

Posts with mentions or reviews of setuptools-rust. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-08-20.
  • How do i go about building a vidoe conferencing app?
    10 projects | /r/rust | 20 Aug 2021
    For Python specifically, In addition to using rust-cpython or PyO3, maturin makes it really comfortable to build, package, and publish Rust code into Python packages and, if your niche doesn't quite fit, there's setuptools-python which might do it.
  • Python extensions in Rust
    4 projects | /r/rust | 13 Aug 2021
    Aside from the PyO3 and rust-cpython crates already mentioned, I'd suggest maturin as a way to integrate your build processes or possibly setuptools-rust.
  • Good use cases for Rust? I'm trying to find a reason to use Rust
    8 projects | /r/rust | 15 Apr 2021
    Compiled modules for Python stuff (I'd recommend PyO3 but the last one I started was before that worked on stable Rust, so I used its progenitor, rust-cpython. See also maturin or setuptools-rust).
  • Can someone help me understand PyO3? I'm not sure how it works.
    2 projects | /r/rust | 24 Feb 2021
    ...but you will need to rename the generated library to match import conventions. setuptools-rust or Maturin can help with that.
  • PyO3: Rust Bindings for the Python Interpreter
    18 projects | news.ycombinator.com | 29 Jan 2021
    Between pyodide, pyo3, rust-cpython, and rustpython, I think Pyo3 is the best way to drop in rust in a python project for a speed up, if that is your goal. Some of the demos show using python from rust, but to me the biggest feature is without a doubt compiling rust code to native python modules. I'm using it to speed up image manipulation backed by numpy arrays.

    There’s a setuptools rust [0] extension package that can be used to hook the compilation of the rust into the wheel building or install from source. Maturin [1] seems to be regarded as the new and improved solution for this, but I found that it’s angled toward the using python from rust.

    There’s also the rust numpy [2] package by the same org which is fantastic in that it lets you pass a numpy matrix to a native method written in rust and convert it to the rust equivalent data structure, perform whatever transformation you want (in parallel using rayon [3]), and return the array. When building for release, I was seeing speed ups of 100x over numpy on the most matrix mathable function imaginable, and numpy is no joke.

    I think there is a lot of potential for these two ecosystems together. If there’s not a python package for something, there’s probably a rust crate.

    If anyone is interested the python package that I'm building with some rust backend, its called pyrogis [4] for making custom image manipulations through numpy arrays.

    https://github.com/PyO3/setuptools-rust

rust-cpython

Posts with mentions or reviews of rust-cpython. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-05-10.
  • How does Rust Python ffi work?
    3 projects | /r/rust | 10 May 2022
    I've never used pyo3, just cpython, but the latter at least let me do things like:
  • Announcing Rust 1.59.0
    1 project | /r/programming | 24 Feb 2022
    And don't forget https://github.com/dgrunwald/rust-cpython to complete the circle
  • Hey, i begin my journey into Rust !
    7 projects | /r/rust | 16 Feb 2022
    For interoperating with Python, check out PyO3 or rust-cpython. (More generally, see Rust Interop and Are We Extending Yet?)
  • Should I learn Rust coming from Python?
    2 projects | /r/rust | 27 Nov 2021
    You probably should learn Rust. Aside from the process of learning new and different languages making you a better programmer, rust-cpython, PyO3, or Interoptopus make it easy to expose Python APIs from your Rust code. (eg. So it's easy to compile the same codebase as both a Python module and a WebAssembly module.)
  • What do you NOT like about Rust?
    18 projects | /r/rust | 21 Nov 2021
    Have you looked into abi_stable, flapigen, interoptopus, cbindgen, PyO3, or rust-cpython?
  • Strengths and applications of Rust
    5 projects | /r/rust | 6 Nov 2021
    Personally, I'm not willing to compromise on my GUI look and feel, so I use PyQt or PySide to write my GUIs against the QWidget API (I'm a KDE user and Python is the only language with mature memory-safe bindings to Qt) and, if the project can be structured with a frontend-backend separation, I use rust-cpython or PyO3 to write a backend in Rust that the Python frontend can import. Sort of using Python/Rust as a QWidget analogue to the QML/C++ architecture promoted for Qt Quick. (Which I don't use because it's still too incomplete on Kubuntu 20.04 LTS.)
  • From Python to Rust, should I?
    3 projects | /r/rust | 2 Nov 2021
    also, check out rust-cpython, PyO3, and maturin, among other things. They're really nice options for using Rust for its strengths and Python for its strengths within the same project.
  • How we built our Python Client that's mostly Rust
    4 projects | dev.to | 27 Aug 2021
    This section uses flapigen to expand the foreign_class macro into many cpython functions as an extension module, and cargo compiles it as a cdylib. If you want to see what that looks like, install cargo-expand and run cargo expand. You'll get a lot of generated rust code.
  • How do i go about building a vidoe conferencing app?
    10 projects | /r/rust | 20 Aug 2021
    For Python specifically, In addition to using rust-cpython or PyO3, maturin makes it really comfortable to build, package, and publish Rust code into Python packages and, if your niche doesn't quite fit, there's setuptools-python which might do it.
  • Does rust have function works like eval?
    9 projects | /r/rust | 19 Aug 2021
    hlua or rlua are what you want for Lua, rust-cpython or PyO3 for Python, rutie for Ruby, and possibly deno_core for JavaScript.

What are some alternatives?

When comparing setuptools-rust and rust-cpython you can also consider the following projects:

maturin - Build and publish crates with pyo3, cffi and uniffi bindings as well as rust binaries as python packages

PyO3 - Rust bindings for the Python interpreter

pybind11 - Seamless operability between C++11 and Python

lxml - The lxml XML toolkit for Python

tokenizers - 💥 Fast State-of-the-Art Tokenizers optimized for Research and Production

rustpy - Rust + Python = ????

winsafe-examples - Examples of native Windows applications written in Rust with WinSafe.

Rustup - The Rust toolchain installer

opencv-python - Automated CI toolchain to produce precompiled opencv-python, opencv-python-headless, opencv-contrib-python and opencv-contrib-python-headless packages.

crate-deps

json - Strongly typed JSON library for Rust

milksnake - A setuptools/wheel/cffi extension to embed a binary data in wheels