interoptopus
The polyglot bindings generator for your library (C#, C, Python, …) 🐙 (by ralfbiedert)
cglue
Rust ABI safe code generator (by h33p)
interoptopus | cglue | |
---|---|---|
6 | 10 | |
288 | 168 | |
- | - | |
7.4 | 5.7 | |
26 days ago | 22 days ago | |
Rust | Rust | |
- | 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.
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.
interoptopus
Posts with mentions or reviews of interoptopus.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-02-21.
-
Python Developer Seeking Input: Is it Worth Learning Rust for FFI?
You may want to look at Interpotopus.
-
Calling native Rust code from PowerShell
I also found interoptopus which looks like it can auto-generate the C# bindings, but idk how well it actually works.
-
Interop your .NET application with Rust
Let's first work on the Rust code, what we want to do is to generate a .cs file with all the equivalent bindings and types, doing that by hand is boring and time consuming, luckly there is a library for easily do all the heavy stuff for us called interoptopus.
-
Are there any .NET interop crates? I would like to use C# as GUI frontend for editor in my game
I see you've already been introduced to rnet. Another option would be interoptopus.
-
How can I utilize rust for .net web applications?
interoptopus (The polyglot bindings generator for your library.)
-
CGlue 0.2 is out! Dynamically loadable traits in Rust, C and C++
I recently found a project that does C# and Python bindings very well, it might be worth checking out for collaboration/inspiration. https://github.com/ralfbiedert/interoptopus
cglue
Posts with mentions or reviews of cglue.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-04-23.
-
Any sort of plugin engine with dynamic load ability and any limitations?
Shameless plug - you may want to check out cglue, which lets you mix and match rust versions, and even implement plugins in other languages like C++: https://github.com/h33p/cglue
-
GATs in dynamic traits - CGlue 0.2.12 Release
You can grab CGlue from my GitHub.
-
Plugins in Rust: Wrapping Up
I honestly wouldn't say that much has changed during this year. I do see some progress on new libraries like xlang_abi, safer_ffi or cglue, but it's still too early to know, and existing ones like abi_stable move quite slowly.
-
Designing a Rust -> Rust plugin system
You might wanna take a look at cglue: https://github.com/h33p/cglue
-
Exploring System76's New Rust Based Desktop Environment
Importing Rust is the same process as you'd use to import a C library, but there's a lot of people actively invested in this area so there's likely already automated tooling of some sort. Google uses https://cxx.rs for automating C++ bindings to Rust libraries, and lately there's been experiments like cglue to automate C bindings.
-
CGlue 0.2.4 Is Out For Easier Trait ABI Safety
I'm proud to announce one final CGlue release for this year, the highlight being ability to use layout_checks feature on non-git builds!
-
CGlue 0.2 is out! Dynamically loadable traits in Rust, C and C++
I have just added pre-generated headers, they are now on the repo. Yup, certainly not the cleanest, some whitespaces need fixing, but it wasn't the highest priority as it didn't affect functionality.
-
What are the options of distributing a closed-source library in Rust?
Depending on how big your API surface is (and how trait heavy it is), you may want to look into [shameless_plug] automatically generating it with cglue. That's what we did for memflow. [/shameless_plug] It's goals are not much different from abi_stable (in fact, rather a small subset of it focused on traits), but does create C-compatible code.
-
Plugins in Rust: Diving into Dynamic Loading | nullderef.com
It seems like we are trying to solve roughly the same problems when it comes to loading plugins and keeping it all ABI safe. Might be worth checking out CGlue (full disclosure: it's my project). While I do not have async trait support, it would be a really interesting challenge to tackle. The ultimate goal for the project is to be a dead simple code generator that would even allow to write plugins in C/C++, and I currently have sweeping changes underway to get it there.
What are some alternatives?
When comparing interoptopus and cglue you can also consider the following projects:
cffi - Safe* C foreign function interface for Rust, using proc macros and marshaling types.
libcosmic - WIP library for COSMIC applications
PyO3 - Rust bindings for the Python interpreter
memflow - physical memory introspection framework
svix-webhooks - The enterprise-ready webhooks service 🦀
windows-drivers - Windows Drivers for System76 Open Firmware Machines
abi_stable_crates - Rust-to-Rust ffi,ffi-safe equivalents of std types,and creating libraries loaded at startup.
cbindgen - A project for generating C bindings from Rust code
rnet
safer_ffi - Write safer FFI code in Rust without polluting it with unsafe code
livesplit-core - livesplit-core is a library that provides a lot of functionality for creating a speedrun timer.