rs3cache
setuptools-rust
rs3cache | setuptools-rust | |
---|---|---|
2 | 5 | |
29 | 562 | |
- | 1.2% | |
3.7 | 8.6 | |
about 2 months ago | 6 days ago | |
Rust | Python | |
MIT License | MIT License |
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.
rs3cache
-
Drawing a game map.
I've made a game map renderer myself for a different game. See https://github.com/mejrs/rs3cache/ for how I approached it. The entry point for the rendering logic is here. It dumps png pictures that are suitable for use with a interactive map format such as LeafletJS. See https://mejrs.github.io/. These are also used on the official wiki :)
-
Good use cases for Rust? I'm trying to find a reason to use Rust
https://github.com/mejrs/rs3cache/ documentation -> https://mejrs.github.io/doc/rs3cache/index
setuptools-rust
-
How do i go about building a vidoe conferencing app?
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
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
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.
...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
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
What are some alternatives?
PyO3 - Rust bindings for the Python interpreter
maturin - Build and publish crates with pyo3, cffi and uniffi bindings as well as rust binaries as python packages
serde - Serialization framework for Rust
pybind11 - Seamless operability between C++11 and Python
validator - Simple validation for Rust structs
tokenizers - 💥 Fast State-of-the-Art Tokenizers optimized for Research and Production
Leaflet - 🍃 JavaScript library for mobile-friendly interactive maps 🇺🇦
winsafe-examples - Examples of native Windows applications written in Rust with WinSafe.
opencv-python - Automated CI toolchain to produce precompiled opencv-python, opencv-python-headless, opencv-contrib-python and opencv-contrib-python-headless packages.
json - Strongly typed JSON library for Rust