project-error-handling
rust-cpython
Our great sponsors
project-error-handling | rust-cpython | |
---|---|---|
10 | 15 | |
263 | 1,797 | |
0.0% | - | |
0.0 | 2.3 | |
almost 2 years ago | 7 months ago | |
Rust | ||
Apache License 2.0 | 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.
project-error-handling
-
Hey Rustaceans! Got a question? Ask here (16/2023)!
This actually is an example of where the compiler errors could (or should have) maybe provided more help or even the potential solution, it might be worth submitting this to the error handling group.
-
A guide to error handling in Rust
If anyone's interested in helping to shape the future of Rust's built-in error-handling story, there's an error handling project group that's been doing great work recently, e.g. the major effort to move the Error trait into libcore ( https://github.com/rust-lang/project-error-handling/issues/3 ) and stabilizing std::backtrace. You can follow along or get involved via the #project-error-handling channel on the Rust zulip: https://rust-lang.zulipchat.com/
-
Update on the effort to move the Error trait into core
Getting it into alloc would enable usage in a LOT more contexts, like WASM and kernel code. Does this need a distinct tracking issue outside the ticket for moving it to core or would that just add more administrata?
Here's the previous discussion: https://github.com/rust-lang/project-error-handling/issues/11
-
What do you NOT like about Rust?
without trolling https://github.com/rust-lang/project-error-handling exist and is far from having strong conclusion and anyway I will always favor enum Error anyway however I like the idea to have a opaque box in the enum for "this is a opaque error you can't deal with as a user of my api"
-
Possible ergonomic option for error handling: what features are needed for this to work?
IIRC, the Error Handling Project Group is aware of these ideas. If this kind of thing interests you and you want to contribute, you should look into getting involved with that group.
-
Rust: Enums to Wrap Multiple Errors
> you should have the underlying message of the std::io::Error
This is a point of debate[1] among the error-handling working group.
[1]: https://github.com/rust-lang/project-error-handling/issues/4...
rust-cpython
-
How does Rust Python ffi work?
I've never used pyo3, just cpython, but the latter at least let me do things like:
-
Hey, i begin my journey into Rust !
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?
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?
Have you looked into abi_stable, flapigen, interoptopus, cbindgen, PyO3, or rust-cpython?
-
Strengths and applications of Rust
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?
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
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?
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?
hlua or rlua are what you want for Lua, rust-cpython or PyO3 for Python, rutie for Ruby, and possibly deno_core for JavaScript.
-
Python extensions in Rust
I've done it using cpython and pyo3 for performance in scientific computing. Compared to C++ I found using Rust got rid of most debugging across the FFI boundary. Eliminating memory errors and providing clear compilation errors when multithreading made more a difference for me than type safety, though it's not unrelated.
What are some alternatives?
PyO3 - Rust bindings for the Python interpreter
lxml - The lxml XML toolkit for Python
rustpy - Rust + Python = ????
Rustup - The Rust toolchain installer
crate-deps
milksnake - A setuptools/wheel/cffi extension to embed a binary data in wheels
maturin - Build and publish crates with pyo3, cffi and uniffi bindings as well as rust binaries as python packages
rustfix - Automatically apply the suggestions made by rustc
Clippy - A bunch of lints to catch common mistakes and improve your Rust code. Book: https://doc.rust-lang.org/clippy/
setuptools-rust - Setuptools plugin for Rust support
msgpack-rust - MessagePack implementation for Rust / msgpack.org[Rust]
puffin - 🐦 Friendly little instrumentation profiler for Rust 🦀