[package]
name = "fast-html-parser"
version = "0.1.0"
edition.workspace = true
rust-version.workspace = true
license.workspace = true
description = "SIMD-optimized HTML parser for web scraping — fast tokenization, CSS selectors, XPath, encoding detection"
homepage.workspace = true
repository = "https://github.com/nicatdcw/fast-html-parser"
documentation = "https://docs.rs/fast-html-parser"
readme = "../../README.md"
keywords = ["html", "parser", "simd", "web-scraping", "css-selector"]
categories = ["parser-implementations", "web-programming"]
exclude = ["benches/", "tests/"]
[features]
default = ["css-selector", "entity-decode"]
css-selector = ["dep:fhp-selector"]
xpath = ["dep:fhp-selector", "css-selector"]
encoding = ["dep:fhp-encoding"]
async-tokio = ["fhp-tree/async-tokio"]
entity-decode = ["fhp-tree/entity-decode", "fhp-tokenizer/entity-decode"]
simd = []
[dependencies]
fhp-core = { version = "0.1", path = "../fhp-core" }
fhp-tokenizer = { version = "0.1", path = "../fhp-tokenizer", default-features = false }
fhp-tree = { version = "0.1", path = "../fhp-tree", default-features = false }
fhp-selector = { version = "0.1", path = "../fhp-selector", optional = true }
fhp-encoding = { version = "0.1", path = "../fhp-encoding", optional = true }
[dev-dependencies]
criterion = { workspace = true }
tokio = { workspace = true, features = ["macros", "rt", "io-util"] }
tl = "0.7"
scraper = "0.22"
lol_html = "2"
[[bench]]
name = "e2e_bench"
harness = false
[[bench]]
name = "comparison_bench"
harness = false
[[bench]]
name = "profile_bench"
harness = false
[[bench]]
name = "realworld_bench"
harness = false
[[example]]
name = "basic_parse"
[[example]]
name = "web_scraping"
required-features = ["css-selector"]
[[example]]
name = "streaming"
[[example]]
name = "xpath_query"
required-features = ["xpath"]
[[example]]
name = "encoding"
required-features = ["encoding"]
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]