[package] name = "markov" version = "0.9.1" description = "Generate string of text from Markov chain fed by stdin" authors = ["Avril "] edition = "2018" license = "gpl-3.0-or-later" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [features] default = ["compress-chain", "split-newlines", "api"] # Compress the chain data file when saved to disk compress-chain = ["async-compression", "bzip2-sys"] # Treat each new line as a new set to feed instead of feeding the whole data at once split-newlines = [] # Feed each sentance seperately with default /get api, instead of just each line / whole body # # Note that this happens after `split-newlines`. feed-sentance = ["split-sentance"] # Split input buffer's to feed by sentance as well as word boundaries. # # Note that this happens after `split-newlines`. # This feature does nothing if `feed-sentance` is enabled. split-sentance = [] # Always aggregate incoming buffer instead of streaming them # This will make feeds faster but allocate full buffers for the aggregated body # # Large write: ~95ms # # NOTE: This does nothing if `split-newlines` is not enabled always-aggregate = [] # Does nothing on versions 9.0+ hog-buffer = [] # Enable the /api/ route api = [] # Do not wait 2 seconds before starting worker tasks after server instant-init = [] [profile.release] opt-level = 3 lto = "fat" codegen-units = 1 strip=true [dependencies] chain = {package = "markov", version = "1.1.0"} tokio = {version = "0.2", features=["full"]} warp = "0.2" pretty_env_logger = "0.4.0" hyper = "0.13.8" log = "0.4.11" cfg-if = "1.0.0" futures = "0.3.6" serde_cbor = "0.11.1" serde = {version ="1.0", features=["derive"]} toml = "0.5.6" async-compression = {version = "0.3.5", features=["tokio-02", "bzip2"], optional=true} pin-project = "0.4" smallmap = "1.1.5" lazy_static = "1.4.0" once_cell = "1.4.1" bzip2-sys = {version = "0.1.9", optional = true} cidr = {version = "0.1.1", features = ["serde"]} [build-dependencies] rustc_version = "0.2"