[package] name = "cloudfront-logs" description = "AWS CloudFront log line parser" version = "0.9.0" edition = "2021" readme = "README.md" homepage = "https://github.com/asaaki/cloudfront-logs" repository = "https://github.com/asaaki/cloudfront-logs" categories = [ "parser-implementations", "data-structures", "encoding", "rust-patterns", "value-formatting", ] keywords = ["cloudfront", "log", "parser", "aws", "parquet"] license = "MIT OR Apache-2.0" exclude = [".assets/*", ".github/*"] # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # docs.rs-specific configuration [package.metadata.docs.rs] # document all features all-features = true # defines the configuration attribute `docsrs` rustdoc-args = ["--cfg", "docsrs"] [[bench]] name = "brwv" path = "benches/borrowed-real-world-validated.rs" harness = false [[bench]] name = "brwu" path = "benches/borrowed-real-world-unvalidated.rs" harness = false [features] # for now we enable all features by default; # this might change in the future. # use default-features = false + features = ["..."] to narrow it to your needs default = ["alloc", "time", "chrono", "parquet"] # when you need owned versions of the structured log data; enabled by default alloc = [] # use typed variants with time's date and time types time = ["alloc", "dep:time"] # use typed variants with chrono's date and time types; # also needed for parquet support as well chrono = ["alloc", "dep:chrono"] # provides parquet (record writer) support parquet = [ "dep:parquet", "dep:parquet_derive", "chrono", ] [dependencies] memchr = "2.7.4" time = { version = "0.3.36", features = ["parsing", "macros"], optional = true } strum = { version = "0.26.3", features = ["derive"] } chrono = { version = "0.4.38", optional = true } parquet = { version = "52.0.0", optional = true } parquet_derive = { version = "52.0.0", optional = true } self_cell = "1.0.4" [dev-dependencies] divan = "0.1.14"