wick
lol-html
wick | lol-html | |
---|---|---|
4 | 8 | |
462 | 1,400 | |
1.3% | 1.4% | |
9.4 | 5.7 | |
6 months ago | 2 months ago | |
Rust | Rust | |
GNU General Public License v3.0 or later | BSD 3-clause "New" or "Revised" 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.
wick
-
Was Rust Worth It?
> In Wick, we use a script to automatically update inline lint configurations for a few dozen crates.
> https://github.com/candlecorp/wick/blob/28465f8c1492e6588bd2...
Good lord, that is an INCREDIBLE number of lints to disable, and for... what? If you have to disable lints telling you about things like unused/dead code, intentional validation of the language's conventional style, unused/unnecessary allocations, useless/trivial type casts, ... then I really wonder what kind of code is actually being written.
- Wick: Functional, reactive, WebAssembly on both client and server
-
Deploying SQLite-Backed REST Application on Candle Cloud (For Free)
Disclaimer: I work at this company
Candle just released the Candle Cloud (https://cloud.candle.dev) with a generous free tier. This allows for anyone who knows basic SQL to create a backend api application and host the application on the Internet. This is made possible by our framework Wick (https://github.com/candlecorp/wick)
If anyone has any questions or wants any help getting your own idea deployed, I will be watching here or you can join our Discord (https://discord.gg/candle) and we can help you there.
I can't wait to see what you can build!
-
Building a request enrichment proxy with Wick and Pangea
Hi Everyone
We've been deep-diving into our project, Wick (https://github.com/candlecorp/wick).
The idea? Use Wick to build a low-code request enrichment HTTP proxy, and then harness that same functionality for a CLI app.
For those wary of low-code, we've got you covered. There's a dedicated section showcasing how to employ Rust to craft a WebAssembly component. This ensures you can seamlessly embed any intricate logic into the same workflow.
Keen to hear your thoughts.
lol-html
-
Ask HN: A fast, Rust HTML parser that works?
So I'm doing some web scraping in Rust, and so I will need to parse HTML. [scraper](https://docs.rs/scraper/latest/scraper/) (which uses [html5ever](https://github.com/servo/html5ever)) is doing fine except that it's the bottleneck of my application.
So I need a faster parser. I've tried [tl](https://docs.rs/tl/latest/tl/) which would've been perfect except that it doesn't actually work on the HTML I have. When I try to `query_selector` the elements I need, it returns nothing.
[Kuchiki](https://docs.rs/kuchiki/latest/kuchiki/) is abandonded.
I couldn't figure out how to get [lol-html](https://github.com/cloudflare/lol-html) to work for me (it's designed for re-writing HTML, whatever that means). It doesn't seem to have an API to extract the inner text of an element.
[html5gum](https://github.com/untitaker/html5gum) seems to be just an HTML tokenizer, or otherwise just too low-level. I have not yet tried [quick-xml](https://github.com/tafia/quick-xml/) but judging from the README, it's pretty low-level too. I mean, if these are the only options left then I will try them. Otherwise, I would love to use a parser that's faster but as ergonomic as `scraper` or `tl`.
At this point, I would be happy with an Lxml bridge/port of some sort. I don't need to mutate HTML, just parse and read data from it.
-
How much Rust work is actually going on at Cloudflare?
I'm also in the Workers org but I have had a bit of interaction with Rust. There's some Rust in the Workers runtime using lol-html for HTMLRewriter as well as some tooling and there's the full blown workers-rs framework that I work on, but that's about it for the Rust I work on regularly.
- Is there a library for manipulating HTML?
- pup: Parsing HTML at the Command Line
-
Texting Robots: Taming robots.txt with Rust and 34 million tests
Thanks again and happy to answer any questions! My current unreleased Rust projects include a web crawler that uses Tokio + Tokio Console + Reqwest with this crate for robots.txt and a fast text extraction library using lol-html that I am planning to sprinkle with some minimal ML to get Readability.js style intelligent extraction (with training in Python). See Fathom for an example of the ML approach I'll likely take.
-
Like JQ, but for HTML
I’d like to see a tool using lol-html [0] and their CSS selector API as a streaming HTML editor.
[0] https://github.com/cloudflare/lol-html
- Things you can’t do in Rust (and what to do instead)
-
Problems with building a backend app in Rust in 2020
Cloudflare has open sourced lol-html, a "Low output latency streaming HTML parser/rewriter with CSS selector-based API". Is that what you are looking for?
What are some alternatives?
materialize - The data warehouse for operational workloads.
actor-rust-scraper - Experimental scraper in Rust suited for running locally or on the Apify platform. Inspired by Apify SDK.
iggy - Iggy is the persistent message streaming platform written in Rust, supporting QUIC, TCP and HTTP transport protocols, capable of processing millions of messages per second.
tq - Perform a lookup by CSS selector on an HTML input
datafuse - An elastic and reliable Cloud Warehouse, offers Blazing Fast Query and combines Elasticity, Simplicity, Low cost of the Cloud, built to make the Data Cloud easy [Moved to: https://github.com/datafuselabs/databend]
yq - Command-line YAML, XML, TOML processor - jq wrapper for YAML/XML/TOML documents
dozer - Dozer is a real-time data movement tool that leverages CDC from various sources and moves data into various sinks.
tools - all-in collection of productivity scripts, CLI tools, utility libraries, fuse filesystems, and also some stuff
pushpin - A proxy server for adding push to your API, used at the core of Fastly's Fanout service
hq - lightweight command line HTML processor using CSS and XPath selectors
fluvio - Lean and mean distributed stream processing system written in rust and web assembly.
cargo-expand - Subcommand to show result of macro expansion