-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
maturin
Build and publish crates with pyo3, cffi and uniffi bindings as well as rust binaries as python packages
-
SWIG
SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
SkinFixer
SkinFixer aims to make skins possible for Offline-mode servers, and allow for users to change their skin in-game.
I remembered that PyO3 is a thing and I've never used it. I wondered if there were other similar projects out there, or if it was possible to natively build bindings for the following languages:
Could someone point me to resources for this? I've looked and I found Mozilla's uniffi-rs which doesn't seem to support much right now. But I could use some more resources / reading material if someone has them.
Python: PyO3 or rust-cpython plus maturin for packaging. (PyO3 was originally forked from rust-cpython to explore alternative API designs that required a nightly-channel compiler to implement)
Python: PyO3 or rust-cpython plus maturin for packaging. (PyO3 was originally forked from rust-cpython to explore alternative API designs that required a nightly-channel compiler to implement)
Node.js: Neon or napi-rs (Or use Node.js's support for loading WebAssembly modules as /u/mamcx suggested.)
Go: I don't know of anything higher-level than either exposing a C ABI from Rust and then calling it using cgo or using wasmer-go to embed a WebAssembly runtime in your Go program.
Another option is SWIG, but I don't like it too much.
Examples here:- Native rust code- Native function declarations in Java- Library wrapper in Java