snapbox VS regex-automata

Compare snapbox vs regex-automata and see what are their differences.

snapbox

Snapshot testing for a herd of CLI tests (by assert-rs)

regex-automata

A low level regular expression library that uses deterministic finite automata. (by BurntSushi)
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.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
snapbox regex-automata
6 5
111 349
2.7% -
9.4 0.0
5 days ago 11 months ago
Rust Rust
Apache License 2.0 The Unlicense
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.

snapbox

Posts with mentions or reviews of snapbox. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-03-07.
  • Announcing diff.rs!
    13 projects | /r/rust | 7 Mar 2023
    If needed, here is an example of per-word diffing and highlighting of trailing newline differences.
  • Trycmd just ignores my tests
    1 project | /r/rust | 4 Oct 2022
    I see. I would try writing the same name as in your Cargo.toml. For example, if yours was toml [package] name = "caesor_cipher" I would try bin.name = "caesor_cipher" It seems that trycmd might ignore a test if the bin.name field is incorrect: https://github.com/assert-rs/trycmd/issues/105
  • Rust: A Critical Retrospective
    19 projects | news.ycombinator.com | 19 May 2022
    I find rustdoc lacking for clap. rustdoc does a good job with API reference documentation and is improving in its handling of examples but derive reference and tutorial documentation are a weak point.

    For examples, its improving with the example scraping work (e.g. https://docs.rs/clap/latest/clap/struct.ArgMatches.html#meth...) but testing of example is still lacking. I've written trycmd to help (https://github.com/assert-rs/trycmd).

    For derive reference and tutorial documentation, your choices are

    - A very long, hard to navigate top-level documentation, see https://docs.rs/structopt/latest/structopt/

    - External documentation, see https://serde.rs/

    - Dummy modules to store your documentation (I've seen this used but can't remember one off the top of my head)

    For clap, my documentation examples are best served as programs and we've had a problem with these being broken. The Rust CLI book has a decent strategy for this by pulling in code from external files (https://rust-cli.github.io/book/index.html). I was tempted to do that for clap where example code and output (all verified via trycmd) are pulled into an mdbook site but I've stopped short and just have a README that links out to everything (https://github.com/clap-rs/clap/blob/master/examples/tutoria...). Its not great.

  • Great thanks to the rust community for having a book (sort of like the rust book) for some crates as well. Makes everything infinitely approachable
    4 projects | /r/rust | 30 Dec 2021
    Another problem we found in clap was it was easy for our examples to build but harder to make sure they worked. This is why I wrote trycmd (example "tests").
  • ANN: `trycmd` v0.7.0 released!
    3 projects | /r/rust | 16 Nov 2021
    Would love feedback on on some of the known questions or whatever else is on your mind!
  • trycmd: Snapshot testing for a herd of CLI tests
    1 project | /r/rust | 5 Nov 2021
    The design is inspired by trybuild with thought given to how mdBook books could pull in content so you can verify a code sample, the command for running it, and the output. In considering how to keep clap's website up-to-date, I had this idea and threw it together to see how well it works. Overall, seems good with room for improvement. I'll have to give this a try on a real world program soon.

regex-automata

Posts with mentions or reviews of regex-automata. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-04-20.
  • regex 1.8.0 released (no-op escapes allowed, (?<name>re) syntax added)
    4 projects | /r/rust | 20 Apr 2023
    I believe you're the second person to tell me they were confused by this, so there are probably several others confused but didn't say anything. I've added a warning to the top of regex-automata's README.
  • After years of work and discussion, `once_cell` has been merged into `std` and stabilized
    6 projects | /r/rust | 30 Mar 2023
    For anyone following along at home, we're having a very helpful discussion about the implementation I posted in my sibling comment here: https://github.com/BurntSushi/regex-automata/issues/30
  • Pomsky 0.8 released: A powerful and modern regular expression language
    1 project | /r/rust | 22 Dec 2022
    My current technique only gets applied to alternations of simple literals. But the idea is generalizeable and I speculate that it is actually impactful to generalize it.
  • Rust: A Critical Retrospective
    19 projects | news.ycombinator.com | 19 May 2022
    (I could use '_ => {}' instead of 'None' to save a few more.)

    I do find the 'if let' variant to be a bit easier to read. It's optimizing for a particular and somewhat common case, so it does of course overlap with 'match'. But I don't find this particular overlap to be too bad. It's usually pretty clear when to use one vs the other.

    But like I said, I could live without 'if let'. It is not a major quality of life enhancement to me. Neither will its impending extensions. i.e., 'if let pattern = foo && some_booolean_condition {'.

    [1]: https://github.com/BurntSushi/regex-automata/blob/fbae906823...

    [2]: https://github.com/BurntSushi/regex-automata/blob/fbae906823...

  • Memchr 2.4 now has an implementation of substring search on arbitrary bytes
    7 projects | /r/rust | 3 May 2021
    (The work on regex-automata 0.2 has been underway for over a year now.](https://github.com/BurntSushi/regex-automata/tree/ag/work) There's a lot done, but still a lot more to go. Once that's done, regex proper should be pretty close to a thin layer that glues regex-syntax, regex-automata, memchr and aho-corasick together. I don't currently expect regex to grow any more dependencies than that. And as it is, aho-corasick and memchr are both optional dependencies. Right now, regex-syntax is the only required dependency, but regex-automata will be added to that list.

What are some alternatives?

When comparing snapbox and regex-automata you can also consider the following projects:

clap-rs - A full featured, fast Command Line Argument Parser for Rust

pomsky - A new, portable, regular expression language

typos - Source code spell checker

regex - An implementation of regular expressions for Rust. This implementation uses finite automata and guarantees linear time matching on all inputs.

biscuit - Biscuit research OS

grex - A command-line tool and Rust library with Python bindings for generating regular expressions from user-provided test cases

browser - Create Elm programs that run in browsers!

rust-memchr - Optimized string search routines for Rust.

steam-for-linux - Issue tracking for the Steam for Linux beta client

cargo-public-api - List and diff the public API of Rust library crates between releases and commits. Detect breaking API changes and semver violations via CI or a CLI.

re2 - R interface to Google re2 (C++) regular expression engine