yaml-rust
walkdir
yaml-rust | walkdir | |
---|---|---|
4 | 5 | |
597 | 1,181 | |
- | - | |
0.0 | 4.3 | |
about 1 month ago | 19 days ago | |
Rust | Rust | |
Apache License 2.0 | The Unlicense |
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.
yaml-rust
-
Project idea: port markdownlint to Rust
Either https://github.com/chyh1990/yaml-rust or https://github.com/dtolnay/serde-yaml for parsing the YAML config file that markdownlint uses
-
Borrow checker not liking recursive walk through a HashMap
Here's the Rust code so far -- the commented portions are my intent via pseudocode. This is part of an implementation where there's a _yaml_hash member that points to yaml_rust's underlying LinkedHashMap. (Also using anyhow's bail! and Result.)
-
How to deal with unmaintained crates? (eg. yaml-rust)
The first thing I did was to find the crate yaml-rust and it seems it isn't really maintained anymore. It has not been updated in a year and there's a lot of PR's and unresolved issues, the CI is broken... So here is my open ended question.
-
YAML and Configuration Files
Currently, my main concern with YAML is that, by the spec, comments are not attached to a particular node (see https://yaml.org/spec/1.2/spec.html#id2767100). As a result, a lot of YAML parsers (like https://github.com/yaml/libyaml and https://github.com/chyh1990/yaml-rust) only filter out the comments during the parsing phase. This makes it less than ideal for a use-case where the configuration file is expected to be modified by both programs and humans.
TOML makes it more trivial to associate comments with a node. This is mainly because the language is simpler though, as the spec is not explicit about that (https://github.com/chyh1990/yaml-rust).
walkdir
-
Project idea: port markdownlint to Rust
https://github.com/BurntSushi/walkdir for discovering markdown files
-
Blazingly fast file search library built in Rust 🔥
The API looks really nice! What is your vision for the project? How is it going to compare to (walkdir)[https://github.com/BurntSushi/walkdir] performance and feature-wise?
-
Git ls-files is Faster Than Fd and Find
> I believe that GNU find is slow because it is specifically written to allow arbitrary filesystem depth as opposed to "open file descriptor limit-limited depth".
I haven't benchmarked find specifically, but I believe the most common Rust library for the purpose, walkdir[1], also allows arbitrary file system recursion depth, and is extremely fast. It was fairly close to some "naive" limited depth code I wrote in C for the same purpose.
I'd be curious to see benchmarks of whether this actually makes a difference.
[1] https://github.com/BurntSushi/walkdir
-
Your favorite Rust CLI utility? I have my top 10 below.
It relies pretty heavily on the walkdir library from burntsushi so kudos to them!
-
Rust, musl and glibc in 2021
Although, I don't think FileType is the only problem. There's also Metadata, which I also had to re-roll: https://github.com/BurntSushi/walkdir/blob/1d7293a5a1ef548ce587a0b08abce5f21571a100/src/os/unix/stat.rs
What are some alternatives?
serde-yaml - Strongly typed YAML library for Rust
parallel-disk-usage - Highly parallelized, blazing fast directory tree analyzer
serde - Serialization framework for Rust
zenith - Zenith - sort of like top or htop but with zoom-able charts, CPU, GPU, network, and disk usage
strictyaml - Type-safe YAML parser and validator.
cligen - Nim library to infer/generate command-line-interfaces / option / argument parsing; Docs at
cue - CUE has moved to https://github.com/cue-lang/cue
loggedfs - LoggedFS - Filesystem monitoring with Fuse
libyaml-rust - LibYAML bindings for Rust
tools
ytt - YAML templating tool that works on YAML structure instead of text
hexyl - A command-line hex viewer