goformat
Alternative to gofmt with configurable formatting style (indentation etc.) (by mbenkmann)
rust-cpython
Rust <-> Python bindings (by dgrunwald)
goformat | rust-cpython | |
---|---|---|
7 | 15 | |
20 | 1,800 | |
- | - | |
0.0 | 2.3 | |
almost 6 years ago | 7 months ago | |
Go | Rust | |
BSD 3-clause "New" or "Revised" 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.
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.
goformat
Posts with mentions or reviews of goformat.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-03-19.
-
Minimalist Rust formatter as an alternative to rustfmt?
Likewise, gofmt implementing what you argue for resulted in the creation of goformat. There's a limit to how much you can force people on these things and, more importantly, there are formatting decisions which are more than mere bikeshedding in the eyes of the programmers to the point where they consider it more productive to maintain the formatting by hand if that's what it takes.
-
Go is better than Rust (for networked server side applications meant for scale)?
I'm the guy who would only run rustfmt once every week or so, when my codebase was in a clean state where I could use git gui to cherry-pick the changes that were in line with my stubborn insistence on my own style and revert the rest. I'm also the guy who would have considered writing goformat if someone else didn't.
-
Why is rust so pedantic about code formatting and style?
Enough people disagree with that for goformat to exist.
-
rustfmt opt-in instead of opt-out
Same. I used to insist on cargo +nightly rustfmt and a massive stable of "I don't have a portrait-oriented monitor" rustfmt.toml tweaks which I'd only apply when I have a clean git gui on hand to cherry-pick away unwanted changes, but I've mellowed out and the rustfmt handling of things like assert! has evolved so, now, I just put use_small_heuristics = "Max" in my rustfmt.toml as an analogue to the people who choose goformat over gofmt.
-
Need a line-preserving gofmt tool
anyways, regardless of what I think, perhaps this library could help? Or at least be a good starting point to build your own: https://github.com/mbenkmann/goformat
-
What do you NOT like about Rust?
You'd prefer that people like me follow the road the Go ecosystem did and write goformat as a replacement for gofmt or just continue to hand-format everything?
-
Why most rustfmt options are still unstable?
Because Go syntax is ridiculously simple, there's not much room for opinion. And even considering that, there is already an alternative gofmt with custom options.
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?
I've never used pyo3, just cpython, but the latter at least let me do things like:
-
Announcing Rust 1.59.0
And don't forget https://github.com/dgrunwald/rust-cpython to complete the circle
-
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.
What are some alternatives?
When comparing goformat and rust-cpython you can also consider the following projects:
serenity - A Rust library for the Discord API.
PyO3 - Rust bindings for the Python interpreter
project-error-handling - Error handling project group
lxml - The lxml XML toolkit for Python
prettier-plugin-rust - Prettier Rust is an opinionated code formatter that autocorrects bad syntax.
rustpy - Rust + Python = ????
rustfmt - Format Rust code
Rustup - The Rust toolchain installer
crate-deps
genemichaels - Even formats macros
milksnake - A setuptools/wheel/cffi extension to embed a binary data in wheels